#ifndef CAFFE_DSPP_LAYER_HPP_ #define CAFFE_DSPP_LAYER_HPP_ #include #include #include #include "caffe/blob.hpp" #include "caffe/common.hpp" #include "caffe/layers/data_layer.hpp" #include "caffe/layer.hpp" #include "caffe/layers/loss_layer.hpp" #include "caffe/layers/neuron_layer.hpp" #include "caffe/proto/caffe.pb.h" namespace caffe { template class DSPPLayer : public Layer { public: explicit DSPPLayer(const LayerParameter& param) : Layer(param) {} virtual void LayerSetUp(const vector*>& bottom, const vector*>& top); virtual void Reshape(const vector*>& bottom, const vector*>& top); virtual inline const char* type() const { return "DSPPLayer"; } virtual inline int ExactNumBottomBlobs() const { return 2; }; virtual inline int MinTopBlobs() const { return 1; } protected: virtual void Forward_cpu(const vector*>& bottom, const vector*>& top); //virtual void Forward_gpu(const vector*>& bottom, // const vector*>& top); virtual void Backward_cpu(const vector*>& top, const vector& propagate_down, const vector*>& bottom); //virtual void Backward_gpu(const vector*>& top, // const vector& propagate_down, const vector*>& bottom); int width_; int height_; int channel_; int num_; }; } // namespace caffe #endif // CAFFE_DSPP_LAYER_HPP_