private void StartGeneration(List <NeuralNetwork> newGeneration) { generation++; formulas = new GameObject[population]; for (int i = 0; i < population; i++) { GameObject newFormula = Instantiate(formula, transform.position, Quaternion.identity); if (newGeneration != null) { Formula f = newFormula.GetComponent <Formula>(); if (i < population / 10) { f.brain = bestNetwork; } else { f.brain = newGeneration[i]; } } formulas[i] = newFormula; } if (newGeneration != null) { // visualizing best network visualizer.DrawNetwork(bestNetwork, 200, 10, Color.cyan, Color.blue, Color.red, new Color(1, 1, 1, 0.3f)); } }
void Start() { // setting learning rate nn.learningRate = 0.5f; // starting training Train(); // visualizing xor on the graph VisualizeXOR(); // visualizing network structure visualizer.DrawNetwork(nn, 400, 5, Color.cyan, Color.red, Color.blue, new Color(1, 1, 1, 0.3f)); }
void Draw() { nn = new NeuralNetwork(inputs, hiddenLayers, hiddenNeurons, outputs); nv.DrawNetwork(nn, 500, 3, Color.red, Color.green, Color.cyan, Color.white); }