caffe BaseDataLayer 学习
来源:互联网 发布:ct数据处理软件有哪些 编辑:程序博客网 时间:2024/05/16 23:59
template <typename Dtype>class BaseDataLayer : public Layer<Dtype> { public: explicit BaseDataLayer(const LayerParameter& param);//构造函数 virtual void LayerSetUp(const vector<Blob<Dtype>*>& bottom, const vector<Blob<Dtype>*>& top); virtual void DataLayerSetUp(const vector<Blob<Dtype>*>& bottom, const vector<Blob<Dtype>*>& top) {}//这个函数根据具体的数据层来实现 // 数据层没有bottoms,因此reshaping is trivial. virtual void Reshape(const vector<Blob<Dtype>*>& bottom, const vector<Blob<Dtype>*>& top) {}//这个函数根据具体的数据层来实现 //数据层不存在Backward virtual void Backward_cpu(const vector<Blob<Dtype>*>& top, const vector<bool>& propagate_down, const vector<Blob<Dtype>*>& bottom) {} virtual void Backward_gpu(const vector<Blob<Dtype>*>& top, const vector<bool>& propagate_down, const vector<Blob<Dtype>*>& bottom) {} protected: TransformationParameter transform_param_;//数据转化参数,比如图片的翻转,随机裁剪等(具体看proto里面有哪些操作)。 shared_ptr<DataTransformer<Dtype> > data_transformer_;//根据上面的trainsform_param_来创建的一个类。 bool output_labels_;//数据层存在两种数据,一个是图片数据和标签,如果top的大小等于1的话就没有标签。};
template <typename Dtype>BaseDataLayer<Dtype>::BaseDataLayer(const LayerParameter& param) : Layer<Dtype>(param), transform_param_(param.transform_param()) {//构造函数实现的是调用Layer的构造函数,其次就是对transform_param_就行赋值}template <typename Dtype>void BaseDataLayer<Dtype>::LayerSetUp(const vector<Blob<Dtype>*>& bottom, const vector<Blob<Dtype>*>& top) {//LayerSetUp实现的是是否要输出Labels,并且构造DataTransformer这个类。 if (top.size() == 1) { output_labels_ = false; } else { output_labels_ = true; } data_transformer_.reset( new DataTransformer<Dtype>(transform_param_, this->phase_)); data_transformer_->InitRand(); //子类要设置top的大小 DataLayerSetUp(bottom, top);}
0 0
- caffe BaseDataLayer 学习
- Caffe BaseDataLayer.cpp BasePrefetchingDataLayer.cpp DataLayer.cpp 学习
- caffe学习
- caffe 学习
- caffe学习
- caffe学习
- caffe学习
- caffe学习
- caffe学习
- caffe学习
- caffe学习
- caffe学习
- Caffe caffe.pb.h 学习
- 学习Caffe(一)安装Caffe
- Caffe学习之一caffe安装
- caffe学习之一:caffe安装
- 【caffe学习】学习初探
- caffe 学习资料
- ucos任务调度
- 第11章:多线程
- request、response 中文乱码问题
- 用leangoo怎么添加泳道,拖拽移动泳道?
- js中Math对象的属性方法
- caffe BaseDataLayer 学习
- Win7下安装与使用Qwt
- error: could not open " ...jvm.cfg"
- Window 下redis安装
- 一个等号是赋值操作,==先转换类型再比较,===先判断类型,如果不是同一类型直接为false。
- Easy-ui dialog弹框拖动超出body后无法关闭
- ORA-02049: timeout: distributed transaction waiting for lock
- 欧拉函数——找新朋友(HDU 1286)
- 搭建dwr框架