Apache SINGA
A distributed deep learning platform .
 All Classes Namespaces Files Functions Variables Typedefs Enumerator Macros
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
singa::SliceLayer Class Reference

Slice the source layer into multiple dst layers on one dimension. More...

#include <base_layer.h>

Inheritance diagram for singa::SliceLayer:
singa::Layer

Public Member Functions

virtual void ComputeFeature (bool training, const vector< shared_ptr< Layer >> &srclayers)
 
virtual void ComputeGradient (const vector< shared_ptr< Layer >> &srclayers)
 
virtual void Setup (const LayerProto &proto, const vector< SLayer > &srclayers)
 Setup layer properties. More...
 
virtual void SetupAfterPartition ()
 Setup the layer properties except shape.
 
virtual void SetupAfterPartition (const LayerProto &proto, const vector< int > &shape, const vector< SLayer > &srclayers)
 Setup the layer properties except shape. More...
 
virtual const Blob< float > & data (const Layer *layer) const
 
virtual const Blob< float > & grad (const Layer *layer) const
 
virtual Blob< float > * mutable_data (const Layer *layer)
 
virtual Blob< float > * mutable_grad (const Layer *layer)
 
- 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 vector< shared_ptr
< Param > > 
GetParams ()
 Layers that have paramters must overload this function. More...
 
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 ConnectionType connection_type (int k) const
 Return connection type between two layers. 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 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 Member Functions

int SliceID (const Layer *layer) const
 

Protected Attributes

vector< Blob< float > > datavec_
 
vector< Blob< float > > gradvec_
 
int slice_dim_
 
int slice_num_
 
- Protected Attributes inherited from singa::Layer
string name_
 
Blob< float > data_
 
Blob< float > grad_
 
LayerProto layer_proto_
 
vector< SLayer > srclayers_
 
vector< SLayer > dstlayers_
 

Detailed Description

Slice the source layer into multiple dst layers on one dimension.

Member Function Documentation

virtual const Blob<float>& singa::SliceLayer::data ( const Layer from) const
virtual
Returns
a const ref for Blob storing neuron values of this layer for BP

Reimplemented from singa::Layer.

virtual Blob<float>* singa::SliceLayer::mutable_grad ( const Layer from)
virtual
Returns
a pointer to storing neuron grads of this layer for BP

Reimplemented from singa::Layer.

virtual void singa::SliceLayer::Setup ( const LayerProto proto,
const vector< SLayer > &  srclayers 
)
virtual

Setup layer properties.

Setup the shapes for data and parameters, also setup some properties based on the layer configuration and connected src layers.

Parameters
srclayerslayers connecting to this layer

Implements singa::Layer.

virtual void singa::SliceLayer::SetupAfterPartition ( const LayerProto proto,
const vector< int > &  shape,
const vector< SLayer > &  srclayers 
)
inlinevirtual

Setup the layer properties except shape.

The shape is already set and passed in to set other properties. properties are set according to shapes of itself and connected layers, and configuration. this should not change the current shape_( shape check is done outside the function).

Implements singa::Layer.


The documentation for this class was generated from the following file: