import simulation from characters import * import NeuralNet as nn import copy import multiprocessing from multiprocessing import Pool from functools import partial import json import pickle if __name__ == "__main__": scoresOverTime = [] generation = 1 populationCount = 50 population = [AiPlayer(brain=nn.Brain([0,0,0], [0,0,0])) for _ in range(0,populationCount)] mode = "m" while mode == "m" or mode == "s": try: results = [] print(f"Generation: {generation}") if mode == "m": pool = Pool(4) results = pool.map(simulation.run, population) pool.close() pool.join() else: for player in population: results.append(simulation.run(player)) results = sorted(results, key=lambda k: k['score'], reverse=True) best = results[0] maxScore = best['score']
import numpy as np import NeuralNet as nn inputs = [0, 0, 0, 1] outputs = [0, 0, 0] ins = np.asarray(inputs, dtype=np.float32) outs = np.asarray(outputs, dtype=np.float32) brain = nn.Brain(ins, outs) print(brain.predict(0, 0, 0))