当前位置 主页 > 服务器问题 > Linux/apache问题 >
装tensorflow-gpu的时候经常遇到问题,自己装过几次,经常遇到相同或者类似的问题,所以打算记录一下,也希望对其他人有所帮助
安装完之后会用import tensorflow看是否安装成功,结果报错,主要有碰到下面两大类报错信息:
报错信息里面有大量的pywrap_xxx相关的脚本报错:
Traceback (most recent call last): File "E:\study\machinelearning\ENV\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 58, in <module> from tensorflow.python.pywrap_tensorflow_internal import * File "E:\study\machinelearning\ENV\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 28, in <module> _pywrap_tensorflow_internal = swig_import_helper() File "E:\study\machinelearning\ENV\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 "E:\study\machinelearning\ENV\lib\imp.py", line 242, in load_module return load_dynamic(name, filename, file) File "E:\study\machinelearning\ENV\lib\imp.py", line 342, in load_dynamic return _load(spec) ImportError: DLL load failed: 找不到指定的模块。
这类错误出现的最多,主要有几大类原因:
这个是自己第一次装的时候碰到的,下载 vc_redist.x64.exe 安装之后就ok了
再生波澜
自己今天再装的时候,下载下来发现安装不了,看日志是说我的vs版本比较新,所以不能装。这个时候可以可以看看自己本机的system32下面有没有MSVCP140.DLL这个文件
其他解决方案
有些网友说用的比较新的tensorflow,装了2017的Redistributable包就好了,你也可以试试
我再装完2017的包之后,并且检查自己系统中已经有了MSVCP140.DLL文件依旧报同样的错误
这个问题也是非常多的,我装了很多次的cuda基本上没有安装失败过,但是遇到和cudnn版本不一致的情况。因为下载的cuda默认是最新版本的cuda10.0,而我下载的cudnn当时用的旧的,也就是给cuda9.0的,所以后面换了一下也就解决问题了
cuda下载
我这里默认点完自己系统的配置(win10x64)得到的是最新的cuda10-win10,可以点击最右边的Legacy Releases看到更早一点的版本
cuda安装和验证
一路next貌似没遇到过啥问题
验证的话:在命令行下面输入nvcc -V,看是否OK
另外sample下面的两个是deviceQuery.exe和bandwidthTest.exe执行都没有出现问题过
cudnn下载
要登录nvidia developer账号
点开最下面的Archived cuDNN Releases可以看到更多的版本,因为我下载的是cuda-9.0,稳妥起见,我下载的cudnn版本是:Download cuDNN v7.0.5 (Dec 5, 2017), for CUDA 9.0
按照道理来讲这里的Download cuDNN v7.5.0 (Feb 21, 2019), for CUDA 9.0