如何修复:“ModuleNotFoundError:没有名为‘tensorflow.contrib’的模块”

新手上路,请多包涵

我正在尝试构建一个图像分类器,并希望导入 tflearn。

 # Importing the required libraries
import tflearn
from tflearn.layers.conv import conv_2d, max_pool_2d
from tflearn.layers.core import input_data, dropout, fully_connected
from tflearn.layers.estimator import regression
import tensorflow as tf

但是,由于以下错误消息,我无法这样做。

 File "imgclassification.py", line 97, in <module>
    import tflearn
  File "/usr/local/lib/python3.7/site-packages/tflearn/__init__.py", line 4, in <module>
    from . import config
  File "/usr/local/lib/python3.7/site-packages/tflearn/config.py", line 5, in <module>
    from .variables import variable
  File "/usr/local/lib/python3.7/site-packages/tflearn/variables.py", line 7, in <module>
    from tensorflow.contrib.framework.python.ops import add_arg_scope as contrib_add_arg_scope
ModuleNotFoundError: No module named 'tensorflow.contrib'

显然,tensorflow.contrib 在最新版本的 TensorFlow 中已被弃用。

当我卸载 TensorFlow 2.0 并安装 TensorFlow 1.14 时,错误消息的数量增加了。其中大部分是警告。

我该如何解决?

原文由 SkV 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 995
1 个回答

当您安装 tensorflow 时,默认情况下将安装最新版本的 tensorflow 2.0(现在)和您正在运行的代码(imgclassification.py)适合使用 tensorflow 1.* 执行,因为它搜索 tensorflow.contrib 即2.0 中不存在。因此,使用以下命令降级 tensorflow:

 pip install tensorflow==1.14

原文由 Lakshmi - Intel 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题