Apache SINGA
A distributed deep learning platform .
|
Convolution layer. More...
#include <layer.h>
Public Member Functions | |
virtual void | Setup (const LayerProto &proto, const vector< SLayer > &srclayers) |
Setup layer properties. More... | |
virtual void | SetupAfterPartition (const LayerProto &proto, const vector< int > &shape, const vector< SLayer > &srclayers) |
need to reset some properties (e.g., weight matrix) according to shapes (after partition, e.g., partition is done against channel dimension) | |
virtual void | ComputeFeature (bool training, const vector< shared_ptr< Layer >> &srclayers) |
virtual void | ComputeGradient (const vector< shared_ptr< Layer >> &srclayers) |
virtual vector< shared_ptr < Param > > | GetParams () |
Layers that have paramters must overload this function. More... | |
virtual ConnectionType | connection_type (int k) const |
Return connection type between two layers. More... | |
Public Member Functions inherited from singa::Layer | |
virtual void | Init (const LayerProto &proto) |
Layer initialization. More... | |
void | Init (const Layer &other, const vector< int > &shape) |
Copy layer configuration from the other Layer, and use the shape argument to as its data shape. | |
virtual void | ToProto (LayerProto *layer_proto, bool copyData) |
TODO(wangsheng) Marshal layer properties and data into google protobuf object (i.e., snapshot). More... | |
virtual void | Setup () |
Setup layer properties. More... | |
virtual void | SetupAfterPartition () |
Setup the layer properties except shape. | |
virtual void | ComputeFeature (bool training, const vector< SLayer > &srclayers)=0 |
Compute features of this layer based on connected layers. More... | |
virtual void | ComputeFeature (bool training) |
virtual void | ComputeGradient (const vector< SLayer > &srclayers)=0 |
Compute gradients for parameters and connecting layers. More... | |
virtual void | ComputeGradient () |
Compute gradients for parameters and connecting layers. | |
virtual int | partition_dimension () const |
Decide on which dimension to do the partitioning. More... | |
virtual PartitionType | partition_type () const |
virtual void | set_partitionid (int id) |
partition id is the ID of the layer in the original layer. | |
virtual int | partitionid () const |
virtual void | set_name (string name) |
virtual const string | type () const |
const std::string & | name () const |
Return name of this layer. | |
const std::string & | datablob () const |
const vector< int > & | shape (const Layer *layer) const |
virtual const Blob< float > & | data (const Layer *from) const |
virtual Blob< float > * | mutable_data (const Layer *from) |
virtual const Blob< float > & | grad (const Layer *from) const |
virtual Blob< float > * | mutable_grad (const Layer *from) |
virtual const vector< SLayer > | srclayers () const |
return LayerS that connected to this layer | |
virtual const vector< SLayer > | dstlayers () const |
return LayerS that this layer connected to | |
virtual const int | srclayers_size () const |
virtual const int | dstlayers_size () const |
virtual void | ClearDstLayers () |
virtual void | ClearSrcLayers () |
virtual void | AddSrcLayer (SLayer src) |
virtual void | AddDstLayer (SLayer dst) |
virtual bool | is_datalayer () const |
virtual bool | is_parserlayer () const |
virtual bool | is_losslayer () const |
virtual bool | is_bridgesrclayer () const |
virtual bool | is_bridgedstlayer () const |
Protected Attributes | |
int | kernel_ |
int | pad_ |
int | stride_ |
int | batchsize_ |
int | channels_ |
int | height_ |
int | width_ |
int | col_height_ |
int | col_width_ |
int | conv_height_ |
int | conv_width_ |
int | num_filters_ |
shared_ptr< Param > | weight_ |
shared_ptr< Param > | bias_ |
Blob< float > | col_data_ |
Blob< float > | col_grad_ |
Protected Attributes inherited from singa::Layer | |
string | name_ |
Blob< float > | data_ |
Blob< float > | grad_ |
LayerProto | layer_proto_ |
vector< SLayer > | srclayers_ |
vector< SLayer > | dstlayers_ |
Convolution layer.
|
inlinevirtual |
Return connection type between two layers.
Currently support two connections: kOneToOne, and kOneToAll. kOneToOne indicates the dst neuron depends on only one neuron from src layer. kOneToAll indicates the dst neuron depends on all neurons from src layer. TODO support kOneToMany.
Reimplemented from singa::Layer.
|
inlinevirtual |
Layers that have paramters must overload this function.
Reimplemented from singa::Layer.
|
virtual |
Setup layer properties.
Setup the shapes for data and parameters, also setup some properties based on the layer configuration and connected src layers.
srclayers | layers connecting to this layer |
Implements singa::Layer.