| | #ifndef CAFFE_CROP_LAYER_HPP_ |
| | #define CAFFE_CROP_LAYER_HPP_ |
| |
|
| | #include <utility> |
| | #include <vector> |
| |
|
| | #include "caffe/blob.hpp" |
| | #include "caffe/layer.hpp" |
| | #include "caffe/proto/caffe.pb.h" |
| |
|
| | namespace caffe { |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| |
|
| | template <typename Dtype> |
| | class CropLayer : public Layer<Dtype> { |
| | public: |
| | explicit CropLayer(const LayerParameter& param) |
| | : Layer<Dtype>(param) {} |
| | virtual void LayerSetUp(const vector<Blob<Dtype>*>& bottom, |
| | const vector<Blob<Dtype>*>& top); |
| | virtual void Reshape(const vector<Blob<Dtype>*>& bottom, |
| | const vector<Blob<Dtype>*>& top); |
| |
|
| | virtual inline const char* type() const { return "Crop"; } |
| | virtual inline int ExactNumBottomBlobs() const { return 2; } |
| | virtual inline int ExactNumTopBlobs() const { return 1; } |
| |
|
| | protected: |
| | virtual void Forward_cpu(const vector<Blob<Dtype>*>& bottom, |
| | const vector<Blob<Dtype>*>& top); |
| | virtual void Backward_cpu(const vector<Blob<Dtype>*>& top, |
| | const vector<bool>& propagate_down, const vector<Blob<Dtype>*>& bottom); |
| | virtual void Forward_gpu(const vector<Blob<Dtype>*>& bottom, |
| | const vector<Blob<Dtype>*>& top); |
| | virtual void Backward_gpu(const vector<Blob<Dtype>*>& top, |
| | const vector<bool>& propagate_down, const vector<Blob<Dtype>*>& bottom); |
| |
|
| | Blob<int> offsets; |
| | Blob<int> src_strides_; |
| | Blob<int> dest_strides_; |
| |
|
| | private: |
| | |
| | void crop_copy(const vector<Blob<Dtype>*>& bottom, |
| | const vector<Blob<Dtype>*>& top, |
| | const int* offsets, |
| | vector<int> indices, |
| | int cur_dim, |
| | const Dtype* src_data, |
| | Dtype* dest_data, |
| | bool is_forward); |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | void crop_copy_gpu(const vector<Blob<Dtype>*>& bottom, |
| | const vector<Blob<Dtype>*>& top, |
| | const vector<int>& offsets, |
| | vector<int> indices, |
| | int cur_dim, |
| | const Dtype* src_data, |
| | Dtype* dest_data, |
| | bool is_forward); |
| | }; |
| | } |
| |
|
| | #endif |
| |
|