Apache SINGA
A distributed deep learning platform .
|
Connect a single (src) layer with multiple (dst) layers. More...
#include <connection_layer.h>
Public Member Functions | |
void | Setup (const LayerProto &proto, int npartitions) override |
Setup layer properties. More... | |
void | ComputeFeature (int flag, Metric *perf) override |
Compute features of this layer based on connected layers. More... | |
void | ComputeGradient (int flag, Metric *perf) override |
Compute gradients for parameters and connected layers. More... | |
Public Member Functions inherited from singa::Layer | |
virtual const std::vector < Param * > | GetParams () const |
Layers that have paramters must override this function. More... | |
virtual ConnectionType | src_neuron_connection (int k) const |
Return the connection type between one neuron of this layer and its source layer. More... | |
virtual ConnectionType | dst_layer_connection () const |
Return the connection type of this layer and all dst layers. More... | |
virtual const std::string | DebugString (int step, int flag) |
For print debug info about each layer, e.g., norm of feature vector, norm of parameters. More... | |
int | partition_dim () const |
int | partition_id () const |
int | type () const |
const std::string & | name () const |
Return name of this layer. | |
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) |
const std::vector< Layer * > | srclayers () const |
return LayerS that connected to this layer | |
const std::vector< Layer * > | dstlayers () const |
return LayerS that this layer connected to | |
int | srclayers_size () const |
int | dstlayers_size () const |
void | clear_dstlayers () |
void | clear_srclayers () |
void | add_srclayer (Layer *src) |
void | add_dstlayer (Layer *dst) |
Additional Inherited Members | |
Static Public Member Functions inherited from singa::Layer | |
static Layer * | Create (const LayerProto &proto) |
Protected Attributes inherited from singa::Layer | |
LayerProto | layer_proto_ |
Blob< float > | data_ |
Blob< float > | grad_ |
std::vector< Layer * > | srclayers_ |
std::vector< Layer * > | dstlayers_ |
Connect a single (src) layer with multiple (dst) layers.
It slices the feature Blob (i.e., matrix) of the src layer on one dimension. The sliced feature Blobs will be fed into dst layers.
|
overridevirtual |
Compute features of this layer based on connected layers.
perf | pointer to Metric obj for collect and aggregate performance |
Implements singa::Layer.
|
overridevirtual |
Compute gradients for parameters and connected layers.
flag | used to get the calling phase, e.g., forward of training (kForward | kTrain) |
flag | used to get the calling phase, e.g., forward of training |
Implements singa::Layer.
|
overridevirtual |
Setup layer properties.
Setup the shapes for data and parameters, also setup some properties based on the layer configuration and connected layers.
proto | layer configuration. |
npartitions | num of total partitions of the original layer. This layer should be setup as one partition. |
Reimplemented from singa::Layer.