前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PyTorch 安装

PyTorch 安装

作者头像
yiyun
发布2022-03-29 13:26:17
1.1K0
发布2022-03-29 13:26:17
举报
文章被收录于专栏:yiyun 的专栏

引言 CPU 版 Windows + Conda + CPU

代码语言:javascript
复制
conda install pytorch torchvision torchaudio cpuonly -c pytorch

安装 CUDA

如何选择cuda的版本号 根据我们电脑本身安装的显卡的驱动版本号来决定的

代码语言:javascript
复制
nvidia-smi

发现缺少文件

本人渣渣上网本自带 NVIDIA GeForce 940MX

驱动版本 388.75

当前版本 CUDA 9.1.128 官网对应 https://www.nvidia.cn/geforce/gaming-laptops/geforce-940mx/ 版本对应关系

根据上图,如果不更新, 则对应 cudatoolkit=9.0 接下来更新一下 NVIDIA 驱动 https://www.nvidia.cn/geforce/drivers/

更新

我这里选择 EXPRESS INSTALLATION , 当然也可以选择 CUSTOM INSTALLATION

它会自动先卸载相关驱动,再安装

更新完毕后,此命令就有效了

代码语言:javascript
复制
nvidia-smi

更新完毕, 现在应该可以选择 cudatoolkit=11.3 了

安装 PyTorch 相关 以及 cudatoolkit

PS: PyTorch 不用装 cudnn,集成在 cudatoolkit 里面了 Windows + Conda + CUDA 11.3

代码语言:javascript
复制
conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch

中途输入 y ,确定安装 PS conda install -c 中 -c 即 --channel 它用于指定搜索包的频道, -c pytorch 即使用 pytorch 频道源 使用国内清华源

代码语言:javascript
复制
conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/win-64/

PyTorch GPU 测试

代码语言:javascript
复制
import torch

print(torch.__version__)        # 返回 pytorch 的版本

# setting device on GPU if available, else CPU
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
print('Using device:', device)
print()

#Additional Info when using cuda
if device.type == 'cuda':
    print(torch.cuda.get_device_name(0))
    print('Memory Usage:')
    print('Allocated:', round(torch.cuda.memory_allocated(0)/1024**3,1), 'GB')
    print('Cached:   ', round(torch.cuda.memory_reserved(0)/1024**3,1), 'GB')

test2.py

代码语言:javascript
复制
import torch
import time

print(torch.__version__)        # 返回 pytorch 的版本
print(torch.cuda.is_available())        # 当 CUDA 可用时返回 True

a = torch.randn(10000, 1000)    # 返回10000行1000列的张量矩阵
b = torch.randn(1000, 2000)     # 返回1000行2000列的张量矩阵

t0 = time.time()        # 记录时间
c = torch.matmul(a, b)      # 矩阵乘法运算
t1 = time.time()        # 记录时间
print(a.device, t1 - t0, c.norm(2))     # c.norm(2)表示矩阵c的二范数

device = torch.device('cuda')       # 用GPU来运行
a = a.to(device)
b = b.to(device)

# 初次调用GPU,需要数据传送,因此比较慢
t0 = time.time()
c = torch.matmul(a, b)
t2 = time.time()
print(a.device, t2 - t0, c.norm(2))

# 这才是GPU处理数据的真实运行时间,当数据量越大,GPU的优势越明显
t0 = time.time()
c = torch.matmul(a, b)
t2 = time.time()
print(a.device, t2 - t0, c.norm(2))

Q&A 补充

安装失败: InvalidArchiveError

代码语言:javascript
复制
WARNING conda.gateways.disk.delete:unlink_or_rename_to_trash(139): Could not remove or rename D:\anaconda3\pkgs\pytorch-1.11.0-py3.8_cuda11.3_cudnn8_0\Lib\site-packages\torch\lib\torch_cpu.lib.  Please remove this file manually (you may need to reboot to free file handles)
WARNING conda.gateways.disk.delete:unlink_or_rename_to_trash(139): Could not remove or rename D:\anaconda3\pkgs\pytorch-1.11.0-py3.8_cuda11.3_cudnn8_0\Lib\site-packages\torch\lib\torch_cpu.lib.  Please remove this file manually (you may need to reboot to free file handles)

InvalidArchiveError('Error with archive D:\\anaconda3\\pkgs\\pytorch-1.11.0-py3.8_cuda11.3_cudnn8_0.tar.bz2.  You probably need to delete and re-download or re-create this file.  Message from libarchive was:\n\nCould not unlink')

猜测是由于之前尝试安装过, 而中途放弃安装断开, 导致遗留残余文件 解决: 尝试先删除 提示中的 4 个路径 的 文件夹及文件

代码语言:javascript
复制
D:\anaconda3\pkgs\pytorch-1.11.0-py3.8_cuda11.3_cudnn8_0
D:\anaconda3\pkgs\torchaudio-0.11.0-py38_cu113

D:\\anaconda3\\pkgs\\pytorch-1.11.0-py3.8_cuda11.3_cudnn8_0.tar.bz2
D:\\anaconda3\\pkgs\\torchaudio-0.11.0-py38_cu113.tar.bz2
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-03-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装 CUDA
  • 安装 PyTorch 相关 以及 cudatoolkit
  • PyTorch GPU 测试
  • 安装失败: InvalidArchiveError
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档