在Python 3.6上导入Tensorflow问题

时间:2018-08-12 14:13:14

标签: python tensorflow keras

当我尝试在Python脚本中导入tensorflow时,我得到了一些奇怪的结果。例如:

import tensorflow 
from keras.datasets import imdb

给我

ModuleNotFoundError
Traceback (most recent call last) <ipython-input-12-25cf0f878919> in <module>()
      1 import tensorflow
----> 2 from keras.datasets import imdb

ModuleNotFoundError: No module named 'keras'

如果我尝试:

import tensorflow as tf
from tf.keras.datasets import imdb

我明白了:

ModuleNotFoundError                       Traceback (most recent call last)
<ipython-input-9-bd3db3d3567b> in <module>()
      1 import tensorflow as tf
----> 2 from tf.keras.datasets import imdb

ModuleNotFoundError: No module named 'tf'

但是,如果我使用:

  

从tensorflow.keras.datasets导入imdb

有效。

我已经使用了整整一个小时的时间,但我仍然不明白在前两个脚本中我做错了什么。 谢谢

1 个答案:

答案 0 :(得分:0)

您还没有指定安装tensorflow的方式和位置,所以我可能是错的,但是:

(a)看来keras是与tensorflow一起安装的,但没有位于默认Python路径中的位置(因此,您无法执行from keras.datasets import imdb)。

(b)这种组合:

import tensorflow as tf
from tf.keras.datasets import imdb

无效,因为from x import yx作为模块而不是代码全局变量中的符号进行搜索(并且tf不是模块名称,而是全局变量{{ 1}}导入tensorflow并将import tensorflow as tf设置为指向模块对象)。

因此(除非您修复安装或PYTHONPATH以使tf作为模块可见),否则应使用此方法导入keras(或其中的特定符号):

keras