Unable to import with original code “tensorflow.python.keras.utils.data_utils”
我从事Java已有多年经验,现在我正在使用Tensorflow 2.0学习Python
开发工具是Eclipse + PyDev。 在Python中使用from ... import语句存在一个小问题。
我创建了一个测试文件local_fashion_mnist.py,并从以下位置复制了内容并将其粘贴到local_fashion_mnist.py中:
/usr/local/lib/python3.6/dist-packages/tensorflow_core/python/keras/datasets/fashion_mnist.py
1 2 3 4 5 6 7 8 9 10 11 12 | from __future__ import absolute_import from __future__ import division from __future__ import print_function import gzip import os import numpy as np from tensorflow.python.keras.utils.data_utils import get_file from tensorflow.python.util.tf_export import keras_export ... |
但是Eclipse显示错误:无法解析的导入:get_file
如果我将代码更改如下:
1 2 3 4 | ... from tensorflow_core.python.keras.utils.data_utils import get_file from tensorflow_core.python.util.tf_export import keras_export ... |
这样代码就可以正常工作了。
我的问题是:
1)。 为什么我需要将代码从" tensorflow.python.keras.utils.data_utils"更改为" tensorflow_core.python.keras.utils.data_utils"?
2)。 我可以仅使用代码中的原始" tensorflow.python.keras.utils.data_utils"吗? 需要什么配置?
谢谢。
我认为您的安装有问题,因此让我们尝试再次安装Tensorflow,这次使用virtualenv(在Python世界中这是一个好习惯)。
1 | pip uninstall tensorflow |
1 2 3 | cd /path/to/your/project python3 -m venv venv # create a virtualenv named `venv` in your project directory source ./venv/bin/activate # activate just created virtualenv |
您现在可以在此终端窗口中检查,您将使用本地Python版本。要检查您可以运行:
1 2 3 | which python # should output something like: /path/to/your/project/venv/bin/python # running this command outside virtualenv will give use something like: /usr/bin/python |
要退出virtualenv,您只需运行
请激活您的virtualenv。
1 | pip install --upgrade pip |
1 | pip install tensorflow |
1 2 3 | python # you'll enter REPL, an interactive Python command line >>> from tensorflow.python.keras.utils.data_utils import get_file >>> help(get_file) # hopefully this shows a documentation! |