18 #ifndef itkWeightSetBase_h
19 #define itkWeightSetBase_h
22 #include "vnl/vnl_matrix.h"
23 #include "vnl/vnl_diag_matrix.h"
39 template<
typename TMeasurementVector,
typename TTargetVector>
52 typedef typename TMeasurementVector::ValueType
ValueType;
100 itkGetConstReferenceMacro( Momentum,
ValueType );
103 itkGetConstReferenceMacro( Bias,
ValueType );
105 itkSetMacro( FirstPass,
bool );
106 itkGetConstMacro( FirstPass,
bool );
108 itkSetMacro( SecondPass,
bool );
109 itkGetConstMacro( SecondPass,
bool );
113 itkSetMacro(WeightSetId,
unsigned int);
114 itkGetConstMacro(WeightSetId,
unsigned int);
116 itkSetMacro(InputLayerId,
unsigned int);
117 itkGetConstMacro(InputLayerId,
unsigned int);
119 itkSetMacro(OutputLayerId,
unsigned int);
120 itkGetConstMacro(OutputLayerId,
unsigned int);
128 virtual void PrintSelf( std::ostream& os,
Indent indent )
const ITK_OVERRIDE;
184 #ifndef ITK_MANUAL_INSTANTIATION
185 #include "itkWeightSetBase.hxx"
virtual void PrintSelf(std::ostream &os, Indent indent) const override
vnl_vector< ValueType > m_DB_new
vnl_matrix< ValueType > m_DW_new
This is the itkWeightSetBase class.
vnl_vector< ValueType > m_DB
vnl_matrix< ValueType > m_OutputValues
MersenneTwisterRandomVariateGenerator RandomVariateGeneratorType
ValuePointer GetDeltaBValues()
ValuePointer GetTotalDeltaBValues()
ValuePointer GetPrevDeltaValues()
LightProcessObject Superclass
unsigned int m_NumberOfInputNodes
MersenneTwisterRandom random variate generator.
ValuePointer GetPrev_m_2DWValues()
vnl_matrix< ValueType > m_DW_m
ValuePointer GetPrev_m_2DeltaValues()
virtual void BackwardPropagate(ValuePointer inputerror)
vnl_matrix< ValueType > m_InputErrorValues
vnl_vector< ValueType > m_DB_m_1
void SetConnectivityMatrix(vnl_matrix< int >)
void SetDeltaBValues(ValuePointer)
ValuePointer GetPrevDWValues()
unsigned int m_InputLayerId
virtual void UpdateWeights(ValueType LearningRate)
SmartPointer< const Self > ConstPointer
vnl_matrix< ValueType > m_Del_new
ValueType RandomWeightValue(ValueType low, ValueType high)
vnl_matrix< ValueType > m_InputLayerOutput
vnl_matrix< ValueType > m_Del_m_2
ValuePointer GetPrevDBValues()
unsigned int m_WeightSetId
void SetDWValues(ValuePointer)
virtual ValuePointer GetOutputValues()
ValuePointer GetDeltaValues()
ValuePointer GetWeightValues()
ValuePointer GetPrevDeltaBValues()
vnl_matrix< ValueType > m_Del_m_1
void SetNumberOfOutputNodes(unsigned int n)
vnl_vector< ValueType > m_Delb_m_2
vnl_matrix< ValueType > m_DW_m_1
void SetNumberOfInputNodes(unsigned int n)
vnl_vector< ValueType > m_Delb_m_1
vnl_vector< ValueType > m_Delb_new
SmartPointer< Self > Pointer
unsigned int GetNumberOfOutputNodes() const
void SetRange(ValueType Range)
ValuePointer GetDWValues()
vnl_matrix< ValueType > m_Del
RandomVariateGeneratorType::Pointer m_RandomGenerator
vnl_matrix< int > m_ConnectivityMatrix
unsigned int m_OutputLayerId
vnl_vector< ValueType > m_DB_m_2
TMeasurementVector::ValueType ValueType
unsigned int GetNumberOfInputNodes() const
LightProcessObject is the base class for all process objects (source, filters, mappers) in the Insigh...
ValuePointer GetTotalDeltaValues()
Control indentation during Print() invocation.
vnl_matrix< ValueType > m_DW
virtual void ForwardPropagate(ValuePointer inputlayeroutputvalues)
void SetDeltaValues(ValuePointer)
void SetDBValues(ValuePointer)
vnl_vector< ValueType > m_Delb
unsigned int m_NumberOfOutputNodes
vnl_matrix< ValueType > m_WeightMatrix
const ValueType * ValueConstPointer
void SetWeightValues(ValuePointer weights)
virtual ValuePointer GetInputValues()
vnl_matrix< ValueType > m_DW_m_2