18 #ifndef itkTwoHiddenLayerBackPropagationNeuralNetwork_h
19 #define itkTwoHiddenLayerBackPropagationNeuralNetwork_h
43 template<
typename TMeasurementVector,
typename TTargetVector>
76 void Initialize() ITK_OVERRIDE;
78 itkSetMacro(NumOfInputNodes,
unsigned int);
79 itkGetConstReferenceMacro(NumOfInputNodes,
unsigned int);
81 itkSetMacro(NumOfFirstHiddenNodes,
unsigned int);
82 itkGetConstReferenceMacro(NumOfFirstHiddenNodes,
unsigned int);
84 itkSetMacro(NumOfSecondHiddenNodes,
unsigned int);
85 itkGetConstReferenceMacro(NumOfSecondHiddenNodes,
unsigned int);
87 #ifdef __USE_OLD_INTERFACE
89 inline void SetNumOfHiddenNodes1(
unsigned int x) { SetNumOfFirstHiddenNodes(x); }
90 inline unsigned int GetNumOfHiddenNodes1(
void)
const {
return GetNumOfFirstHiddenNodes(); }
91 inline void SetNumOfHiddenNodes2(
unsigned int x) { SetNumOfSecondHiddenNodes(x); }
92 inline unsigned int GetNumOfHiddenNodes2(
void)
const {
return GetNumOfSecondHiddenNodes(); }
95 itkSetMacro(NumOfOutputNodes,
unsigned int);
96 itkGetConstReferenceMacro(NumOfOutputNodes,
unsigned int);
98 itkSetMacro(FirstHiddenLayerBias, ValueType);
99 itkGetConstReferenceMacro(FirstHiddenLayerBias, ValueType);
101 itkSetMacro(SecondHiddenLayerBias, ValueType);
102 itkGetConstReferenceMacro(SecondHiddenLayerBias, ValueType);
104 itkSetMacro(OutputLayerBias, ValueType);
105 itkGetConstReferenceMacro(OutputLayerBias, ValueType);
107 virtual NetworkOutputType GenerateOutput(TMeasurementVector samplevector) ITK_OVERRIDE;
109 void SetInputFunction(InputFunctionInterfaceType* f);
110 void SetInputTransferFunction(TransferFunctionInterfaceType* f);
111 void SetFirstHiddenTransferFunction(TransferFunctionInterfaceType* f);
112 void SetSecondHiddenTransferFunction(TransferFunctionInterfaceType* f);
113 void SetOutputTransferFunction(TransferFunctionInterfaceType* f);
117 TwoHiddenLayerBackPropagationNeuralNetwork();
121 virtual void PrintSelf( std::ostream& os,
Indent indent )
const ITK_OVERRIDE;
144 #ifndef ITK_MANUAL_INSTANTIATION
145 #include "itkTwoHiddenLayerBackPropagationNeuralNetwork.hxx"
ValueType m_FirstHiddenLayerBias
This is the itkTwoHiddenLayerBackPropagationNeuralNetwork class.
Superclass::TargetVectorType TargetVectorType
virtual ~TwoHiddenLayerBackPropagationNeuralNetwork() override
unsigned int m_NumOfOutputNodes
Superclass::MeasurementVectorType MeasurementVectorType
Superclass::LayerVectorType LayerVectorType
TransferFunctionInterfaceType::Pointer m_FirstHiddenTransferFunction
SmartPointer< Self > Pointer
Superclass::TransferFunctionInterfaceType TransferFunctionInterfaceType
MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, BackPropagationLayer< TMeasurementVector, TTargetVector > > Superclass
ValueType m_OutputLayerBias
Superclass::InputFunctionInterfaceType InputFunctionInterfaceType
Superclass::LearningLayerType LearningLayerType
Superclass::NetworkOutputType NetworkOutputType
Superclass::LayerInterfaceType LayerInterfaceType
InputFunctionInterfaceType::Pointer m_InputFunction
TransferFunctionInterfaceType::Pointer m_OutputTransferFunction
TransferFunctionInterfaceType::Pointer m_SecondHiddenTransferFunction
TwoHiddenLayerBackPropagationNeuralNetwork Self
Superclass::WeightVectorType WeightVectorType
MeasurementVectorType::ValueType ValueType
ValueType m_SecondHiddenLayerBias
This is the itkMultilayerNeuralNetworkBase class.
unsigned int m_NumOfInputNodes
Superclass::ValueType ValueType
unsigned int m_NumOfFirstHiddenNodes
Control indentation during Print() invocation.
SmartPointer< const Self > ConstPointer
Base class for all data objects in ITK.
TransferFunctionInterfaceType::Pointer m_InputTransferFunction
unsigned int m_NumOfSecondHiddenNodes