admin管理员组

文章数量:1658120


其实这就是个踩坑记录

作为一名苦逼研究生苦苦守在windows系统上,只因为当初买电脑的时候搞了一台无法装ubuntu的Acer.
之前用过一段时间的TensorFlow(https://www.tensorflow/), 好在现在已经有了能在windows上使用的tensorflow,甚至通过conda可以直接安装,不过这个版本的tensorflow 是cpu版本的。

先前做过对照测试,同一个训练程序GPU的训练速度大约是CPU的20倍,20倍!!!,所以在尝试了一下之后就决定转战GPU版本的tensorflow。

已经有先驱在Win10+anaconda3安装tensorflow-gpu了,参考这里,写得很详细,基本上按部就班就能安装好。但安装的过程中以及后续的使用中的碰到了一些问题,记一下解决方案。

VS2017

对,我用的是vs2017 community,原因是因为现在vs2015属于旧版本,官网上下载不便(反正我翻了几次没找到2015的)。但是打开CUDA的编译文件夹的时候你会发现它之支持到2015。最后是退而求其次用vs2013编译了对应版本的CUDA,顺利编译。

CUDA与cudnn

现在NVIDIA官网上提供的适配于Win10的安装程序为cuda_8.0.61_win10.exe,和cudnn-8.0-windows10-x64-v6.0

之前那篇教程是将cudnn作为一个附加的组件来安装的,然而实际上,cudnn是必不可少的,否则将无法在 python中import tensorflow

官网提供的是cudnn 6, 在实际使用的时候,会发现现在 cudnn6还存在一个bug, 导致无法顺利import tensorflow。

如果你去查这个“未发现相应模块”的错误,你会在StackFLow上发现有人给出的思路清奇的解决方案:将之前cudnn文件的三个文件夹覆盖过去后再将C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin下的cudnn64_6.dll改成cudnn64_5.dll。还有一堆人点赞。

别信他,这么改虽然能让tensorflow顺利import,但是在实际使用CNN的时候依旧会因为版本问题报错, 正确姿势是去https://developer.nvidia/rdp/cudnn-download 选Download cuDNN v5.1 (Jan 20, 2017), for CUDA 8.0。

载入替换掉原来在C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin下的cudnn64_5.dll后就可以顺利在python中使用tensorflow自带的CNN功能了。

然而,问题并没有结束
在Tensorflow-gpu使用ImageNet时需要跑个测试, 会发现依旧会报错。

本文标签: 报错解决方法GPUtensorflow