tensorflow-gpu和Cuda、cuDNN安装成功经验(win10、无需Anaconda)

因为自己的win10笔记本上用cpu跑深度学习的训练实在是慢,想把电脑上的一块显存2G的Nvida Geforce 940mx的显卡用起来。虽然这个显卡很普通,但比cpu跑的还是快多了。(因为GPU更适合进行矩阵运算)

经过一下午的努力,一波三折之后终于安装成功,深度学习训练程序成功在GPU上跑了起来,速度比cpu快了7倍。

网上有很多tensorflow-gpu版本的安装和配置教程,但有的是linux的,有的需要Anaconda。本文主要针对于win10系统下没有Anaconda的小伙伴。

目录

Cuda、cuDNN安装方法两篇:

tensorflow-gpu安装:

踩坑经验:

GPU运行效果:


Cuda、cuDNN安装方法两篇:

https://www.cnblogs.com/fanfzj/p/8521728.html

https://blog.csdn.net/claroja/article/details/97804430

官网下载安装,按操作下载安装,把cuDNN解压出cuda文件夹后放到安装好的CUDA/v10.1目录下即可

安装好之后配置环境变量,把三个CUDA的文件夹路径和一个cuDNN解压出出的cuda/bin路径设置环境变量

官网说明:https://tensorflow.google.cn/install/gpu

 

tensorflow-gpu安装:

我用的是win10的cmd里输入pip指令安装,前提是你预先装有pip3

pip3 install tensorflow-gpu==2.2.0

如果以前装的有tensorflow-cpu版本或者其他版本,要先卸载掉

 

踩坑经验:

成功的关键:python -> tensorflow-gpu ->Cuda ->cuDNN 四者的版本要适应,尤其是后三者!我安装成功过的两种版本如下:

pythontensorflow-gpuCudacuDNN
3.6.62.2.0CUDA Toolkit 10.1 update2 (Aug 2019)v7.6.5 (November 5th, 2019), for CUDA 10.1
3.6.62.0.0CUDA Toolkit 10.0 (Sept 2018)v7.6.5 (November 5th, 2019), for CUDA 10.0

其中Cuda的安装网址:https://developer.nvidia.com/cuda-toolkit-archive   建议选在线模式安装,以免下载很大的安装包

cuDNN的安装网址:https://developer.nvidia.com/rdp/cudnn-download   需要先注册账户登陆(Login)

tensorflow-gpu版本的选择看需要,我的一些程序写法就没法用2.0.0版本的跑,所以后来有重新装了2.2.0版本的。

 

都安装好之后,在cmd中输入以下三个指令验证是否装好:

python
import tensorflow as tf
tf.test.is_gpu_available()

正常会输出True,说明tensorflow-gpu版本可以使用了。如下

如果报错找不到某个dll的库,那么一定是tensorflow-gpu或者CUDA的版本安装的不对!!!

 

修改已经安装的tensorflow-gpu版本的方法,cmd里输入:

pip3 install --upgrade tensorflow==2.2.0

 

修改已经安装好的CUDA版本的方法:

https://www.it610.com/article/1280418658635497472.htm

控制面板,卸载掉Nvida的CUDA开头、版本号结尾的才安装的东西。然后删除C盘programFiles里面安装的CUDA文件夹,然后360安全卫士清楚一下残留注册表(也可以不做)。下载新的CUDA和cuDDN,安装,重新配置环境变量!!

 

如果配置好CUDA和tensorflow的版本,但是卡在Adding visible gpu devices:0   

不要慌,这里第一次确实比较慢,让我一度以为是没有安装成功,但是等了5分钟就好了。

 

如果最后还是用不了gpu,尝试更改Nvida控制面板的首选设置,或者用360驱动什么的更新一下驱动。

 

GPU运行效果:

想要开启GPU模式运行程序,只需要在程序开头加上:

import os
os.environ["CUDA_VISIBLE_DEVICES"] = "0"  # -1代表不使用GPU,如果有就改为0,1等

如果填-1,那么tensorflow-gpu会提示没有GPU设置,并自动运行cpu模式,;如果填对应的GPU编号(0开始),则使用相应的GPU。

 

我试了一个Unet网络训练程序,如果用cpu,训练一轮(epochs)需要203秒。

cpu的利用率逼近100%,GPU没有使用。训练很慢,如果要训练几百轮,可能要花好几个小时,这是令人无法接受的。

 

但是如果用GPU模式,训练一轮只需要28秒,比CPU快了7倍!如下

这时GPU被有效利用,减轻了CPU的负担,而且快了很多。

 

ps:如果自己电脑的GPU实在配置不好,但又想用GPU跑,可以考虑使用谷歌云盘的colaboratory,有免费的云端GPU可以使用,效果也很好(一次连续使用不能超过12小时)

colab教程:https://blog.csdn.net/qq_29592829/article/details/90106639

 

成功路上无捷径,没有哪个教程能保证你100%安装成功,要根据自己电脑出现的问题去查对应的解决方案,坚持就是胜利!

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值