Skip to content
Snippets Groups Projects
NeuralNetwork.h 1.3 KiB
Newer Older
  • Learn to ignore specific revisions
  • /**
     * DESCRIPTION OF THE FILE
     *
     * @author Michal Kravčenko
     * @date 13.6.18 -
     */
    
    
     //TODO pouvazovat o pridani indexu k neuronum, abychom meli urcitou kontrolu nad poradim vstupu a vystupu?
    
    
    #ifndef INC_4NEURO_NEURALNETWORK_H
    #define INC_4NEURO_NEURALNETWORK_H
    
    
    #include <vector>
    #include "../Neuron/Neuron.h"
    
    
    /**
     *
     */
    class NeuralNetwork {
    private:
        /**
         *
         */
        NET_TYPE network_type = GENERAL;
    
    
    
         /**
          *
          */
         std::vector<Neuron*> *neurons = nullptr;
    
         /**
          *
          */
         std::vector<Neuron*>* input_neurons = nullptr;
    
         /**
          *
          */
         std::vector<Neuron*>* output_neurons = nullptr;
    
         /**
          *
          */
         int n_inputs = -1;
    
         /**
          *
          */
         int n_outputs = -1;
    
         /**
          *
          */
         bool in_out_determined = false;
    
         std::vector<Neuron*>* active_eval_set = nullptr;
    
        NeuralNetwork();
    
        /**
         *
         */
        ~NeuralNetwork();
    
        /**
         *
         * @param[in] input
         * @param[in,out] output
         */
        void eval_single(std::vector<double> &input, std::vector<double> &output);
    
    
    
        /**
         *
         * @param n
         */
        void add_neuron(Neuron* n);