SmartEngine  1.6.0
Public Member Functions | List of all members
SmartEngine::INeuronLayer Class Referenceabstract

A neuron layer is the trainable unit in the neural network graph. These can chained together to allow the network to learn and represent complex relationships. More...

#include <NeuronLayer.h>

Inheritance diagram for SmartEngine::INeuronLayer:
SmartEngine::IGraphNode SmartEngine::ISerializable SmartEngine::IObject SmartEngine::IObject

Public Member Functions

virtual LayerType GetType () const =0
 Returns the layer's type. More...
 
virtual ObjectPtr< INeuronLayerInstanceLayer (const char *name, IGraphNode *input)=0
 Creates a new INeuronLayer with a different input, but weights shared with this layer. More...
 
virtual void SetRandomWeights ()=0
 Initialize the weights of the layer to random values. More...
 
virtual void Reset ()=0
 Resets the internal state. Should be called periodically on layers that need stepping (LSTM). The period to call this is defined by the sequence length used to train the layer. More...
 
virtual void Step ()=0
 Steps the internal state. Should be after execution of the layer and before new data is put into the layer. Only required to be called for layers that need stepping (LSTM). More...
 
- Public Member Functions inherited from SmartEngine::IGraphNode
virtual const char * GetName () const =0
 Returns the name of the graph node. More...
 
virtual int GetOutputDimension () const =0
 Returns the dimension of a single row of this node's output. The Output property's length will be a multiple of this value. More...
 
virtual ObjectPtr< IMatrixExecute ()=0
 Synchronously execute the graph. The returned matrix is read-only. More...
 
virtual ObjectPtr< IMatrixGetLastExecutionResult ()=0
 Get the results of last execution of the graph. The returned matrix is read-only. More...
 
- Public Member Functions inherited from SmartEngine::IObject
virtual ObjectId GetId () const =0
 Returns the ID of this object. More...
 
virtual void AddRef () const =0
 Increments the internal reference count on this object. It is not common to use this method directly. More...
 
virtual void Release () const =0
 Decrements the internal reference count on this object. It is not common to use this method directly. More...
 
virtual int GetRefCount () const =0
 Returns the number of references to this object. More...
 
virtual void * QueryInterface (ObjectClassId id)=0
 Queries the object for an interface and returns a pointer to that interface if found. More...
 
void operator= (IObject const &x)=delete
 
- Public Member Functions inherited from SmartEngine::ISerializable
virtual SerializationResult Serialize (IMemoryBuffer *buffer)=0
 Write the contents of this object to a buffer. More...
 
virtual SerializationResult Deserialize (IMemoryBuffer *buffer)=0
 Fill this object with contents from a buffer. More...
 

Additional Inherited Members

- Public Attributes inherited from SmartEngine::IObject
 private
 
 __pad0__: IObject() {} IObject(IObject const&) = delete
 

Detailed Description

A neuron layer is the trainable unit in the neural network graph. These can chained together to allow the network to learn and represent complex relationships.

Member Function Documentation

◆ GetType()

virtual LayerType SmartEngine::INeuronLayer::GetType ( ) const
pure virtual

Returns the layer's type.

◆ InstanceLayer()

virtual ObjectPtr<INeuronLayer> SmartEngine::INeuronLayer::InstanceLayer ( const char *  name,
IGraphNode input 
)
pure virtual

Creates a new INeuronLayer with a different input, but weights shared with this layer.

Parameters
nameThe name for the new layer.
inputThe input into the new layer.
Returns

◆ Reset()

virtual void SmartEngine::INeuronLayer::Reset ( )
pure virtual

Resets the internal state. Should be called periodically on layers that need stepping (LSTM). The period to call this is defined by the sequence length used to train the layer.

◆ SetRandomWeights()

virtual void SmartEngine::INeuronLayer::SetRandomWeights ( )
pure virtual

Initialize the weights of the layer to random values.

◆ Step()

virtual void SmartEngine::INeuronLayer::Step ( )
pure virtual

Steps the internal state. Should be after execution of the layer and before new data is put into the layer. Only required to be called for layers that need stepping (LSTM).