web-dev-qa-db-fra.com

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, je lance ce code dans un cmd (win 10). "Import tensorflow.contrib" et "import tensorflow.python" sont OK, mais les commandes "tensorflow.contrib" et "tensorflow.python" sont différentes. L'un renvoie un répertoire et l'autre renvoie AttributeError.

Quelqu'un sait-il pourquoi?

9
jian chang

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

La raison en est de fournir l'accès aux sous-modules contenus dans le paquetage python dans l'espace de noms toplevel tensorflow. Quelques trucs du tensorflow.core le package est également importé et rendu disponible dans l'espace de noms tensorflow.

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

6
mhawke