szmyty / OpenAI-Retro-SuperMarioWorld-SNES

This project contains my implementation of the NEAT-Python algorithm to use a recurrent neural network that enables an AI-controlled Mario to train itself to complete levels in "Super Mario World" on SNES. I used the gym-retro-integration program to create my own variables from the game's RAM values and then used those variables to reward/penalize the AI. If the AI complete's a level, the neural network is saved as the winner.
27 stars 6 forks source link

Error while attempting to run SuperMarioWorldAI-NEAT.py #3

Open Foxy6670 opened 3 years ago

Foxy6670 commented 3 years ago

(Note I am using the included config-feedforward file that was in the GitHub repo with SuperMarioWorldAI-NEAT.py!) Whenever I try to run the file using Python in the Gym Retro environment, I get the following output, followed by the emulation window opening and then closing:

(deh_neet_projects) C:\Users\snorb\Desktop\deh_neet_projects\MarioWorld>python SuperMarioWorldAI-NEAT.py

 ****** Running generation 0 ******

Traceback (most recent call last):
  File "SuperMarioWorldAI-NEAT.py", line 171, in <module>
    winner = p.run(eval_genomes)
  File "C:\Users\snorb\Desktop\deh_neet_projects\lib\site-packages\neat\population.py", line 89, in run
    fitness_function(list(iteritems(self.population)), self.config)
  File "SuperMarioWorldAI-NEAT.py", line 64, in eval_genomes
    yoshiCoins = info['yoshiCoins']
KeyError: 'yoshiCoins'

Is there any way to fix this issue? Thank you in advance.

unsightedmetal6 commented 3 years ago

Is the config-feedforward file in the same directory as the Python script?

Edit: I think the issue is actually that your script is not finding the data.json file.