20 votes

AttributeError: le module 'tensorflow' n'a pas d'attribut 'python'

>import tensorflow

>import tensorflow.contrib

>tensorflow.contrib

module 'tensorflow.contrib' from 'D:\\ProgramData\\Anaconda3\\lib\\site-packages\\tensorflow\\contrib\\__init__.py'

>import tensorflow.python

>tensorflow.python

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: module 'tensorflow' has no attribute 'python'

Comme vous pouvez le voir, j'ai exécuté ce code dans un cmd (win 10). "import tensorflow.contrib" et "import tensorflow.python" fonctionnent tous les deux, mais les commandes "tensorflow.contrib" et "tensorflow.python" sont différentes. L'une renvoie un répertoire et l'autre renvoie AttributeError.

Est-ce que quelqu'un a une idée pourquoi?

16voto

mhawke Points 10385

tensorflow.__init__() supprime explicitement sa référence au module tensorflow.python après avoir tout importé.

La raison en est de permettre l'accès aux sous-modules contenus dans le package python dans l'espace de noms de niveau supérieur de tensorflow. Quelques éléments du package tensorflow.core sont également importés et rendus disponibles dans l'espace de noms de tensorflow.

Je pense que l'idée n'est pas d'importer directement tensorflow.python. Ces classes, objets et sous-modules de python qui sont destinés à être utilisés par les applications sont simplement accessibles par import tensorflow.

-4voto

Ça a fonctionné pour moi en utilisant la ligne d'importation suivante :

from tensorflow.python import keras

Santé !

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X