欢迎关注『youcans的深度学习』系列,持续更新中…
【youcans的深度学习 01】安装环境之 miniconda
【youcans的深度学习 02】PyTorch CPU版本安装与环境配置
【youcans的深度学习 03】PyTorch CPU版本安装与环境配置
【youcans的深度学习 04】PyTorch入门教程:基础知识
【youcans的深度学习 05】PyTorch入门教程:快速入门
简单地说,安装 GPU 版本的 PyTorch 需要 NVIDIA(英伟达)显卡。
否则只能安装 PyTorch(CPU版),基本功能相同但性能较低。
在安装 GPU 版本之前,建议测试本机是否装有 NVIDIA(英伟达)显卡,是否支持 CUDA 安装。
简单地,打开设备管理器或任务管理器,就能看到 GPU 的型号。
也可以点击【cuda-gpus列表】可以查询显卡是否在列表中。
装有 NVIDIA(英伟达)显卡的计算机才能安装 PyTorch(GPU)版本,否则可以安装 PyTorch(CPU)版本。
计算行业正在从使用 CPU 的“中央处理”向 CPU 与 GPU 并用的”协同处理“发展。GPU 中拥有大量单独的ALU,因此非常适合并行计算,而且数值计算的速度远远优于CPU。
CUDA (Compute Unified Device Architecture)是 NVIDIA 推出的通用并行计算平台,该架构利用图形处理器 (GPU) 的并行处理能力,可以使用 GPU 能够解决复杂的计算问题,可以大幅地提升计算性能。
CUDA 体系结构包含三个部分:开发库、运行期环境和驱动。开发库是基于 CUDA 技术所提供的应用开发库,解决典型的大规模的并行计算问题,例如 CUFFT(离散快速傅立叶变换)和 CUBLAS(离散基本线性计算)的实现。运行期环境提供了应用开发接口和运行期组件,包括基本数据类型的定义和各类计算、类型转换、内存管理、设备访问和执行调度等函数。驱动部分可以理解为 CUDA-enable 的 GPU 的设备抽象层,提供硬件设备的抽象访问接口,今后也有可能发展成为通用的标准接口以兼容其它厂商的 GPU 产品。
详见上节 【01 安装环境 miniconda】。
强烈推荐创建python虚拟环境,在虚拟环境中下载安装PyTorch。
(1)cmd 进入命令行编辑器,或由 Anaconda Prompt / miniconda Prompt 进入命令行编辑器。默认为
环境, 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…
windows10 版本安装 CUDA ,首先需要下载两个安装包:
官方教程:
在桌面点击鼠标右键,可以打开 NVIDA控制面板,选择左下角的“系统信息”,选择“组件”,组件信息的第 3 行中就是电脑显卡所支持的 CUDA 版本。
(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版本。
说明:
(3)复制"Run this Command"生成的命令。
Run this Command:
conda install pytorch torchvision torchaudio pytorch-cuda=11.7 -c pytorch -c nvidia
回到 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
在 conda 命令行,激活 tourch 环境,进入python后import torch 可以进行测试。
python
import torch
torch.cuda.is_available()
如果显示 True,说明 Pytorch GPU 版本安装成功。
(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
一切顺利,收工。
最后给一个基于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编程。
技术功能:
【本节完】
版权声明:
欢迎关注『youcans的深度学习』系列,转发请注明原文链接:
【youcans的深度学习 03】PyTorch GPU版本安装与环境配置(https://youcans.blog.csdn.net/article/details/129771628)
Copyright 2023 youcans, XUPT
Crated:2023-03-24