8 #ifndef CSCNEURALNETWORKGENETICALGORITHMINDIVIDUALGENERATOR_H_
9 #define CSCNEURALNETWORKGENETICALGORITHMINDIVIDUALGENERATOR_H_
41 vector<unsigned> *nbHiddenLayersPossibilitiesToAdd,
42 vector<unsigned> *nbNeuronsPerLayerPossibilitiesToAdd,
43 vector<CscActivationFunction> *hiddenLayersActivationFunctionPossibilitiesToAdd,
44 vector<CscActivationFunction> *outputLayerFunctionPossibilitiesToAdd,
45 vector<CscLossFunction> *lossFunctionPossibilitiesToAdd,
46 vector<CscInitializationWeightsStrategy> *initializationWeightsStrategyPossibilitiesToAdd,
47 vector<CscInitializationBiasStrategy> *initializationBiasesStrategyPossibilitiesToAdd,
48 vector<float> *learningRatePossibilitiesToAdd,
49 vector<unsigned> *nbDataPerMiniBatchPossibilitiesToAdd);
68 const unsigned getId()
const;
69 const unsigned getGenerationOfCreation()
const;
77 const unsigned individualId;
78 const unsigned generationOfCreation;
89 const unsigned getNbNeuralNetworkInputs()
const;
90 const unsigned getNbNeuralNetworkOutputs()
const;
91 const vector<CscNeuralNetworkType> *getNeuralNetworkTypePossibilities()
const;
92 const vector<unsigned> *getNbHiddenLayersPossibilities()
const;
93 const vector<unsigned> *getNbNeuronsPerHiddenLayerPossibilities()
const;
94 const vector<CscActivationFunction> *getHiddenLayersActivationFunctionPossibilities()
const;
95 const vector<CscActivationFunction> *getOutputLayerActivationFunctionPossibilities()
const;
96 const vector<CscLossFunction> *getLossFunctionPossibilities()
const;
97 const vector<CscInitializationWeightsStrategy> *getInitializationWeightsStrategyPossibilities()
const;
98 const vector<CscInitializationBiasStrategy> *getInitializationBiasesStrategyPossibilities()
const;
99 const vector<float> *getLearningRatePossibilities()
const;
100 const vector<unsigned> *getNbDataPerMiniBatchPossibilities()
const;
103 HyperparametersIndividual *createNeuralNetworkIndividualRandomly(
const unsigned individualId,
const unsigned generationOfCreation);
111 const unsigned nbNeuralNetworkInputs;
112 const unsigned nbNeuralNetworkOutputs;
114 const vector<CscNeuralNetworkType> *neuralNetworkTypePossibilities;
115 const vector<unsigned> *nbHiddenLayersPossibilities;
116 const vector<unsigned> *nbNeuronsPerLayerPossibilities;
117 const vector<CscActivationFunction> *hiddenLayersActivationFunctionPossibilities;
118 const vector<CscActivationFunction> *outputLayerFunctionPossibilities;
119 const vector<CscLossFunction> *lossFunctionPossibilities;
120 const vector<CscInitializationWeightsStrategy> *initializationWeightsStrategyPossibilities;
121 const vector<CscInitializationBiasStrategy> *initializationBiasesStrategyPossibilities;
122 const vector<float> *learningRatePossibilities;
123 const vector<unsigned> *nbDataPerMiniBatchPossibilities;