首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

⭐⭐[ pytorch+tensorflow ]⭐⭐配置两大框架下的GPU训练环境

  • 25-02-16 23:43
  • 4702
  • 13621
blog.csdn.net

目录

1 安装显卡驱动NVIDIA

2 安装Anaconda

3 创建虚拟环境

3 pytorch下GPU训练环境的配置

1)根据CUDA版本明确共用cudatoolkit版本

2)根据cudatoolkit版本确定torch版本

3)根据torch版本确定torchvision与torchaudio版本与python版本

4)确定命令语句

5)验证是否成功

4 tensorflow下GPU训练环境的配置

1)根据cudatoolkit版本和python版本寻找适合的tensorflow-gpu版本

2)安装配套的cudatoolkit以及cudnn

3)验证是否成功

4)为什么CUDA装好了,Tensorflow-GPU不能用?

5)tensorflow中一些很奇怪的问题(已解决)

自定义模型,创建模型时会把显存占满,无法训练

Not creating XLA devices, tf_xla_enable_xla_devices not set

5 参考链接:


1 安装显卡驱动NVIDIA

这个网上有很多教程了,这里就不再详细说明了,可以参考下面这个

【Windows】安装NVIDIA驱动 / 更新驱动_windows 更新nvidia驱动-CSDN博客

2 安装Anaconda

这个网上有很多教程了,这里就不再详细说明了,这里搬运一个:

手把手教你Anaconda安装虚拟环境配置yolov5_anaconda安装yolov5-CSDN博客

首先要安装一个和你电脑匹配的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文件,输入如下语句,然后查看输出结果即可。

(也可以在命令行搞,不过一个个输太麻烦了)

  1. import torch
  2. import sys
  3. print("Is CUDA available: ", torch.cuda.is_available())
  4. print("CUDA device count: ", torch.cuda.device_count())
  5. print("CUDA device name: ",torch.cuda.get_device_name(0) if torch.cuda.is_available() else "No GPU",)
  6. print("CUDA version: ", torch.version.cuda)
  7. print("cuDNN version: ", torch.backends.cudnn.version())
  8. print("Python Version:", sys.version)

如果显示如下结果,就代表pytorch下GPU训练环境你已经配置好了 

没有成功的UU可以看看是不是自己版本对应错误了,再重新尝试一遍

4 tensorflow下GPU训练环境的配置

完成1~3的步骤之后你就在虚拟环境中配置好了pytorch环境,现在你有两个选择:

  1. 继续在该环境中配置tensorflow环境(可能存在一定问题,例如出现“无法对CNN网络进行训练”的情况;
  2. 新创一个虚拟环境配置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)验证是否成功

  1. import tensorflow as tf
  2. print(tf.__version__)
  3. print(tf.test.gpu_device_name())
  4. print(tf.config.experimental.set_visible_devices)
  5. print("GPU:", tf.config.list_physical_devices("GPU"))
  6. print("CPU:", tf.config.list_physical_devices(device_type="CPU"))
  7. print(tf.config.list_physical_devices("GPU"))
  8. print(tf.test.is_gpu_available())
  9. # 输出可用的GPU数量
  10. print("Num GPUs Available: ", len(tf.config.experimental.list_physical_devices("GPU")))
  11. # 查询GPU设备

如果出现下面这样就代表安装成功了

4)为什么CUDA装好了,Tensorflow-GPU不能用?

可以参考下面这篇文章,总结了很多原因,可以一一比对

【tensorflow】为什么CUDA装好了,Tensorflow-GPU不能用?_安装了cuda却不调用gpu-CSDN博客

也有可能是缺少一些配置文件,例如下面的:

解决办法可以参考:

  1. Could not load dynamic library ‘cusolver64_10.dll’; dlerror: cusolver64_10.dll not found 错误解决-CSDN博客
  2. TensorFlow DLL文件缺失的解决方案:cudnn64_8.dll not found&cusolver64_10.dll not found_tensorflow_ACMSunny-华为云开发者联盟 (csdn.net)
  3. 解决:Not creating XLA devices, tf_xla_enable_xla_devices not set-CSDN博客
  4. None of the MLIR Optimization Passes are enabled (registered 2)解决办法-CSDN博客
  5. 深度学习GPU训练中常见的问题_none of the mlir optimization passes are enabled (-CSDN博客
  6. optimization_pass.cc:185] None of the MLIR Optimization Passes are enabled (registered 2)解决办法-CSDN博客
  7. Tensorflow GPU显存一下占用满不能训练,已解决(tf2.0)_显示显存占用率100%,但是却没有开始训练-CSDN博客
  8. tensorflow:查看tensorflow版本号、查看cuda版本、查看cudnn版本、查看GPU可用性、查看cuda可用性-CSDN博客
  9. 解决问题:Could not locate zlibwapi.dll. Please make sure it is in your library path!-CSDN博客
  10. 解决Loaded cuDNN version 8400 Could not load library cudnn_cnn_infer64_8.dll. 问题_loaded cudnn version 8500-CSDN博客
  11. 求助! tensorflow 中,CNN 在GPU上运行无响应,然后内核崩溃_keras.layers.conv2d 内核似乎挂掉-CSDN博客
  12.  【仙女踩坑实录】conda找不到高版本(8.0)的cudnn_cudnn 8.0找不到-CSDN博客
  13. TensorFlow安装与环境配置 — 简单粗暴 TensorFlow 2 0.4 beta 文档
  14. 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博客

注:本文转载自blog.csdn.net的笨笨sg的文章"https://blog.csdn.net/a131529/article/details/140352190"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2491) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top