import torch from neat.evaluation.evaluation_engine import get_dataset from neat.evaluation.utils import _prepare_batch_data from neat.fitness.kl_divergence import compute_kl_qw_pw from neat.genome import Genome from neat.loss.vi_loss import get_loss, get_beta from neat.neat_logger import get_neat_logger from neat.representation_mapping.genome_to_network.complex_stochastic_network import ComplexStochasticNetwork from neat.utils import timeit from config_files import create_configuration config = create_configuration(filename='/mnist_binary.json') LOGS_PATH = f'{os.getcwd()}/' logger = get_neat_logger(path=LOGS_PATH) # N_SAMPLES = 10 N_PROCESSES = 16 N_GENOMES = 100 genomes = [] for i in range(N_GENOMES): genome = Genome(key=i) genome.create_random_genome() genomes.append(genome) def evaluate_genome_parallel(x): return evaluate_genome(*x)
from unittest import TestCase, skip import os from config_files.configuration_utils import create_configuration from neat.neat_logger import get_neat_logger from neat.representation_mapping.genome_to_network.complex_stochastic_network import ComplexStochasticNetwork, equal from neat.representation_mapping.network_to_genome.stochastic_network_to_genome import \ convert_stochastic_network_to_genome from tests.representation_mapping.genome_to_network.test_complex_stochastic_network import generate_genome_given_graph from tests.utils.compare_stochastic_networks import compare_networks logger = get_neat_logger(path=f'{os.getcwd()}/') class TestStochasticNetwork2Genome(TestCase): def setUp(self) -> None: self.config = create_configuration(filename='/classification-miso.json') self.config.fix_std = False def test_genome_conversion_without_jumps(self): original_genome = generate_genome_given_graph(graph=((-1, 2), (-2, 2), (2, 0), (2, 1)), connection_weights=(1.0, 2.0, 3.0, 0.5)) network = ComplexStochasticNetwork(genome=original_genome) new_genome = convert_stochastic_network_to_genome(network=network, original_genome=original_genome) self.assertEqual(original_genome, new_genome) def test_genome_conversion_with_jumps_1(self):