Caffe.proto使用

参考 http://blog.csdn.net/qq_16055159/article/details/45115359

书写.proto文件

作用:编写一个 proto 文件,定义我们程序中需要处理的结构化数据,在 protobuf 的术语中,结构化数据被称为 Message。proto 文件非常类似 java 或者 C 语言的数据定义。

编译.proto文件

protoc -I=$SRC_DIR --cpp_out=$DST_DIR $SRC_DIR/addressbook.proto

lm.helloworld.pb.h 定义了C++类的头文件

lm.helloworld.pb.cc C++类的实现文件

在生成的头文件中,定义了一个 C++ 类 helloworld,后面的 Writer 和 Reader 将使用这个类来对消息进行操作。诸如对消息的成员进行赋值,将消息序列化等等都有相应的方法。

编写writer和Reader

在 Writer 代码中,将要存入磁盘的结构化数据由一个 lm::helloworld 类的对象表示,它提供了一系列的 get/set 函数用来修改和读取结构化数据中的数据成员,或者叫 field。

Caffe.proto中几个重要数据模型

完成不同结构类参数定义的操作

Blob Proto blob的属性以及blob中的数据(datadiff)

Datum 图像数据

LayerParameter 层参数

NetParameter 网络参数

SolverParameter Solvr文件参数

原文地址:https://www.cnblogs.com/Victory-walt/p/5591170.html