2017-04-05 1 views
2

Récemment, j'explore l'apprentissage en profondeur avec Keras sur mon système ubuntu14.04 et j'ai rencontré un problème étrange avec le backend de Keras. Je cours toujours mon code dans un environnement virtuel conda et je voudrais utiliser keras avec le backend tensorflow. A la suite du document officiel, je suis sûr que le keras.json a le backend défini comme « tensorflow » comme le montre la capture d'écran ci-dessous: keras.jsonKeras backend n'est pas modifié dans mon environnement de conda

Cependant, chaque fois que j'importer keras dans l'environnement virtuel Conda, il dit toujours que la keras backend est là. Je n'ai aucune idée de comment cela se passe et comment le réparer. Un autre problème étrange est que, parfois, lorsque j'ai créé un nouvel environnement de conda, je suis devenu backend comme tensorflow dans le nouvel environnement. Cependant, le jour suivant, lorsque j'importe des keras dans le même environnement, le backend est réglé sur. Mon fichier keras.json est toujours en backend comme tensorflow en même temps.

J'espère que quelqu'un peut m'aider avec ce problème. Merci beaucoup! keras backend in conda environment

+0

Avez-vous essayé de changer '' keras.json' dans votre dossier env'? –

+0

Il semble que .keras n'existe pas dans le dossier env dans mon environnement virtuel conda. @ MarcinMożejko –

+0

J'ai trouvé un travail en regardant le dossier __init__.py sous keras. Il semble que chaque fois que le keras est initialisé dans un environnement virtuel conda. La variable backend sera définie comme suit: _BACKEND = os.environ ['KERAS_BACKEND'] '. Et pour une raison quelconque, la variable 'os.environ ['KERAS_BACKEND']' est toujours définie sur 'theano'. Bien qu'il ne soit pas clair comment 'os.environ ['KERAS_BACKEND']' est défini à l'origine, nous pouvons toujours réinitialiser cette variable avant d'importer keras. –

Répondre

0

Je cours anaconda sur mac. et je rencontre un problème similaire au vôtre. Pour mon cas, je ne peux pas changer le backend à Theano. Voici ce que j'ai fait pour résoudre ce problème.

Dans .PY changer d'initialisation _BACKEND = 'tensorflow' à _BACKEND = 'Théano'

Dans keras.json supprimer "back-end": "tensorflow"

et enfin dans anaconda

de keras import backend comme K

K.backend()

'Théano'

Hope this vous aide