#ifndef CAFFE_NEURON_LAYER_HPP_ #define CAFFE_NEURON_LAYER_HPP_ #include #include "caffe/blob.hpp" #include "caffe/layer.hpp" #include "caffe/proto/caffe.pb.h" namespace caffe { /** * @brief An interface for layers that take one blob as input (@f$ x @f$) * and produce one equally-sized blob as output (@f$ y @f$), where * each element of the output depends only on the corresponding input * element. */ template class NeuronLayer : public Layer { public: explicit NeuronLayer(const LayerParameter& param) : Layer(param) {} virtual void Reshape(const vector*>& bottom, const vector*>& top); virtual inline int ExactNumBottomBlobs() const { return 1; } virtual inline int ExactNumTopBlobs() const { return 1; } }; } // namespace caffe #endif // CAFFE_NEURON_LAYER_HPP_