Caffe 源码笔记

本文记录阅读caffe源码过程中的笔记

Blob

Blob是一个4维{num, channels, height, width}的数据结构类,实际采用连续的一维数组来存储。

Layer

在layer类中使用的参数LayerParameter是通过ProtoBuf生成的类(一个message)定义在文件src/caffe/proto/caffe.proto

Net

Net类中定义整个模型,对于模型中layer的存储采用的是vector

1
2
3
4
  vector<shared_ptr<Layer<Dtype> > > layers_;
  vector<string> layer_names_;
  map<string, int> layer_names_index_;
  vector<bool> layer_need_backward_;

在该类中还对每一层的中间结果进行了存储

1
2
3
4
  vector<shared_ptr<Blob<Dtype> > > blobs_;
  vector<string> blob_names_;
  map<string, int> blob_names_index_;
  vector<bool> blob_need_backward_;
updatedupdated2021-11-062021-11-06