Je viens d'installer la version stable de TensorFlow 2.0 (sortie le 1er octobre 2019) dans PyCharm.
Le problème est que le package de keras n'est pas disponible .
L'erreur réelle est:
" ne peut pas importer le nom 'keras' de tensorflow "
J'ai installé via pip install tensorflow==2.0.0
les CPU version
, puis désinstallé la version CPU et installé la version GPU, via pip install tensorflow-gpu==2.0.0.
Aucune des versions travaillées ci-dessus de TensorFlow ne fonctionnait correctement (impossible d'importer des keras ou d'autres packages via from tensorflow.package_X import Y
).
Si je rétablis TensorFlow à la version 2.0.0.b1 , keras est disponible en tant que package (PyCharm le reconnaît) et tout se passe bien.
Existe-t-il un moyen de résoudre ce problème? Suis-je en train de faire une erreur dans le processus d'installation?
MISE À JOUR --- L'importation à partir de la console Python fonctionne et permet les importations sans aucune erreur.
Pour les utilisateurs de PyCharm
Pour ceux qui utilisent PyCharm. Installer la future version (EAP) 2019.3 EAP build 193.3793.14
de ici . Avec cela, vous pourrez utiliser la saisie semi-automatique pour la version stable actuelle de TensorFlow (c'est-à-dire 2.0). Je l'ai essayé et ça marche :).
Pour les autres IDE
Pour les utilisateurs avec d'autres IDE, cela ne sera résolu qu'après la sortie de la version stable, ce qui est de toute façon le cas maintenant. Mais cela pourrait prendre plus de temps pour une correction. Voir le commentaire ici . Je suppose qu'il sera sage d'attendre et de continuer à utiliser version 2.0.0.b1
. D'autre part, évitez les importations en provenance de tensorflow_core
si vous ne souhaitez pas refactoriser votre code à l'avenir.
Remarque: pour que la saisie semi-automatique fonctionne, utilisez la déclaration d'importation comme ci-dessous
import tensorflow.keras as tk
# this does not work for autocomplete
# from tensorflow import keras as tk
La saisie semi-automatique fonctionne pour TensorFlow 2.0.0 sur la version CPU, mais la saisie semi-automatique ne fonctionne pas pour la version GPU.
RESOLU --- Voir les réponses à ce problème ci-dessous.
SOLUTION 1 (meilleure solution)
La réponse acceptée est-elle fournie ci-dessus. Il fonctionne sur la version EAP, je l'ai testé sur plusieurs machines sous Windows.
SOLUTION 2
Bien que PyCharm ne reconnaisse pas les modules, l'exécution du fichier .py fonctionne. Je ne sais toujours pas si c'est un problème de TensorFlow ou PyCharm, mais c'est la solution que j'ai trouvée, beaucoup de gens ont rencontré ce problème.
SOLUTION 3
Importez les modules depuis tensorflow_core
au lieu de tensorflow
Exemple: from tensorflow_core.python.keras.preprocessing.image import ImageDataGenerator
Cependant, comme mentionné par @Nagabhushan S N dans le commentaire ci-dessous et ci-dessus dans la réponse acceptée:
D'autre part, évitez les importations de tensorflow_core si vous ne souhaitez pas refactoriser votre code à l'avenir.