tensorflow导入报错:DLL load failed: 找不到指定的模块(DLL load failed: The specified module could not be found)

一、背景

最近我的tensorflow版本更新之后就出现了问题,而且报错也非常模糊的一句话:DLL load failed: 找不到指定的模块。这里先说一下我的环境:

win10 + pycharm

anaconda3 (python3.6)

tensorflow1.9

二、问题描述

本来自己的tensorflow版本是1.9,用了快一年,一直没什么问题。后来看到tensorflow的版本更新到了1.12,想着就更新一下吧,不过更新过后,再导入tensorflow就报错了。之后即使把tensorflow版本再降低到1.2也仍然报错:

当import tensorflow时,就会有报错提示:

D:\python\anaconda\python.exe D:*****.py
Traceback (most recent call last):
  File "D:\python\anaconda\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 58, in <module>
    from tensorflow.python.pywrap_tensorflow_internal import *
  File "D:\python\anaconda\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 28, in <module>
    _pywrap_tensorflow_internal = swig_import_helper()
  File "D:\python\anaconda\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 24, in swig_import_helper
    _mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
  File "D:\python\anaconda\lib\imp.py", line 243, in load_module
    return load_dynamic(name, filename, file)
  File "D:\python\anaconda\lib\imp.py", line 343, in load_dynamic
    return _load(spec)
ImportError: DLL load failed: 找不到指定的模块。

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "D:/python/item/64-MARTAGAN/train_marta_gan.py", line 7, in <module>
    import tensorflow as tf
  File "D:\python\anaconda\lib\site-packages\tensorflow\__init__.py", line 24, in <module>
    from tensorflow.python import pywrap_tensorflow  # pylint: disable=unused-import
  File "D:\python\anaconda\lib\site-packages\tensorflow\python\__init__.py", line 49, in <module>
    from tensorflow.python import pywrap_tensorflow
  File "D:\python\anaconda\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 74, in <module>
    raise ImportError(msg)
ImportError: Traceback (most recent call last):
  File "D:\python\anaconda\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 58, in <module>
    from tensorflow.python.pywrap_tensorflow_internal import *
  File "D:\python\anaconda\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 28, in <module>
    _pywrap_tensorflow_internal = swig_import_helper()
  File "D:\python\anaconda\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 24, in swig_import_helper
    _mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
  File "D:\python\anaconda\lib\imp.py", line 243, in load_module
    return load_dynamic(name, filename, file)
  File "D:\python\anaconda\lib\imp.py", line 343, in load_dynamic
    return _load(spec)
ImportError: DLL load failed: 找不到指定的模块。


Failed to load the native TensorFlow runtime.

See https://www.tensorflow.org/install/errors

for some common reasons and solutions.  Include the entire stack trace
above this error message when asking for help.

Process finished with exit code 1

我的错误提示是中文的:DLL load failed: 找不到指定的模块;当然相应的英文提示为:DLL load failed: The specified module could not be found。

三、解决方法

这个问题比较新,网上目前的解决方案比较少,经过一番查找,终于在github上找到和我类似问题的帖子了,先给出链接:https://github.com/tensorflow/tensorflow/issues/25597,下面再详细介绍。

贴主的情况和我类似,先给出贴主的环境:

可以看到贴主也是更新tensorflow版本到1.12,然后才遇到了这个问题。然后贴主还在下面详细介绍了自己配置环境的过程,并提到了使用CUDA9.2和CUDA10.0版本仍会出现这样的错误。

针对这个问题,有人提出,安装CUDA9.0:

然后贴主将他的环境重新配置为了CUDA9.0和cuDNN7.05

关于如何查看自己的CUDA版本,可以打开cmd,在cmd里面输入nvcc --version即可查看:

这里给出一些我试过的方法,不过都没有解决问题:

(1)安装其他版本的CUDA。然而没有解决问题。。。。

(2)更新VS2015,参考博客:tensorflow安装问题github。然而也没有解决问题。。。

(3)继续翻github上的帖子,发现后面很多人都在感谢层主 fo40255,就是上面(2)的层主留言,重新安装.whl文件,不过我没有尝试这个方法,后面会提到我的方法,下面随便摘了一段回帖:

最后总结一下我自己解决这个问题的方法:

(1)打开cmd,输入pip uninstall tensorflow,也就是卸载tensorflow。

(2)卸载完成之后再重新安装,输入pip install tensorflow。

(3)安装好之后再简单测试一下,没有报错。简而言之,坏了就重装。。。。(反正自己就是这么重新弄好了)

当然了,如果重新安装不能解决问题的话,可以考虑上面 fo40255层主提出的方法,重新覆盖.whl文件,该文件的链接这里也顺便给出吧:https://github.com/fo40225/tensorflow-windows-wheel/tree/master/1.6.0/py36/CPU/sse2

 

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

全部梭哈迟早暴富

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值