最近准备在linux中做pytorch的深度学习,所以实现需要配置一下GPU版本的torch库,否则用cpu死磕早晚都训练不完。配置前,必须要配置好gpu的驱动rocm,并且需要知道自己机器的python版本(终端输入python就可以知道了)、rocm版本(安装deb的时候使用的版本)。然后在官网文档查询适合你的pytorch版本:https://pytorch.org/get-started/previous-versions/
一,安装torch
方法一:在线安装
1,在上面的网址中查询版本时,会有官方建议的torch-rocm安装命令,直接在终端输入即可
(例如,我选择的版本是torch==5.2)
~$ pip install torch==1.13.1+rocm5.2 --extra-index-url https://download.pytorch.org/whl/rocm5.2
方法二:本地安装
1,在上面的网址中查询版本后,在下面的官方资源链接中下载对应的安装包
https://download.pytorch.org/whl/torch/
这里需要明确自己的系统、rocm、python、torch版本。建议根据自己的版本在网页中Ctrl+F快速定位到自己需要的安装链接
例如:我要下载的是linux x86_64、python3.8、rocm5.2、torch1.13.1版本的安装包,那么在网页中搜索了一下rocm5.2,并找到了自己需要的: torch-1.13.1+rocm5.2-cp39-cp39-linux_x86_64.whl

点击链接即可下载
2,进入安装包所在路径下,在此打开终端。或在终端cd到安装包所在路径
3,安装指令
~$ pip install xxx.whl
# 这里xxx.whl就是安装包的名字
二,验证torch
1,可以采用torch自带的函数检测gpu版本的是否可用,在python中输入:
>>> import torch
>>> torch.cuda.is_available()
True
返回True则成功
2,检查是否可为变量调用GPU
>>> import torch
>>> x=torch.tensor([1,2,3]) # 张量
>>> print(x)
tensor([1, 2, 3])
>>> x=x.cuda() # 将此张量使用GPU加载
>>> print(x)
tensor([1, 2, 3], device='cuda:0')
有*device=‘cuda:0’*说明变量可以用gpu加载了
3,torch查看显卡信息
>>> print(torch.cuda.device_count()) # 显卡数量
2
>>> print(torch.cuda.get_device_name(0)) # 显卡系列
AMD Radeon Graphics
>>> print(torch.cuda.current_device()) # 当前显卡的序号
0
>>> print(torch.cuda.get_device_capability(device=0)) # 显卡容量
(10, 3)
>>> print(torch.cuda.get_device_properties(0)) # 显卡属性
_CudaDeviceProperties(name='AMD Radeon Graphics', major=10, minor=3, total_memory=8176MB, multi_processor_count=14)
三,报错解决
在验证时发现一个bug:在命令行中输入python语句时没报错,但是在编译运行.py文件时报错"hipErrorNoBinaryForGpu: Unable to find code object for all current devices!"
方法一(临时):需要在import torch后面加入代码
import os
os.environ["HSA_OVERRIDE_GFX_VERSION"] = "10.3.0"
方法二(一劳永逸):修改环境
~$ sudo vim /etc/profile
# 在文档末尾加入:export HSA_OVERRIDE_GFX_VERSION=10.3.0
# 保存退出
# 下一步不需要sudo
~$ source /etc/profile
其中,vim怎么操作可以自己上网查询学习(很简单的)
本文指导如何在Linux中配置GPU版本的PyTorch,包括在线和本地安装torch-rocm,验证torch安装,以及处理编译时的hipError报错。介绍了安装步骤、环境设置和显卡信息检查。
9494

被折叠的 条评论
为什么被折叠?



