1
votes

Comment réparer: AttributeError: le module 'neat' n'a pas d'attribut 'config'

Je suis en train de parcourir le guide pour une IA qui joue Flappy Bird à l'aide de l'API de réseau neuronal NEAT trouvée ici .

Lorsque j'exécute son code téléchargé depuis Github, cela me donne l'erreur:

def run(config_file):
    """
    runs the NEAT algorithm to train a neural network to play flappy bird.
    :param config_file: location of config file
    :return: None
    """
    config = neat.config.Config(neat.DefaultGenome, neat.DefaultReproduction,
                         neat.DefaultSpeciesSet, neat.DefaultStagnation,
                         config_file)

    # Create the population, which is the top-level object for a NEAT run.
    p = neat.Population(config)

    # Add a stdout reporter to show progress in the terminal.
    p.add_reporter(neat.StdOutReporter(True))
    stats = neat.StatisticsReporter()
    p.add_reporter(stats)
    #p.add_reporter(neat.Checkpointer(5))

    # Run for up to 50 generations.
    winner = p.run(eval_genomes, 50)

    # show final stats
    print('\nBest genome:\n{!s}'.format(winner))


if __name__ == '__main__':
    # Determine path to configuration file. This path manipulation is
    # here so that the script will run successfully regardless of the
    # current working directory.
    local_dir = os.path.dirname(__file__)
    config_path = os.path.join(local_dir, 'config-feedforward.txt')
    run(config_path)

Le problème semble provenir de ce bloc de code:

 "Traceback (most recent call last):
  File "test.py", line 438, in <module>
    run(config_path)
  File "test.py", line 412, in run
    config = neat.config.Config(neat.DefaultGenome, neat.DefaultReproduction,
AttributeError: module 'neat' has no attribute 'config'

Cependant j'ai regardé dans la documentation Neat trouvée ici et il dit que cet attribut existe en fait. J'utilise Pycharm sur un mac si cela est pertinent. Quelqu'un sait-il d'où vient l'erreur?


6 commentaires

Que se passe-t-il si vous exécutez import net; imprimer (fichier .__ soigné) ?


Quelles sont exactement les importations dans ce fichier (avant def run (...) )? Y a-t-il import net , ou aussi import neat.config ?


@ mkrieger1 Quant à la première question lorsque je l'exécute dans mon terminal, cela me donne "//anaconda3/lib/python3.7/site-packages/neat/__init__.py"


@ mkrieger1 pour la deuxième question, je viens d'importer net, pas d'importer neat.config mais j'ai essayé neat.config et neat.Config et aucun des deux ne semblait fonctionner


Que s'est-il passé lorsque vous avez essayé d'utiliser import neat.config ?


@ mkrieger1, il dirait "packages installés avec succès" dans Pycharm mais lorsque je l'exécute, il renvoie l'erreur Traceback (dernier appel en dernier): Fichier "test.py", ligne 12, dans import neat.config ModuleNotFoundError: Aucun module nommé 'neat.config'


3 Réponses :


0
votes

J'ai eu le même problème après avoir installé manuellement les bibliothèques en utilisant "import neat", "import graphviz" et d'autres dépendances, mais après avoir utilisé le fichier des exigences, le code fonctionnait correctement. Dans la console, ouvrez le dossier du projet et saisissez:

pip install -r ./requirements.txt

Cela a résolu mon erreur.


1 commentaires

Merci pour la suggestion, mais j'ai essayé cela et il dit simplement: "ERREUR: Impossible d'ouvrir le fichier des exigences: [Errno 2] Aucun fichier ou répertoire de ce type: './requirements.txt'"



4
votes

J'ai eu le même problème. Le mien a été résolu lorsque j'ai exécuté le même code après avoir installé neat-python au lieu de simplement passer par pip. Alors essayez de faire ça

pip installer neat-python

Assurez-vous également que tous les paquets indiqués dans requirements.txt sont déjà présents sur votre ordinateur.


0 commentaires

1
votes

J'ai le même problème sur le même système.

Voici comment je l'ai résolu:

ouvrir les préférences PyCharms,

Aller au "Projet: NAME_OF_PROJECT",

puis ouvrez "Project Interpreter",

là-dedans, désinstallez "net" en cliquant sur le bouton moins

puis cliquez sur le bouton plus et recherchez "neat-python" et installez-le.

Je pense que la méthode d'installation automatique de l'interpréteur PyCharms se trompe ici et installe le mauvais "neat" :-P J'espère que cela fonctionne pour vous!


0 commentaires