24#ifndef ROOT_TMVA_TNeuron
25#define ROOT_TMVA_TNeuron
122 std::cout <<
fValue << std::endl;
136 if (links ==
nullptr)
return 0;
140 if (links !=
nullptr) {
delete links; links =
nullptr; }
#define ClassDef(name, id)
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t index
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void value
ostringstream derivative to redirect and format output
Interface for TNeuron activation function classes.
Neuron class used by TMVA artificial neural network methods.
void AdjustSynapseWeights()
adjust the pre-synapses' weights for each neuron (input neuron has no pre-synapse) this method should...
Double_t fDEDw
sum of all deltas
Double_t GetActivationValue() const
Double_t fDelta
error field of neuron
void ForceValue(Double_t value)
force the value, typically for input and bias neurons
Bool_t IsOutputNeuron() const
TNeuron()
standard constructor
void UpdateSynapsesSequential()
update the pre-synapses for each neuron (input neuron has no pre-synapse) this method should only be ...
void PrintMessage(EMsgType, TString message)
print message, for debugging
TSynapse * PostLinkAt(Int_t index) const
void NullifyLinks(TObjArray *&links)
TActivation * fActivation
activation equation
Bool_t IsInputNeuron() const
void SetActivationEqn(TActivation *activation)
set activation equation
void InitNeuron()
initialize the neuron, most variables still need to be set via setters
Double_t GetDelta() const
void AddPostLink(TSynapse *post)
add synapse as a post-link to this neuron
void SetInputCalculator(TNeuronInput *calculator)
set input calculator
Int_t NumPreLinks() const
void PrintActivationEqn()
print activation equation, for debugging
Double_t fActivationValue
activation/output value
Double_t fValue
input value
void SetError(Double_t error)
set error, this should only be done for an output neuron
TSynapse * PreLinkAt(Int_t index) const
void CalculateValue()
calculate neuron input
TObjArray * fLinksOut
array of output synapses
void CalculateActivationValue()
calculate neuron activation/output
TNeuronInput * fInputCalculator
input calculator
void PrintPostLinks() const
void SetDEDw(Double_t DEDw)
Double_t fError
error, only set for output neurons
TObjArray * fLinksIn
array of input synapses
void UpdateSynapsesBatch()
update and adjust the pre-synapses for each neuron (input neuron has no pre-synapse) this method shou...
Int_t NumPostLinks() const
void DeleteLinksArray(TObjArray *&links)
delete an array of TSynapses
virtual ~TNeuron()
destructor
Bool_t fForcedValue
flag for forced input value
void AddPreLink(TSynapse *pre)
add synapse as a pre-link to this neuron
Double_t GetValue() const
void DeletePreLinks()
delete all pre-links
Int_t NumLinks(TObjArray *links) const
void InitSynapseDeltas()
initialize the error fields of all pre-neurons this method should only be called in batch mode
void PrintPreLinks() const
void CalculateDelta()
calculate error field
virtual void Print(Option_t *="") const
This method must be overridden when a class wants to print itself.
void PrintLinks(TObjArray *links) const
print an array of TSynapses, for debugging
Synapse class used by TMVA artificial neural network methods.
Int_t GetEntriesFast() const
TObject * At(Int_t idx) const override
Mother of all ROOT objects.
This is a simple weighted bidirectional connection between two neurons.
create variable transformations