cleaning + Network getter and setter for input / output size

This commit is contained in:
2016-05-03 22:03:03 +02:00
parent 6a17694a6b
commit 58f7f8f69b
9 changed files with 85 additions and 58 deletions

View File

@@ -20,7 +20,7 @@ namespace FeedForward {
* @brief Constructor for Network
* @param _inputSize is number of inputs to network
*/
inline Network(size_t _inputSize):NeuralNetwork::Network(),layers() {
inline Network(size_t _inputSize):NeuralNetwork::Network(_inputSize,_inputSize),layers() {
appendLayer(_inputSize);
};
@@ -36,8 +36,13 @@ namespace FeedForward {
Layer& appendLayer(std::size_t size=1, const ActivationFunction::ActivationFunction &activationFunction=ActivationFunction::Sigmoid(-4.9)) {
layers.push_back(new Layer(size,activationFunction));
if(layers.size() > 1)
layers.back()->setInputSize(layers[layers.size()-2]->size());
if(layers.size() > 1) {
layers.back()->setInputSize(layers[layers.size() - 2]->size());
} else {
_inputs=size;
}
_outputs=size;
return *layers[layers.size()-1];//.back();
}
@@ -77,7 +82,7 @@ namespace FeedForward {
std::vector<Layer*> layers;
private:
inline Network():NeuralNetwork::Network(),layers() {
inline Network():NeuralNetwork::Network(0,0),layers() {
};
SIMPLEJSON_REGISTER(NeuralNetwork::FeedForward::Network::Factory, NeuralNetwork::FeedForward::Network,NeuralNetwork::FeedForward::Network::deserialize)