我在github中找到了一个聊天机器人程序,并希望运行该程序以更好地理解。但是每次我尝试运行该程序时,都会显示
没有名为'tensorflow.contrib'的模块
我该如何解决此错误?
答案 0 :(得分:1)
可能您找到的代码是用 TensorFlow 1.x 编写的,但您安装了 TensorFlow 2.x。可以使用兼容性模块代替降级 TensorFlow:
import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()
答案 1 :(得分:0)
由其他专家解释:一个有趣的发现,希望这对在Anaconda或类似集成环境下开发的其他人有所帮助,这些环境中您的程序不是直接从命令行运行的,例如例如“ python myprogram.py”。
该问题可能是由于程序本身名为tensorflow.py引起的。它是在不是作为“主”模块启动,而是由另一个Python程序(在本例中为anaconda)加载的环境中运行的。
以这种方式加载python程序时,解释器将其读取为模块并将其放入模块列表中(与文件同名),因此现在有了sys.modules [“ tensorflow”]指向加载的用户程序(而不是安装的tensorflow模块)。当遇到“将tensorflow作为tf导入”行时,Python看到“ tensorflow”已经被导入,只是执行了tf = sys.modules [“ tensorflow”],这是对您自己的tensorflow.py的引用(已经是一个问题,但是您还没有去过tf.enable_eager_execution()-如果这样做,它会失败,因为您的tensorflow.py没有这样的功能)。
现在,有趣的部分:
import tensorflow.contrib.eager as tfe
Python已经导入了“ tensorflow”(您的模块!),因此它希望在与已加载的tensorflow.py相同的目录中找到任何子模块。特别是,它希望该目录是Python程序包(其中具有 init .py),但显然没有,因此会出现“ ...不是程序包”错误消息。>
答案 2 :(得分:0)
tf.contrib.data已deprecated and been removed
尝试降级Tensorflow版本:
pip3 install tensorflow == 1.14
使用venv在单台计算机上安装多个张量流版本
答案 3 :(得分:0)
可能您正在尝试在 Windows 上运行它,请尝试在您的终端中运行它:
<块引用>pip install cloudbiolinux==0.3a
<块引用>pip 安装助手
<块引用>pip 安装贡献