前言:

  由于業(yè)務需要,接觸caffe已經有接近半年,一直忙著閱讀各種論文,重現大大小小的模型. 期間也總結過一些caffe源碼學習筆記,斷斷續(xù)續(xù),這次打算系統(tǒng)的記錄一下caffe源碼學習筆記,鞏固一下C++,同時也梳理一下自己之前的理解。

 

正文:

  我們先不看caffe的框架結構,先介紹一下caffe.proto,是google開源的一種數據交互格式--Google Protobuf,這種數據的格式,我們可以看到caffe.proto中內容:

移動開發(fā)培訓,Android培訓,安卓培訓,手機開發(fā)培訓,手機維修培訓,手機軟件培訓

syntax = "proto2";

package caffe; //caffe.prto中的各個結構封裝在caffe包中,可以通過using namespace caffe; 或者caffe::** 調用// Specifies the shape (dimensions) of a Blob.message BlobShape {
  repeated int64 dim = 1 [packed = true];
}

message BlobProto {
  optional BlobShape shape = 7;
  repeated float data = 5 [packed = true];
  repeated float diff = 6 [packed = true];
  repeated double double_data = 8 [packed = true];
  repeated double double_diff = 9 [packed = true];  // 4D dimensions -- deprecated.  Use&nbs