自问自答系列-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源码学习之总体学习的主要内容,如果未能解决你的问题,请参考以下文章

caffe源码学习之Proto数据格式1

python实用小技巧自问自答系列:查看类中函数文档doc的方法

CP2003-Python做深度学习之Caffe设计实战

问答形式阅读jQuery源码

爬虫学习之webmagic源码剖析

libgdx自问自答