| 19 | */ |
| 20 | template <typename Dtype> |
| 21 | class BaseDataLayer : public Layer<Dtype> { |
| 22 | public: |
| 23 | explicit BaseDataLayer(const LayerParameter& param); |
| 24 | // LayerSetUp: implements common data layer setup functionality, and calls |
| 25 | // DataLayerSetUp to do special data layer setup for individual layer types. |
| 26 | // This method may not be overridden except by the BasePrefetchingDataLayer. |
| 27 | virtual void LayerSetUp(const vector<Blob<Dtype>*>& bottom, |
| 28 | const vector<Blob<Dtype>*>& top); |
| 29 | virtual void DataLayerSetUp(const vector<Blob<Dtype>*>& bottom, |
| 30 | const vector<Blob<Dtype>*>& top) {} |
| 31 | // Data layers have no bottoms, so reshaping is trivial. |
| 32 | virtual void Reshape(const vector<Blob<Dtype>*>& bottom, |
| 33 | const vector<Blob<Dtype>*>& top) {} |
| 34 | |
| 35 | virtual void Backward_cpu(const vector<Blob<Dtype>*>& top, |
| 36 | const vector<bool>& propagate_down, const vector<Blob<Dtype>*>& bottom) {} |
| 37 | virtual void Backward_gpu(const vector<Blob<Dtype>*>& top, |
| 38 | const vector<bool>& propagate_down, const vector<Blob<Dtype>*>& bottom) {} |
| 39 | |
| 40 | protected: |
| 41 | TransformationParameter transform_param_; |
| 42 | shared_ptr<DataTransformer<Dtype> > data_transformer_; |
| 43 | bool output_labels_; |
| 44 | }; |
| 45 | |
| 46 | template <typename Dtype> |
| 47 | class Batch { |
nothing calls this directly
no outgoing calls
no test coverage detected