import matplotlib.pyplot as plt from easygui import fileopenbox from matplotlib.lines import Line2D from matplotlib.patches import Patch from definitions import ROOT_PATH from nagi.constants import FLIP_POINT_2D, NUM_TIME_STEPS, RED, BLUE, GREEN from nagi.simulation_2d import TwoDimensionalEnvironment, TwoDimensionalAgent from nagi.visualization import visualize_genome with open(f'{fileopenbox(default=f"{ROOT_PATH}/data/*genome*.pkl")}', 'rb') as file: test_genome = pickle.load(file) agent = TwoDimensionalAgent.create_agent(test_genome) visualize_genome(test_genome, show_learning_rules=False, with_legend=False) environment = TwoDimensionalEnvironment(50, 5, testing=True) (_, fitness, weights, membrane_potentials, time_step, intervals, actuators, accuracy, end_of_sample_accuracy, samples, logic_gates) = environment.simulate_with_visualization(agent) number_of_neurons = len(membrane_potentials.keys()) number_of_weights = len(weights.keys()) t_values = range(time_step + 1) alpha = 0.85 def add_vertical_lines_and_background(height: int): flip_points = [ flip_point for flip_point in range(len(t_values)) if flip_point >= FLIP_POINT_2D * NUM_TIME_STEPS and flip_point %
import matplotlib.pyplot as plt from easygui import fileopenbox from matplotlib.lines import Line2D from matplotlib.patches import Patch from definitions import ROOT_PATH from nagi.constants import FLIP_POINT_1D, NUM_TIME_STEPS, RED, BLUE, GREEN from nagi.simulation_1d import OneDimensionalEnvironment, OneDimensionalAgent from nagi.visualization import visualize_genome with open(f'{fileopenbox(default=f"{ROOT_PATH}/data/*genome*.pkl")}', 'rb') as file: test_genome = pickle.load(file) agent = OneDimensionalAgent.create_agent(test_genome) visualize_genome(test_genome, False, False) environment = OneDimensionalEnvironment(50, 5) (_, fitness, weights, membrane_potentials, time_step, intervals, actuators, accuracy, end_of_sample_accuracy, samples, beneficial_food) = environment.simulate_with_visualization(agent) number_of_neurons = len(membrane_potentials.keys()) number_of_weights = len(weights.keys()) t_values = range(time_step + 1) alpha = 0.85 def add_vertical_lines_and_background(height: int): flip_points = [ flip_point for flip_point in range(len(t_values)) if flip_point >= FLIP_POINT_1D * NUM_TIME_STEPS and flip_point %
import random from nagi.neat import Population from nagi.visualization import visualize_genome pop = Population(100, 4, 2) for i in range(50): print(f'--Generation {i}:') for species in pop.species.values(): print(f'ID: {species.key}, number of individuals: {len(species)}') pop.next_generation({key: random.random() for key in pop.genomes.keys()}) visualize_genome(random.choice(list(pop.genomes.values())))
import pickle from itertools import count from definitions import ROOT_PATH from nagi.neat import Genome from nagi.visualization import visualize_genome input_size, output_size = 6, 2 test_genome = Genome(0, input_size, output_size, count(input_size + output_size + 1), is_initial_genome=True) for _ in range(20): test_genome.mutate() visualize_genome(test_genome) with open(f'{ROOT_PATH}/data/test_genome_2d.pkl', 'wb') as file: pickle.dump(test_genome, file)