Win10系统下Tensorflow-GPU配置总结

 最近两天小编实验室新买回来一台图形工作站,需要搭建python+tensorflow-gpu的环境,花费了一天半的时间配置完成,当然如果你网络好,可能半天就OK拉,下面来个总结吧。

表格中是此次配置的主要环境

windows10系统
Anaconda3-4.0.0(64位)
python3.5

cuda10.0

 

tensorflow-gpu1.14.0

1、配置中的软件要求按照tensorflow官网上说的来就好,点击链接进入https://tensorflow.google.cn/install/gpu

但是注意,如果你的电脑中没有安装过VS,建议先安装VS,否则在安装CUDA的时候会有些问题,小编这次安装了VS2012以及VS2019(主要看中它能编写并调试Python代码,也是为了尝尝鲜)

切记,不要指点点鼠标安装完就好了,还需要配置环境变量哦,上面链接里面都有,最后 来检验一下CUDA是否安装成功:

打开命令行,输入nvcc --version 

得到下图的结果说明你的cuda已经配置成功

Win10系统下Tensorflow-GPU配置总结

 

2、上述步骤一般不会出错,接下来我们就要安装Tensorflow-gpu啦,这个可是充满了未知的坑,总是与有些库不能兼容,所以要不断的卸载和安装一些Python的库。

打开命令行,执行pip3 install --upgrade tensorflow-gpu 如果你的网络存在问题,可能你也会遇到下图这样的问题

Win10系统下Tensorflow-GPU配置总结

切记,只要是进度条还没走完就报错的,那百分之八九十就是网络的问题,所以小编就搜呀搜,看到网上说在cmd下输入pip install -i https://pypi.mirrors.ustc.edu.cn/simple/ tensorflow-gpu(因为原地址下载太慢了,所以零时使用清华的源下载)。

如下图所示是使用清华的源进行安装的情况:

Win10系统下Tensorflow-GPU配置总结

很nice,但是天总不遂人愿,还出现了问题:xxx has requirement setuptools>=.....cannot uninstall 'numpy'

Win10系统下Tensorflow-GPU配置总结

上述其实包含两个问题,一个是setuptools的版本问题,一个是numpy 的版本问题,那我们就先一个一个的解决(此刻我还有点耐心,~~~~~)

针对setuptools的版本问题,使用pip3 install --upgrade setuptools

是的,我也以为没毛病,可是倒霉催的又出现了 Cannot remove entries from nonexistent file c:\anaconda3\lib\site-packages\easy-install.pth的问题,如下图:

Win10系统下Tensorflow-GPU配置总结

讲真到这里我有点受不了了,你想象不到如果如果你再去解决easy-install这个问题,还会出现什么问题,所以一不做二不休

干脆就忽略它吧,逃避虽然可耻但是有用呀(当然正在看文章的你有更好的方法可以留言交流哦~)

上命令:pip3 install --upgrade --ignore-installed setuptools

ok setuptools的问题完美解决(跳过),哈哈哈。

接下来就是第二个问题numpy 的版本问题,要知道目前使用pip3 install --upgrade numpy 是可以升级Numpy的,但是奈何小编的网络不好,命令行下载总是出问题,如图:

Win10系统下Tensorflow-GPU配置总结

那怎么办呢,首先numpy是一个单独的库,可以单独安装,所以我们可以找一个网络好的童鞋帮你下载一个numpy-1.16.4-cp35-cp35m-win_amd64.whl文件(各位根据自己的需求寻找合适的版本号下载),进行离线安装,切记下载的文件,不管它的名字有多长,都不要改名字,不然它告诉你:xxx.whl is not a valid wheel filename,厉害不,有图有真相:

Win10系统下Tensorflow-GPU配置总结

Win10系统下Tensorflow-GPU配置总结

对,要先把命令行的路径切换到你whl放置的路径下哦。

胜利的曙光在我放弃之前到来了,解决了上面两个问题,再次执行:pip install -i https://pypi.mirrors.ustc.edu.cn/simple/ tensorflow-gpu

Win10系统下Tensorflow-GPU配置总结

ok,大功告成

3、测试

将下面的代码复制到spyder里面进行测试

import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))
输出:
b’ Hello, TensorFlow!

为了体验一把gpu加速的优势,我这里使用卷积神经网络进行MNIST_data的训练和测试,我的小电脑,如果跑起来4个cpu核,4g内存全部占满,大约要跑一个多小时,来看看我们的GPU加速:不到半分钟就出来了,大爱,感觉科研又有动力了!