22 #ifndef SINGA_NEURALNET_NEURON_LAYER_H_
23 #define SINGA_NEURALNET_NEURON_LAYER_H_
26 #include "neuralnet/layer.h"
27 #include "proto/job.pb.h"
41 void Setup(
const LayerProto& proto,
int npartitions)
override;
44 const std::vector<Param*>
GetParams()
const override {
45 std::vector<Param*> params{weight_, bias_};
54 int kernel_, pad_, stride_;
55 int batchsize_, channels_, height_, width_;
56 int col_height_, col_width_, conv_height_, conv_width_, num_filters_;
57 Param* weight_, *bias_;
72 void Setup(
const LayerProto& proto,
int npartitions)
override;
93 void Setup(
const LayerProto& proto,
int npartitions)
override;
94 void ComputeFeature(
int flag,
Metric *perf)
override;
95 void ComputeGradient(
int flag,
Metric* perf)
override;
109 void Setup(
const LayerProto& proto,
int npartitions)
override;
114 int kernel_, pad_, stride_;
115 int batchsize_, channels_, height_, width_, pooled_height_, pooled_width_;
116 PoolingProto_PoolMethod pool_;
124 void Setup(
const LayerProto& proto,
int npartitions);
133 void Setup(
const LayerProto& proto,
int npartitions)
override;
141 void Setup(
const LayerProto& proto,
int npartitions)
override;
145 std::vector<Param*> params{weight_, bias_};
153 Param *weight_, *bias_;
162 void Setup(
const LayerProto& proto,
int npartitions)
override;
177 void Setup(
const LayerProto& proto,
int npartitions)
override;
189 void Setup(
const LayerProto& proto,
int npartitions)
override;
197 std::vector<Param*> params{weight_, bias_};
211 Param* weight_, *bias_;
224 void Setup(
const LayerProto& proto,
int npartitions)
override;
238 void Setup(
const LayerProto& proto,
int npartitions)
override;
248 #endif // SINGA_NEURALNET_NEURON_LAYER_H_
Definition: neuron_layer.h:131
void ComputeFeature(int flag, Metric *perf) override
Compute features of this layer based on connected layers.
int lsize_
size local response (neighbor) area
Definition: neuron_layer.h:101
void ComputeGradient(int flag, Metric *perf) override
Compute gradients for parameters and connected layers.
void Setup(const LayerProto &proto, int npartitions) override
Setup layer properties.
float alpha_
hyper-parameter
Definition: neuron_layer.h:103
void ComputeFeature(int flag, Metric *perf) override
Compute features of this layer based on connected layers.
Definition: neuron_layer.h:107
void ComputeGradient(int flag, Metric *perf) override
Compute gradients for parameters and connected layers.
void Setup(const LayerProto &proto, int npartitions) override
Setup layer properties.
void ComputeGradient(int flag, Metric *perf) override
Compute gradients for parameters and connected layers.
void ComputeFeature(int flag, Metric *perf) override
Compute features of this layer based on connected layers.
void ComputeFeature(int flag, Metric *perf) override
Compute features of this layer based on connected layers.
void ComputeGradient(int flag, Metric *perf) override
Compute gradients for parameters and connected layers.
int hdim_
dimension of the hidden layer
Definition: neuron_layer.h:206
void ComputeFeature(int flag, Metric *perf) override
Compute features of this layer based on connected layers.
void Setup(const LayerProto &proto, int npartitions) override
Setup layer properties.
Base paramter class.
Definition: param.h:93
void ComputeGradient(int flag, Metric *perf) override
Compute gradients for parameters and connected layers.
int batchsize_
shape of the bottom layer feature
Definition: neuron_layer.h:99
void Setup(const LayerProto &proto, int npartitions) override
Setup layer properties.
ConnectionType src_neuron_connection(int k) const override
Return the connection type between one neuron of this layer and its source layer. ...
Definition: neuron_layer.h:48
RBM hidden layer.
Definition: neuron_layer.h:235
int vdim_
dimension of the visible layer
Definition: neuron_layer.h:208
void Setup(const LayerProto &proto, int npartitions) override
Setup layer properties.
Use book-keeping for BP following Caffe's pooling implementation.
Definition: neuron_layer.h:122
void Setup(const LayerProto &proto, int npartitions) override
Setup layer properties.
void ComputeFeature(int flag, Metric *perf) override
Compute features of this layer based on connected layers.
bool gaussian_
if ture, sampling according to guassian distribution
Definition: neuron_layer.h:204
RBM visible layer.
Definition: neuron_layer.h:221
void ComputeGradient(int flag, Metric *perf) override
Compute gradients for parameters and connected layers.
This layer apply Sigmoid function to neuron activations.
Definition: neuron_layer.h:172
void ComputeFeature(int flag, Metric *perf) override
Compute features of this layer based on connected layers.
virtual void ComputeFeature(int flag, Metric *perf)=0
Compute features of this layer based on connected layers.
Local Response Normalization edge.
Definition: neuron_layer.h:92
void ComputeFeature(int flag, Metric *perf) override
Compute features of this layer based on connected layers.
void Setup(const LayerProto &proto, int npartitions) override
Setup layer properties.
void ComputeGradient(int flag, Metric *perf) override
Compute gradients for parameters and connected layers.
virtual void ComputeGradient(int flag, Metric *perf)=0
Compute gradients for parameters and connected layers.
void ComputeFeature(int flag, Metric *perf) override
Compute features of this layer based on connected layers.
const std::vector< Param * > GetParams() const override
Layers that have paramters must override this function.
Definition: neuron_layer.h:44
Use im2col from Caffe.
Definition: neuron_layer.h:64
const std::vector< Param * > GetParams() const override
Layers that have paramters must override this function.
Definition: neuron_layer.h:196
Base layer class.
Definition: layer.h:44
Definition: neuron_layer.h:70
void Setup(const LayerProto &proto, int npartitions) override
Setup layer properties.
void Setup(const LayerProto &proto, int npartitions) override
Setup layer properties.
void ComputeGradient(int flag, Metric *perf) override
Compute gradients for parameters and connected layers.
This layer apply scaled Tan function to neuron activations.
Definition: neuron_layer.h:160
void ComputeFeature(int flag, Metric *perf) override
Compute features of this layer based on connected layers.
void ComputeGradient(int flag, Metric *perf) override
Compute gradients for parameters and connected layers.
Definition: neuron_layer.h:138
Convolution layer.
Definition: neuron_layer.h:37
void ComputeGradient(int flag, Metric *perf) override
Compute gradients for parameters and connected layers.
void ComputeGradient(int flag, Metric *perf) override
Compute gradients for parameters and connected layers.
Performance mtrics.
Definition: common.h:85
void ComputeFeature(int flag, Metric *perf) override
Compute features of this layer based on connected layers.
void Setup(const LayerProto &proto, int npartitions)
Setup layer properties.
Base layer for RBM models.
Definition: neuron_layer.h:186
void Setup(const LayerProto &proto, int npartitions) override
Setup layer properties.
const std::vector< Param * > GetParams() const override
Layers that have paramters must override this function.
Definition: neuron_layer.h:144