【youcans的深度学习 03】PyTorch GPU版本安装与环境配置

欢迎关注『youcans的深度学习』系列,持续更新中…
【youcans的深度学习 01】安装环境之 miniconda
【youcans的深度学习 02】PyTorch CPU版本安装与环境配置
【youcans的深度学习 03】PyTorch CPU版本安装与环境配置
【youcans的深度学习 04】PyTorch入门教程:基础知识
【youcans的深度学习 05】PyTorch入门教程:快速入门



1. PyTorch(GPU版)安装环境要求

简单地说,安装 GPU 版本的 PyTorch 需要 NVIDIA(英伟达)显卡。
否则只能安装 PyTorch(CPU版),基本功能相同但性能较低。


1.1 检查显卡设备

在安装 GPU 版本之前,建议测试本机是否装有 NVIDIA(英伟达)显卡,是否支持 CUDA 安装。

简单地,打开设备管理器或任务管理器,就能看到 GPU 的型号。

在这里插入图片描述

也可以点击【cuda-gpus列表】可以查询显卡是否在列表中。

装有 NVIDIA(英伟达)显卡的计算机才能安装 PyTorch(GPU)版本,否则可以安装 PyTorch(CPU)版本。


1.2 CUDA 简介

计算行业正在从使用 CPU 的“中央处理”向 CPU 与 GPU 并用的”协同处理“发展。GPU 中拥有大量单独的ALU,因此非常适合并行计算,而且数值计算的速度远远优于CPU。

CUDA (Compute Unified Device Architecture)是 NVIDIA 推出的通用并行计算平台,该架构利用图形处理器 (GPU) 的并行处理能力,可以使用 GPU 能够解决复杂的计算问题,可以大幅地提升计算性能。

扫描二维码关注公众号,回复: 14576327 查看本文章

CUDA 体系结构包含三个部分:开发库、运行期环境和驱动。开发库是基于 CUDA 技术所提供的应用开发库,解决典型的大规模的并行计算问题,例如 CUFFT(离散快速傅立叶变换)和 CUBLAS(离散基本线性计算)的实现。运行期环境提供了应用开发接口和运行期组件,包括基本数据类型的定义和各类计算、类型转换、内存管理、设备访问和执行调度等函数。驱动部分可以理解为 CUDA-enable 的 GPU 的设备抽象层,提供硬件设备的抽象访问接口,今后也有可能发展成为通用的标准接口以兼容其它厂商的 GPU 产品。


2. 安装PyTorch(GPU版)

2.1 安装 Anaconda 或 miniconda

详见上节 【01 安装环境 miniconda】。


2.2 建立新的虚拟环境

强烈推荐创建python虚拟环境,在虚拟环境中下载安装PyTorch。

(1)cmd 进入命令行编辑器,或由 Anaconda Prompt / miniconda Prompt 进入命令行编辑器。默认为<base>环境, base 是安装 Anaconda 自带的一个基础环境。

(2)输入"conda env list",检查本机中的的Python环境:
如果尚未创建虚拟环境,则只有 base环境。如果用户已经创建虚拟环境,也会显示在列表中。当前激活环境为 base(路径之前有个星号*

(3)创建名为"torch"的 python3.8 虚拟环境:

conda create -n torch python=3.8

(4)输入"conda activate torch",激活torch虚拟环境。

conda activate torch

激活torch虚拟环境以后,当前激活环境为 torch(路径之前有个星号*)。

在这里插入图片描述

(5)在torch虚拟环境安装必要的包。

conda install -y numpy
conda install -y matplotlib & conda install -y pandas & conda install -y xlrd


2.3 CUDA 的下载及安装

windows10 版本安装 CUDA ,首先需要下载两个安装包:

  • CUDA toolkit(CUDA 工具包)
  • cuDNN(用于配置深度学习)

官方教程:


2.3.1 CUDA 版本选择:

在桌面点击鼠标右键,可以打开 NVIDA控制面板,选择左下角的“系统信息”,选择“组件”,组件信息的第 3 行中就是电脑显卡所支持的 CUDA 版本。

在这里插入图片描述


2.3.2 官网下载

(1)进入PyTorch官网【https://pytorch.org/】

PyTorch

FROM RESEARCH TO PRODUCTION

An open source machine learning framework that accelerates the path from research prototyping to production deployment.

Install https://pytorch.org/

(2)按照 INSTALL PYTORCH 的提示,选择适合自己的PyTorch版本。
说明:

  • Stable代表PyTorch当前最受测试和支持的版本,适合普通用户。
  • 根据显卡支持选择 CUDA 版本,没有 nvidia GPU 选择 CPU 版本。

在这里插入图片描述

(3)复制"Run this Command"生成的命令。

Run this Command:

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

2.3.3 conda 安装 PyTorch

回到 conda 环境(cm d进入命令行编辑器,或由 miniconda Prompt 进入命令行编辑器),在创建的 torch 环境下复制"Run this Command"中生成的命令并运行。

conda activate torch

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

在这里插入图片描述

注意:

  • 一定要切换到 torch 虚拟环境,否则可能安装到base环境或其它虚拟环境。

  • 如果下载速度慢,建议使用国内镜像源。但此时要删除所复制命令中最后面的 “-c pytorch”。

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/

conda install pytorch torchvision torchaudio cpuonly

  • 安装中会跳出"Proceed([y]/n)?",输入"y"或直接回车即可。

2.4 PyTorch安装测试

2.4.1 进入python进行测试

在 conda 命令行,激活 tourch 环境,进入python后import torch 可以进行测试。

python
import torch
torch.cuda.is_available()

如果显示 True,说明 Pytorch GPU 版本安装成功。

在这里插入图片描述


2.4.2 进入PyCharm进行测试

(4)进入PyCharm进行测试

上述conda环境的测试已经说明PyTorch版本安装成功。但为了确认PyCharm中的虚拟环境配置正确,可以进入PyCharm,选择 Python3.8(torch)环境运行以下例程:

import torch
import torchvision

def print_hi(name):
    print(f'Hi, {
      
      name}')  # Press Ctrl+F8 to toggle the breakpoint.

if __name__ == '__main__':
    print_hi('PyCharm')
    print("HELLO pytorch {}".format(torch.__version__))
    print("torchvision.version:", torchvision.__version__)
    print("torch.cuda.is_available? ", torch.cuda.is_available())

运行结果如下:

Hi, PyCharm
HELLO pytorch 1.13.1
torchvision.version: 0.14.1
torch.cuda.is_available? True

一切顺利,收工。


3. PyTorch 应用例程

最后给一个基于PyTorch的应用例程,绘制几种激活函数的形状。

# test02_v1.py
# test02 of PyTroch

import torch
from torch.autograd import Variable
import torch.nn.functional as Func
import matplotlib.pyplot as plt

# 生成数据序列
tensor = torch.linspace(-5, 5, 200)  #  返回一维张量
tensor = Variable(tensor)  # Tensor 转为 Variable
xNp = tensor.numpy()  # Tensor 转为 numpy

# 定义激活函数
y_relu = torch.relu(tensor).data.numpy()
y_sigmoid =torch.sigmoid(tensor).data.numpy()
y_tanh = torch.tanh(tensor).data.numpy()
y_softplus = Func.softplus(tensor).data.numpy()

# 绘图
plt.figure(figsize=(9, 6))
plt.suptitle("Response curve of activation function")
plt.subplot(221)
plt.plot(xNp, y_relu, c='red', label='RelU')
plt.legend(loc='best')
plt.subplot(222)
plt.plot(xNp, y_softplus, c='red', label='hardTanh')
plt.legend(loc='best')
plt.subplot(223)
plt.plot(xNp, y_sigmoid, c='red', label='sigmoid')
plt.legend(loc='best')
plt.subplot(224)
plt.plot(xNp, y_tanh, c='red', label='tanh')
plt.legend(loc='best')
plt.show()

在这里插入图片描述



附录:

CUDA SDK 范例:
CUDA 开发者软件开发包(SDK)提供了一些范例(附有源代码),以帮助使用者开始CUDA编程。

  • 并行双调排序
  • 矩阵乘法
  • 矩阵转置
  • 利用计时器进行性能评价
  • 并行大数组的前缀和(扫描)
  • 图像卷积
  • 使用Haar小波的一维DWT
  • OpenGL和Direct3D图形互操作示例
  • CUDA BLAS和FFT库的使用示例
  • CPU-GPU C 和C++ 代码集成
  • 二项式期权定价模型
  • Black-Scholes期权定价模型
  • Monte-Carlo期权定价模型
  • 并行Mersenne Twister(随机数生成)
  • 并行直方图
  • 图像去噪
  • Sobel边缘检测滤波器
  • MathWorks MATLAB®

技术功能:

  • 在GPU(图形处理器)上提供标准C编程语言
  • 为在支持CUDA的NVIDIA GPU(图形处理器)上进行并行计算而提供了统一的软硬件解决方案
  • CUDA兼容的GPU(图形处理器)包括很多:从低功耗的笔记本上用的GPU到高性能的,多GPU的系统。
  • 支持CUDA的GPU(图形处理器)支持并行数据缓存和线程执行管理器
  • 标准FFT(快速傅立叶变换)和BLAS(基本线性代数子程序)数值程序库
  • 针对计算的专用CUDA驱动
  • 经过优化的,从中央处理器(CPU)到支持CUDA的GPU(图形处理器)的直接上传、下载通道
  • CUDA驱动可与OpenGL和DirectX图形驱动程序实相互操作
  • 支持Linux 32位/64位以及Windows XP 32位/64位 操作系统
  • 为了研究以及开发语言的目的,CUDA提供对驱动程序的直接访问,以及汇编语言级的访问。

【本节完】


版权声明:
欢迎关注『youcans的深度学习』系列,转发请注明原文链接:
【youcans的深度学习 03】PyTorch GPU版本安装与环境配置(https://youcans.blog.csdn.net/article/details/129771628)
Copyright 2023 youcans, XUPT
Crated:2023-03-24


猜你喜欢

转载自blog.csdn.net/youcans/article/details/129771628