GPU运行Tensorflow详细教程及错误解决

释放双眼,带上耳机,听听看~!
本文详细介绍了在GPU上运行Tensorflow的教程,包括CUDA与CUDNN版本对应、系统环境变量配置等,帮助解决Tensorflow运行过程中可能出现的错误。

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

GPU运行Tensorflow详细教程及错误解决

前提条件

最重要的一点:CUDA与tensorflow的版本一点要对应,不然用不了!

首先在系统搜索NVIDIA进入该控制面板,查看驱动版本

GPU运行Tensorflow详细教程及错误解决

进入该网站可以查看自己系统驱动版本所支持的CUDA版本docs.nvidia.com/cuda/cuda-t…GPU运行Tensorflow详细教程及错误解决

之后进入官网下载CUDA与CUDnn(这两个是配套的,都要安装CUDNN下载回比较麻烦,需要注册)

CUDA官网下载地址: developer.nvidia.com/cuda-toolki…

CUDNN官网下载地址:developer.nvidia.com/rdp/cudnn-a…

下载后安装CUDA,需要注意第一个安装界面出现的文件路径是解压路径(如下图),这个不用改,安装结束后系统会自动删除

GPU运行Tensorflow详细教程及错误解决

而文件真正的安装路径在我们后续选择安装的项目才出现(这时一般会弹出三个路径,可以改也可以不改,我个人是把它改了,改完后要记住这个路径,后续可能会用到),到选择安装那一步时只需要选择CUDA这个选项即可,其他都不用选。

安装完毕后解压下载的CUDNN,里面会有以下几个文件

GPU运行Tensorflow详细教程及错误解决

复制这几个文件,直接粘贴到CUDA的安装文件夹下,粘贴时系统提示有重复文件就直接选择替换文件

GPU运行Tensorflow详细教程及错误解决

然后在命令行输入nvcc -V,有出现以下的版本信息就OK了,若没有出现则是环境变量没有配置好

GPU运行Tensorflow详细教程及错误解决

若系统没有知道配置好则需要手动配置,在系统环境变量PATH添加以下几个,其中画黄线的部分就是刚刚CUDA的安装路径(系统默认的安装路径为C:Program FilesNVIDIA GPU Computing ToolkitCUDA)

GPU运行Tensorflow详细教程及错误解决

配置完成后在运行nvcc -V就发现可以了

接着打开命令行,若下载cpu版本则输入:pip inatall tensorflow
gpu版本则输入:pip install tensorflow-gpu
等待安装完毕后在命令行输入python,接着输入import tensorflow,系统出现下图中的这行文字未报错,或是什么提示都没有就说明安装成功了。

GPU运行Tensorflow详细教程及错误解决

配置GPU运行

在运行的代码前面加上以下代码

import os
os.environ["CUDA_DEVICES_ORDER"] = "PCI_BUS_IS"
os.environ["CUDA_VISIBLE_DEVICES"] = "0"
#这里0表示第0块GPU,看个人情况分配

若在终端与运行可以打开文件所在路径然后输入以下代码运行

CUDA_VISIBLE_DEVICES=1,2  python XXX.py
#这里的XXX是文件名,要根据自己的文件名进行修改

确认是否成功配置

1.打开python编译器,或者命令行输入python,然后输入以下代码

from tensorflow.python.client import device_lib
print(device_lib.list_local_devices())

系统既有CPU又有GPU信息说明配置成功。

GPU运行Tensorflow详细教程及错误解决

打开命令行输入nvidia-smi命令就可以查看当前CPU与GPU信息了,一般在运行过程中我们会输入nvidia-smi –l命令让其默认没5秒刷新一次,查看程序运行过程中系统的变化(可按Ctrl+C停止)。

GPU运行Tensorflow详细教程及错误解决

其他命令:nvidia-smi –l xxx(指定刷新频率,单位为S)
nvidia-smi –f xxx(将查询的信息输出到具体的文件中,不在终端显示)

查看python路径:where python
查看python版本:python -V 或 python –version
查看tensorflow版本与路径:

import tensorflow as tf
print(tf.__version__)
print(tf.__path__)

出现的错误及解决方案

1.仍然运行很慢,仔细检查会发现在运行窗口中有如下错误:
tensorflow-keras: Layer lstm will not use cuDNN kernel since it doesn‘t meet the cuDNN kern
这是由于不符合LSTM网络的gpu运行规范所导致的,基础题规范见下图
GPU运行Tensorflow详细教程及错误解决

由于其中大多数参数不填默认为标准值,只有recurrent_activation与activation参数经常会被修改,因此我们要将代码中的LSTM网络这些参数进行修改或直接删除,如下,只保留输出维度与激活函数,这样就不会报错了,可以正常GPU运行了。

tf.keras.layers.LSTM(16,recurrent_activation='sigmoid')                                        
本网站的内容主要来自互联网上的各种资源,仅供参考和信息分享之用,不代表本网站拥有相关版权或知识产权。如您认为内容侵犯您的权益,请联系我们,我们将尽快采取行动,包括删除或更正。
AI教程

频率编码及其在机器学习中的应用

2023-12-5 1:02:14

AI教程

深度学习进阶篇[9]:对抗生成网络GANs综述

2023-12-5 4:02:14

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索