我从事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
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
如果我更改了如下代码:
... 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” 吗?需要什么配置?
谢谢。
答案 0 :(得分:0)
tensorflow_core
是实现细节,不能直接使用-source。
我认为您的安装有问题,因此让我们尝试再次安装Tensorflow,这一次使用virtualenv(在Python世界中这是一种很好的做法)。
sudo
安装了Tensorflow,则可能需要在命令前加上sudo
:pip uninstall tensorflow
virtualenv
。 virtualenv
允许您在每个项目中安装依赖项,而不会干扰系统软件包或其他项目。要了解更多信息,请参阅docs。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版本。要检查是否可以运行:
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,您只需运行deactivate
命令。要再次激活virtualenv,可以运行前面提到的命令:source ./venv/bin/activate
。
请激活您的虚拟环境。
pip install --upgrade pip
pip install tensorflow
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!