posibility to modify activation/basis function
This commit is contained in:
@@ -110,6 +110,10 @@ namespace NeuralNetwork
|
|||||||
*/
|
*/
|
||||||
virtual ActivationFunction::ActivationFunction& getActivationFunction() =0;
|
virtual ActivationFunction::ActivationFunction& getActivationFunction() =0;
|
||||||
|
|
||||||
|
virtual void setBasisFunction(const BasisFunction::BasisFunction& basisFunction) =0;
|
||||||
|
|
||||||
|
virtual void setActivationFunction(const ActivationFunction::ActivationFunction &activationFunction) =0;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief id is identificator if neuron
|
* @brief id is identificator if neuron
|
||||||
*/
|
*/
|
||||||
@@ -167,6 +171,17 @@ namespace NeuralNetwork
|
|||||||
virtual ActivationFunction::ActivationFunction& getActivationFunction() override {
|
virtual ActivationFunction::ActivationFunction& getActivationFunction() override {
|
||||||
return *activation;
|
return *activation;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
virtual void setBasisFunction(const BasisFunction::BasisFunction& basisFunction) override {
|
||||||
|
delete basis;
|
||||||
|
basis=basisFunction.clone();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual void setActivationFunction(const ActivationFunction::ActivationFunction &activationFunction) override {
|
||||||
|
delete activation;
|
||||||
|
activation=activationFunction.clone();
|
||||||
|
}
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
BasisFunction::BasisFunction *basis;
|
BasisFunction::BasisFunction *basis;
|
||||||
@@ -202,6 +217,15 @@ namespace NeuralNetwork
|
|||||||
throw usageException("activation function");
|
throw usageException("activation function");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
virtual void setBasisFunction(const BasisFunction::BasisFunction&) override {
|
||||||
|
throw usageException("basis function");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual void setActivationFunction(const ActivationFunction::ActivationFunction &) override {
|
||||||
|
throw usageException("activation function");
|
||||||
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
class InputNeuron: public NeuronInterface {
|
class InputNeuron: public NeuronInterface {
|
||||||
@@ -236,5 +260,14 @@ namespace NeuralNetwork
|
|||||||
virtual ActivationFunction::ActivationFunction& getActivationFunction() override {
|
virtual ActivationFunction::ActivationFunction& getActivationFunction() override {
|
||||||
throw usageException("activation function");
|
throw usageException("activation function");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
virtual void setBasisFunction(const BasisFunction::BasisFunction&) override {
|
||||||
|
throw usageException("basis function");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual void setActivationFunction(const ActivationFunction::ActivationFunction &) override {
|
||||||
|
throw usageException("activation function");
|
||||||
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user