第一次安装TensorflowCPU版本时,觉得好麻烦啊,有很多版本匹配问题。等我安装完GPU版本后,就觉得CPU版本也太简单了。带独立GPU的电脑可以使用TF的GPU版本进行加速。事实证明,即使是“很烂”的显卡,带来的加速效果也是很明显的(有一些包会针对GPU加速)毕竟我的GeForce GT 730都跟服务器20个CPU跑的速度差不多。下面是基于我的GT730显卡的配置教程,对应的是Tensorflow1.0版本。
- 版本匹配问题
为了用上GPU,我们除了Tensorflow和keras,还需要安装Cuda和cuDNN。四者版本需要据需要对应,如下表:
看起来我们是可以随便选一套,实际上是受到显卡限制的。我们只能选取显卡支持的Cuda版本及以下的。
2. 查看显卡型号
第一步需要确定我们的独立显卡是否支持Cuda,支持列表见官网:
CUDA GPUs
确定显卡支持Cuda之后,需要查看其支持的最高Cuda版本,可以在NVIDIA控制面板→右下角系统信息→组件。支持版本及以下都可以运行,这里GT730最高支持版本是Cuda9.1。于是可以在这个限制下选取一套版本。
3. 下载安装anaconda和Tensorflow
首先Anaconda需要放到环境变量里面,如果在安装的时候没加,后面要手动加进去。
最好先安装好Tensorflow确认没问题再安装Cuda和cuDNN。我一开始先安装了Cuda9.1,然后安装了TF1.12.0,结果TF1.12.0全是坑,import总是出错,然后降级到TF1.9.0可以正常import,但是只支持Cuda9.0了,只好又重新下了Cuda9.0,重新安装。这里说一下,TF1.9.0 import的时候错误信息告诉我了需要Cuda9.0版本,还是很人性化的。
注意同一个虚拟环境下不能同时安装TF的CPU和GPU版本,所以需要新创建一个虚拟环境,专门安装GPU版本。
4. 下载安装Cuda
Cuda所有版本下载链接:
CUDA Toolkit Archive
下载好可以安装,这个过程似乎也有一些坑,但是我没有遇到。安装过程如下:
然后选择安装路径就好了。我一般都是默认安装路径,以防出现各种bug。不过我当时安装的时候并没有自定义安装,安装了所有组件,好像也没什么影响,就是多安装的东西有点碍眼。
安装完成之后最好测试一下是否正常:
安装好之后,电脑系统环境变量里面应该多出两个,下图两个cuda的路径:
除这两个之外,许多教程都会告诉我们要自己再加一些其他路径,要加的内容各个教程还相差很大。我自己就加了一个:
C:Program FilesNVIDIA GPU Computing ToolkitCUDAv9.0bin
后续并没有出问题。
5. 下载安装cuDNN
装好Cuda之后要装cuDNN,只需注意版本匹配便好:
cuDNN 所有版本下载地址:
cuDNN Archive
下载之后,解压,把bin,include,lib三个文件夹里面的东西都放到CUDA/v9.0对应的同名文件夹里面,cuDNN就算配置好了。
6. 总结
配置tensorflow-gpu乍一看略复杂,总结一下发现好像也并没有特别麻烦,只是注意好版本,重新建个虚拟环境,装好TF,Cuda和cuDNN就好。但是坑太多了,有些坑要爬很久,也不一定能爬出来。不过讲起来,我装keras从来没有出现过问题。
PS:文章中有任何问题欢迎大家指出。