当我尝试在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
有效。
我已经使用了整整一个小时的时间,但我仍然不明白在前两个脚本中我做错了什么。 谢谢
答案 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 y
将x
作为模块而不是代码全局变量中的符号进行搜索(并且tf
不是模块名称,而是全局变量{{ 1}}导入tensorflow并将import tensorflow as tf
设置为指向模块对象)。
因此(除非您修复安装或PYTHONPATH以使tf
作为模块可见),否则应使用此方法导入keras
(或其中的特定符号):
keras