示例#1
0
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)
示例#2
0
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):