Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

AttributeError: module 'tensorflow' has no attribute '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'

As you can see, I run this code in a cmd(win 10). Both "import tensorflow.contrib" and "import tensorflow.python" are OK, but commands "tensorflow.contrib" and "tensorflow.python" are different. One returns a directory and the other returns AttributeError.

Does anyone have a clue why?

like image 933
jian chang Avatar asked Nov 15 '17 10:11

jian chang


2 Answers

tensorflow.__init__() explicitly deletes its reference to the tensorflow.python module after importing everything from it.

The reason for that is to provide access to the submodules contained in the python package in the top-level tensorflow namespace. A few things from the tensorflow.core package are also imported and made available in the tensorflow namespace.

I think that the idea is not to import tensorflow.python directly. Those classes, objects, and submodules of python that are intended to be used by applications are made available simply by import tensorflow.

like image 128
mhawke Avatar answered Oct 28 '22 14:10

mhawke


You can import tensorflow.python the following way:

from tensorflow import python as tf_python
like image 1
Ark-kun Avatar answered Oct 28 '22 14:10

Ark-kun