Search code examples
pythonerror-handlingconfigopenai-gymneat

How to fix config Error in python neat openai retro


following the guide at: https://www.youtube.com/watch?v=8dY3nQRcsac&list=PLTWFMbPFsvz3CeozHfeuJIXWAJMkPtAdS&index=7

when I run the python program the is an error in the python neat config file

it looks like it has something to do with the genome variable

my python neat config file now

#--- parameters for the XOR-2 experiment ---#

[NEAT]
fitness_criterion     = max
fitness_threshold     = 10000
pop_size              = 20
reset_on_extinction   = True

[DefaultGenome]
# node activation options
activation_default      = sigmoid
activation_mutate_rate  = 0.05
activation_options      = sigmoid

# node aggregation options
aggregation_default     = sum
aggregation_mutate_rate = 0.05
aggregation_options     = sum

# node bias options
bias_init_mean          = 0.0
bias_init_stdev         = 1.0
bias_max_value          = 30.0
bias_min_value          = -30.0
bias_mutate_power       = 0.5
bias_mutate_rate        = 0.7
bias_replace_rate       = 0.1

# genome compatibility options
compatibility_disjoint_coefficient = 1.0
compatibility_weight_coefficient   = 0.5

# connection add/remove rates
conn_add_prob           = 0.5
conn_delete_prob        = 0.5

# connection enable options
enabled_default         = True
enabled_mutate_rate     = 0.01

feed_forward            = False
initial_connection      = unconn nected

# node add/remove rates
node_add_prob           = 0.5
node_delete_prob        = 0.2

# network parameters
num_hidden              = 0
num_inputs              = 1120
num_outputs             = 12

# node response options
response_init_mean      = 1.0
response_init_stdev     = 0.0
response_max_value      = 30.0
response_min_value      = -30.0
response_mutate_power   = 0.0
response_mutate_rate    = 0.0
response_replace_rate   = 0.0

# connection weight options
weight_init_mean        = 0.0
weight_init_stdev       = 1.0
weight_max_value        = 30
weight_min_value        = -30
weight_mutate_power     = 0.5
weight_mutate_rate      = 0.8
weight_replace_rate     = 0.1

[DefaultSpeciesSet]
compatibility_threshold = 205

[DefaultStagnation]
species_fitness_func = max
max_stagnation       = 50
species_elitism      = 0

[DefaultReproduction]
elitism            = 3
survival_threshold = 0.2

the Error code from the terminal

    'config-feedforward')
  File "/home/gym/OPAI/lib/python3.6/site-packages/neat/config.py", line 189, in __init__
    self.genome_config = genome_type.parse_config(genome_dict)
  File "/home/gym/OPAI/lib/python3.6/site-packages/neat/genome.py", line 158, in parse_config
    return DefaultGenomeConfig(param_dict)
  File "/home/gym/OPAI/lib/python3.6/site-packages/neat/genome.py", line 72, in __init__
    assert self.initial_connection in self.allowed_connectivity
AssertionError

config code from the python neat code

config = neat.Config(neat.DefaultGenome, neat.DefaultReproduction,
                     neat.DefaultSpeciesSet, neat.DefaultStagnation,
                     config-feedforward')

Solution

  • The issue is on the line that reads "initial_connection = unconn nected"

    There's a typo. There shoudn't be a break in 'unconnected' It shouold read as follows: "initial_connection = unconnected"