来回折腾过几次Tensorflow-gpu的环境搭建,想把成功的方法分享给大家!
(也是因为自己前阶段的深度学习环境gpu调用出了问题,跑程序时发现CPU的占用率达到了99%,而GPU却没有被调用。经过反复卸载重装软件,烦了三四天才成功,所以趁着成功之余还是记录下来,即能避免自己重蹈覆辙,也能让大家少走弯路。)
系统:Windows10
显卡:NVIDIA GeForce GTX 1060
下载地址:python官网
(注:路径最好默认,别忘了把python添加到环境变量中,勾选最底下的就好了,省的我们自己添加。)
win+R打开cmd,然后输入python就可以看到安装版本信息。
在桌面右击,选择“NVIDIA控制面板”,然后如下:
(注:参考该链接中安装CUDA 9.0的内容,因为安装CUDA 10.0的步骤与此相同)
1、以下的两个环境变量是否存在
2、验证安装的版本:nvcc -V
下载后是一个压缩文件。
(注:参考该链接中安装CUDNN 7.3的内容,因为安装CUDNN 7.6的步骤与此相同)
安装版本:tensorflow_gpu-1.13.1-cp37-cp37m-win_amd64.whl
安装参考:https://www.jianshu.com/p/4ebaa78e0233
(注:参考该链接中安装tensorflow_gpu1.10的内容,在cmd中输入命令改成:
pip install tensorflow_gpu-1.13.1-cp37-cp37m-win_amd64.whl
然后,按Enter键执行命令。其他安装tensorflow-gpu 1.13.1的步骤与此链接相同)
考虑到部分读者可能没有安装运行tensorflow必需的msgpack库。在cmd中输入命令:pip install msgpack
,然后按Enter键运行命令。
参考链接:https://www.jianshu.com/p/4ebaa78e0233
(注:参考该链接中测试运行环境的内容)
测试代码为:
import tensorflow as tf
hello = tf.constant('hello, tensorflow!')
session = tf.Session()
print(session.run(hello))
Matplotlib 是 Python 的绘图库:
pip install matplotlib
sklearn是用python实现的机器学习的算法库 :
pip install sklearn
pandas 是基于NumPy 的一种工具,用于解决数据分析任务:
pip install pandas
该部分很有必要验证,不然跑程序的时候就会发现与我一样的问题——程序都在用CPU的计算能力,而GPU却没有被调用,导致程序跑的很慢。
from tensorflow.python.client import device_lib
import tensorflow as tf
#检测tensorflow的能使用设备情况:
print(device_lib.list_local_devices())
#判断CUDA是否可用:
print(tf.test.is_built_with_cuda())
#判断GPU是否可用:
tf.test.is_gpu_available(
cuda_only=False,
min_cuda_compute_capability=None
)
验证结果如下图:
1、有些读者电脑上有多个版本的python,一定要知道各个python装在哪,否则建议只留一个。
2、显卡驱动这一块会有很多问题,建议读者先将Nvidia相关驱动卸载干净后,重新安装到最新的Nvidia驱动,再进行安装CUDA 10.0的操作。
3、我之前装的是CUDA9.0,然后不知道什么原因调用不了GPU跑程序,然后查看自己电脑CUDA版本号,才换成CUDA10.0成 功的。(理论上应该是兼容低版本的,估计是因为跨了一个版本出的问题)
4、安装tensorflow-gpu时,在后台遇到“权限不够”和“拒绝访问”的问题,可以尝试用管理员身份启动cmd终端,然后重新尝试。
5、重要的事情说一遍!一定要验证Tensorflow能否使用GPU,能否调用做并行计算的CUDA。
6、如果读者对细节有疑问,可以在评论区留言。