目录
3)根据torch版本确定torchvision与torchaudio版本与python版本
1)根据cudatoolkit版本和python版本寻找适合的tensorflow-gpu版本
4)为什么CUDA装好了,Tensorflow-GPU不能用?
Not creating XLA devices, tf_xla_enable_xla_devices not set
1 安装显卡驱动NVIDIA
这个网上有很多教程了,这里就不再详细说明了,可以参考下面这个
2 安装Anaconda
这个网上有很多教程了,这里就不再详细说明了,这里搬运一个:
首先要安装一个和你电脑匹配的Anaconda : 比如电脑是win64位,最好是安装后缀带_64.exe的包(注意是Windows):
![]()
Anaconda 安装包可以到 Index of /anaconda/archive/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror 下载
下载好后安装:
进入到安装界面
![]()
一直next就行,直到
![]()
如果你不想放在它默认的c盘,就点击Browse,把路径改了(我是在D盘建了一个叫anaconda3的文件夹,然后把路径改到那),之后点击next
注意!!!重点来了
下面图中红色的一定要勾上,不然后面会很麻烦,它默认是没有勾选上的,最后点击Install就好了
![]()
以上Anaconda就安装好了,接下来我们就要创建虚拟环境了
3 创建虚拟环境
一般创建虚拟环境的时候默认是在C盘目录下,但是我们也可以自己指定创建在任意路径,方法如下:
1)使用命令查看当前拥有的虚拟环境:
conda info --envs
![]()
2) 在指定目录下创建新的虚拟环境,输入命令:
conda create --prefix=你的路径 python=3.8(版本号自己选择)
3)激活虚拟环境
conda activate 你的虚拟环境的路径
创建虚拟环境后,接下来先开始pytorch下GPU训练环境的配置
3 pytorch下GPU训练环境的配置
1)根据CUDA版本明确共用cudatoolkit版本
首先查看一下电脑显卡所能支持的最高cudatoolkit版本:
在CMD中输入:
nvidia-smi
![]()
CUDA Version:11.1代表你所能下载的最高cudatoolkit版本。
由于我们要配置的是一个既可以用pytorch又可以用tensorflow的GPU做训练的虚拟环境,因此我们要选择一个两者可以共同使用的cudatoolkit版本,我目前仅发现了cudatoolkit11.0可以用于两者共用。因此推荐大家在显卡驱动版本不是太高的情况下使用cudatoolkit11.0。
2)根据cudatoolkit版本确定torch版本
确定了cudatoolkit版本后需要确定torch版本,可以参见下表:
Cudatoolkit和Torch版本的对应关系
![]()
如果你在上表中找不到对应关系,可以查看官网:PyTorch
由于我们选择的是11.0的cudatoolkit,因此可以安装1.7.1或者1.7.0的torch,这里我们选择1.7.1
3)根据torch版本确定torchvision与torchaudio版本与python版本
torch版本确定之后,要确定torch与torchvision对应关系以及torch与torchaudio对应关系
torch与torchvision对应关系
![]()
![]()
torch与torchaudio对应关系
![]()
![]()
4)确定命令语句
确定完上述版本后,根据相应的版本信息得到下面的命令语句:
pip install torch==1.7.1+cu110 torchvision==0.8.2+cu110 torchaudio==0.7.2 -f https://download.pytorch.org/whl/torch_stable.html
将语句输入到终端中,等待下载完成即可
5)验证是否成功
新建一个python文件,输入如下语句,然后查看输出结果即可。
(也可以在命令行搞,不过一个个输太麻烦了)
- import torch
- import sys
-
- print("Is CUDA available: ", torch.cuda.is_available())
- print("CUDA device count: ", torch.cuda.device_count())
- print("CUDA device name: ",torch.cuda.get_device_name(0) if torch.cuda.is_available() else "No GPU",)
-
- print("CUDA version: ", torch.version.cuda)
- print("cuDNN version: ", torch.backends.cudnn.version())
- print("Python Version:", sys.version)
如果显示如下结果,就代表pytorch下GPU训练环境你已经配置好了
![]()
没有成功的UU可以看看是不是自己版本对应错误了,再重新尝试一遍
4 tensorflow下GPU训练环境的配置
完成1~3的步骤之后你就在虚拟环境中配置好了pytorch环境,现在你有两个选择:
- 继续在该环境中配置tensorflow环境(可能存在一定问题,例如出现“无法对CNN网络进行训练”的情况;
- 新创一个虚拟环境配置tensorflow环境(个人推荐)。
如果你选择方式二,那么就先新创建一个虚拟环境,然后执行以下步骤。
1)根据cudatoolkit版本和python版本寻找适合的tensorflow-gpu版本
查看tensorflow官网的版本要求:在 Windows 环境中从源代码构建 | TensorFlow(见【经过测试的构建配置】)
![]()
可以看到按照CUDA11.0的版本,我们需要安装tensorflow-gpu-2.4.0
因此在终端输入命令:
pip install tensorflow-gpu==2.4.0
等待下载完毕即可
2)安装配套的cudatoolkit以及cudnn
选择方式二(新创虚拟环境)的请执行该步骤,否则跳过该步骤
conda install cudatoolkit=11.0
conda install cudnn=8.0
当你执行conda install cudnn=8.0,大概率会弹出:
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
出现这种情况,在控制台输入:
conda search cudnn -c conda-forge
![]()
会出来好多,那么选择哪个呢?
直接去官网找cudatoolkit11.0对应的cudnn版本(注意我这里指的是以8.0开头的,大方向不能错):
cuDNN Archive | NVIDIA Developer
![]()
我们确定了是8.0.5后,再去终端查以这个开头的:很显然,是8.0.5.39,因此输入
conda install cudnn==8.0.5.39 -c conda-forge
3)验证是否成功
- import tensorflow as tf
-
- print(tf.__version__)
- print(tf.test.gpu_device_name())
- print(tf.config.experimental.set_visible_devices)
- print("GPU:", tf.config.list_physical_devices("GPU"))
- print("CPU:", tf.config.list_physical_devices(device_type="CPU"))
- print(tf.config.list_physical_devices("GPU"))
- print(tf.test.is_gpu_available())
- # 输出可用的GPU数量
- print("Num GPUs Available: ", len(tf.config.experimental.list_physical_devices("GPU")))
- # 查询GPU设备
如果出现下面这样就代表安装成功了
![]()
4)为什么CUDA装好了,Tensorflow-GPU不能用?
可以参考下面这篇文章,总结了很多原因,可以一一比对
【tensorflow】为什么CUDA装好了,Tensorflow-GPU不能用?_安装了cuda却不调用gpu-CSDN博客
也有可能是缺少一些配置文件,例如下面的:
![]()
解决办法可以参考:
- Could not load dynamic library ‘cusolver64_10.dll’; dlerror: cusolver64_10.dll not found 错误解决-CSDN博客
- TensorFlow DLL文件缺失的解决方案:cudnn64_8.dll not found&cusolver64_10.dll not found_tensorflow_ACMSunny-华为云开发者联盟 (csdn.net)
- 解决:Not creating XLA devices, tf_xla_enable_xla_devices not set-CSDN博客
- None of the MLIR Optimization Passes are enabled (registered 2)解决办法-CSDN博客
- 深度学习GPU训练中常见的问题_none of the mlir optimization passes are enabled (-CSDN博客
- optimization_pass.cc:185] None of the MLIR Optimization Passes are enabled (registered 2)解决办法-CSDN博客
- Tensorflow GPU显存一下占用满不能训练,已解决(tf2.0)_显示显存占用率100%,但是却没有开始训练-CSDN博客
- tensorflow:查看tensorflow版本号、查看cuda版本、查看cudnn版本、查看GPU可用性、查看cuda可用性-CSDN博客
- 解决问题:Could not locate zlibwapi.dll. Please make sure it is in your library path!-CSDN博客
- 解决Loaded cuDNN version 8400 Could not load library cudnn_cnn_infer64_8.dll. 问题_loaded cudnn version 8500-CSDN博客
- 求助! tensorflow 中,CNN 在GPU上运行无响应,然后内核崩溃_keras.layers.conv2d 内核似乎挂掉-CSDN博客
- 【仙女踩坑实录】conda找不到高版本(8.0)的cudnn_cudnn 8.0找不到-CSDN博客
- TensorFlow安装与环境配置 — 简单粗暴 TensorFlow 2 0.4 beta 文档
- Tensorflow GPU显存一下占用满不能训练,已解决(tf2.0)_显示显存占用率100%,但是却没有开始训练-CSDN博客
5)tensorflow中一些很奇怪的问题(已解决)
自定义模型,创建模型时会把显存占满,无法训练
Tensorflow GPU显存一下占用满不能训练,已解决(tf2.0)_显示显存占用率100%,但是却没有开始训练-CSDN博客
Not creating XLA devices, tf_xla_enable_xla_devices not set
解决:Not creating XLA devices, tf_xla_enable_xla_devices not set-CSDN博客
5 参考链接:
【Windows】安装NVIDIA驱动 / 更新驱动_windows 更新nvidia驱动-CSDN博客
手把手教你Anaconda安装虚拟环境配置yolov5_anaconda安装yolov5-CSDN博客
PyTorch中torch、torchvision、torchaudio、torchtext版本对应关系_torch2.0.1对应的torchvision-CSDN博客
【最新】CUDA Toolkit版本及可用PyTorch对应关系(参考官网)_cudatoolkit版本对应-CSDN博客
【tensorflow】为什么CUDA装好了,Tensorflow-GPU不能用?_安装了cuda却不调用gpu-CSDN博客
评论记录:
回复评论: