Neuron change

This commit is contained in:
2016-02-01 23:43:13 +01:00
parent 3e383e9add
commit ea4ce22867
8 changed files with 147 additions and 13 deletions

View File

@@ -76,6 +76,8 @@ namespace NeuralNetwork
virtual float operator()(const std::vector<float>& inputs) =0;
virtual void setInputSize(const std::size_t &size) = 0;
/**
* @brief Function returns clone of object
*/
@@ -138,6 +140,12 @@ namespace NeuralNetwork
weights[n.id()]=w;
}
virtual void setInputSize(const std::size_t &size) override {
if(weights.size()<size+1) {
weights.resize(size+1);
}
}
/**
* @brief Returns output of neuron
*/
@@ -215,6 +223,9 @@ namespace NeuralNetwork
virtual float operator()(const std::vector< float >&) override { return 1.0; }
virtual void setInputSize(const std::size_t&) override {
}
virtual BiasNeuron* clone() const { return new BiasNeuron(); }
};
@@ -242,6 +253,9 @@ namespace NeuralNetwork
virtual float operator()(const std::vector< float >&) override { return 1.0; }
virtual void setInputSize(const std::size_t&) override {
}
virtual InputNeuron* clone() const { return new InputNeuron(id_); }
protected:
long unsigned int id_;