Caffe基本类Blob,Layer,Net
- 可以有多个bottom输出一个top,如concat层。
前向传播源码:
//前向传播
template <typename Dtype>
void ConvolutionLayer<Dtype>::Forward_cpu(const vector<Blob<Dtype>*>& bottom,
const vector<Blob<Dtype>*>& top) {
//blobs_[0]保存权值, blobs_[1]保存偏置
const Dtype* weight = this->blobs_[0]->cpu_data();
//bottom.size()是bottom中blob的数量,等于top中blob的数量,一般情况下为1
for (int i = 0; i < bottom.size(); ++i) {
//获取输入,输出数据指针
const Dtype* bottom_data = bottom[i]->cpu_data();
Dtype* top_data = top[i]->mutable_cpu_data();