From a40b6fad88376682d1aad1ef10e89c24aaaee947 Mon Sep 17 00:00:00 2001 From: Shin Date: Fri, 13 May 2016 20:16:53 +0200 Subject: [PATCH] cascade: remove neuron --- include/NeuralNetwork/Cascade/Network.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/include/NeuralNetwork/Cascade/Network.h b/include/NeuralNetwork/Cascade/Network.h index bfd8177..d5f4d97 100644 --- a/include/NeuralNetwork/Cascade/Network.h +++ b/include/NeuralNetwork/Cascade/Network.h @@ -58,6 +58,18 @@ namespace NeuralNetwork { return std::vector>(_neurons.end()-_outputs,_neurons.end()); } + void removeLastHiddenNeuron() { + _neurons.erase(_neurons.begin()+_neurons.size()-outputs()-1); + + std::size_t maxIndexOfHiddenNeuron = _neurons.size() - outputs(); + + std::size_t maxIndexOfNeuron = _neurons.size() - 1; + + for(std::size_t i = 0; i < _outputs; i++) { + _neurons[maxIndexOfNeuron-i]->setInputSize(maxIndexOfHiddenNeuron); + } + } + std::shared_ptr addNeuron() { _neurons.push_back(std::make_shared()); auto neuron = _neurons.back();