自问自答系列-caffe源码学习之总体学习
Posted 小萝、卜
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自问自答系列-caffe源码学习之总体学习相关的知识,希望对你有一定的参考价值。
1.Caffe的主要等级有哪些?
blob:存储相关数据。layer:从底层数据到顶层数据。net:许多layer,计算梯度,前向,反向。solver:利用梯度更新权重。,
2.Protoclo Buffers:
Google Protocol Buffer( 简称 Protobuf) 是 Google 公司内部的混合语言数据标准,目前已经正在使用的有超过 48,162 种报文格式定义和超过 12,183 个 .proto 文件。他们用于 RPC 系统和持续数据存储系统。
Protocol Buffers 是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化。它很适合做数据存储或 RPC 数据交换格式。可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。目前提供了 C++、Java、Python 三种语言的 API。
书写proto:书写一个proto文件,定义我们要处理的数据。结构化数据被称为Message。
例子1:
package lm; message helloworld { required int32 id = 1; // ID required string str = 2; // str optional int32 opt = 3; //optional field }
在上例中,package 名字叫做 lm,定义了一个消息 helloworld,该消息有三个成员,类型为 int32 的 id,另一个为类型为 string 的成员 str。opt 是一个可选的成员,即消息中可以不包含该成员。
而存储和交换正是 Protobuf 最有效的应用领域。
以上是关于自问自答系列-caffe源码学习之总体学习的主要内容,如果未能解决你的问题,请参考以下文章