基于conda的PyTorch深度学习框架GPU安装教程

在这里插入图片描述


前言

随着人工智能的不断发展,使用GPU加速可以显著提高PyTorch深度学习任务的训练和推理速度,很多新手第一次接触到人工智能,在安装torch相关环境的时候,看到了网上各种教程,又是驱动,又是环境变量,又是cuda版本,弄了半天,自己都不知道弄的啥。博主作为一个科研指导老师,深知学生的痛点,我的建议是直接用conda来安装gpu版本的torch,让conda自动管理cuda相关依赖软件,仅需几个指令既可解决问题。本教程将引导您完成使用conda包管理器安装PyTorch GPU版本的过程。通过按照本教程的步骤进行操作,您将能够顺利安装并配置PyTorch GPU版本,以便在深度学习任务中充分利用GPU的计算能力。让我们开始吧!


一、PyTorch简介

PyTorch是一个基于Python的开源机器学习框架,它提供了用于构建动态计算图的强大工具和灵活的高级API。它由Facebook的人工智能研究团队开发,并且在学术界和工业界都有广泛的应用。

以下是PyTorch的一些主要特点和优势:

  1. 动态计算图:PyTorch使用动态计算图的方式进行模型训练和推理,这意味着计算图是根据实际运行时的数据来构建的。这种方式使得模型的构建更加灵活,并且可以采用类似Python编程的自然而直观的方式定义和修改模型结构。

  2. 灵活性和易用性:PyTorch提供了丰富而直观的API,使得模型的定义、训练和推理都变得非常简单。它支持动态图和静态图两种模式,可以根据用户的需求选择适合的方式进行开发。

  3. 大型社区支持:PyTorch拥有庞大的用户社区,社区成员之间分享了大量的教程、代码示例和最佳实践,对于学习和解决问题非常有帮助。此外,许多研究机构和工业公司都在使用和贡献PyTorch,使得框架的发展和更新非常活跃。

  4. 具有强大的计算能力:PyTorch基于底层的C++库Torch,提供了高效的数值计算和矩阵操作。它还支持GPU加速,可以利用GPU的并行计算能力来加速模型训练和推理。

  5. 广泛的应用领域:PyTorch在各种机器学习任务中都得到了广泛的应用,包括图像分类、目标检测、自然语言处理、语音识别等。它还可以与其他深度学习框架和库进行无缝集成,如NumPy、SciPy和OpenCV等。

二、安装步骤

1.查看驱动版本

打开windows终端,执行nvidia-smi指令

nvdia-smi

执行成功,输出
在这里插入图片描述
从上面的图可以得出,博主电脑主机的英伟达驱动版本是516.94,CUDA版本最高支持到11.7,这个信息很重要,即本机最高支持的CUDA版本是11.7

2.安装Anaconda软件环境

这一步参考博主写的教程Anaconda3与PyCharm安装配置保姆教程

3.创建一个conda虚拟机环境

这一步参考博主写的教程conda常用命令使用教程

conda create -n torch_v2.0_gpu  python=3.8

上面这个指令的意思是创建一个名称为torch_v2.0_gpu 的虚拟机环境,python版本是3.8
在这里插入图片描述
在这里插入图片描述
默认输入y来确定安装,然后conda会自动下载安装相关依赖,完成虚拟机环境的创建
在这里插入图片描述

4.安装PyTorch

4.1 打开torch的官网

在这里插入图片描述

4.2 选择配置进行安装

在这里插入图片描述
当我们到达Get Start页面,选择上图所示的版本,如博主主机配置选择如下表所示

选项 配置
PyTorch Build Stable(2.0.1)
Your OS Windows
Package Conda
Language Python
Compute Platform CUDA 11.7

选定好了配置后,会生成conda的安装指令

conda install pytorch torchvision torchaudio pytorch-cuda=11.7 -c pytorch -c nvidia

激活torch_v2.0_gpu虚拟机环境

conda activate torch_v2.0_gpu

执行上述torch的conda gpu安装指令
在这里插入图片描述
在这里插入图片描述
默认输入y来确定安装,然后conda会自动下载安装相关依赖,完成torch gpu相关环境的安装
在这里插入图片描述

4.3 测试gpu是否成功

首先在python里检查,也是大家用的最多的方式,检查GPU是否可用

(torch_v2.0_gpu) C:\Users\tanggt>python
Python 3.8.16 (default, Jun 12 2023, 21:00:42) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>> torch.cuda.is_available()
True
>>>

测试cpu与gpu性能对比

import time
import torch

# 测试gpu计算耗时
A = torch.ones(5000, 5000).to('cuda')
B = torch.ones(5000, 5000).to('cuda')
startTime2 = time.time()
for i in range(100):
    C = torch.matmul(A, B)
endTime2 = time.time()
print('gpu计算总时长:', round((endTime2 - startTime2) * 1000, 2), 'ms')

# 测试cpu计算耗时
A = torch.ones(5000, 5000)
B = torch.ones(5000, 5000)
startTime1 = time.time()
for i in range(100):
    C = torch.matmul(A, B)
endTime1 = time.time()
print('cpu计算总时长:', round((endTime1 - startTime1) * 1000, 2), 'ms')

运行上述程序结果如下:
gpu计算总时长:3396.14 ms
cpu计算总时长:96365.98 ms

cpu与gpu运行的性能参数截图如下

在这里插入图片描述
在这里插入图片描述

结束语

由于博主能力有限,本篇文章中提及的方法,也难免会有疏漏之处,希望您能热心指出其中的错误,以便下次修改时能以一个更完美更严谨的样子,呈现在大家面前。

猜你喜欢

转载自blog.csdn.net/weixin_40280870/article/details/131379575