笔记本是联想G50-70m,显卡是gt 820M,在宿舍隔离,手边只有这个老旧笔记本,闲来无事,准备在它上面安装PyTorch玩玩儿
官网https://pytorch.org/get-started/locally/中有详细的安装方法,并且文档提供了一个工具,选择好你的环境后,提示安装方法,比如:
安装命令为:
conda install pytorch torchvision torchaudio cudatoolkit=10.2 -c pytorch
确认安装是否成功:
为了确保 PyTorch 安装正确,我们可以通过运行示例 PyTorch 代码来验证安装。在这里,我们将构造一个随机初始化的张量。
在命令行中,键入:
import torch
x = torch.rand(5, 3)
print(x)
输出应该类似于:
tensor([[0.3380, 0.3845, 0.3217],
[0.8337, 0.9050, 0.2650],
[0.2979, 0.7141, 0.9069],
[0.1449, 0.1132, 0.1375],
[0.4675, 0.3947, 0.1426]])
此外,要检查您的 GPU 驱动程序和 CUDA 是否已启用并可由 PyTorch 访问,请运行以下命令以返回 CUDA 驱动程序是否已启用:
import torch
torch.cuda.is_available()
gt820MGPU版pytorch安装报错。
torch.cuda.is_available()
报错:
UserWarning: CUDA initialization: The NVIDIA driver on your system is too old (found version 9010). Please update your GPU driver by downloading and installing a new version from the URL: http://www.nvidia.com/Download/index.aspx Alternatively, go to: https://pytorch.org to install a PyTorch version that has been compiled with your version of the CUDA driver. (Triggered internally at …\c10\cuda\CUDAFunctions.cpp:112.)
return torch._C._cuda_getDeviceCount() > 0
我笔记本是联想G50-70m,显卡是gt 820M,安装1.10.1的pytorch,提示 NVIDIA 驱动太老了。
将 PyTorch 与 CUDA 结合使用的系统要求如下:
注意:如果你的安装预构建的二进制文件(使用 pip 或 conda),那么在安装支持 CUDA 的 PyTorch 之前,你无需在系统上安装 CUDA 工具包或运行时。这是因为 PyTorch 除非从源代码编译,否则总是与 CUDA 库的副本一起交付。
参考:为什么
torch.cuda.is_available()
即使在使用 cuda 安装 pytorch 后仍返回 False?
cuda版本确定:CUDA GPUs_supported
gt 820M 算力2.1,通过算力可以确定cuda支持的版本
一般情况下,如果安装了最新的驱动程序版本,那么我们的的显卡驱动程序可能支持与我们的显卡兼容的所有 CUDA 版本(参见上面)。要进行验证,我们可以查看CUDA 发行说明中的表 2
查看我目前的驱动版本号,我的电脑 -> 管理 ->设备管理器->适配器管理,右击自己的显卡,查看属性。
也可以使用驱动精灵查看驱动号:
驱动版本号为391.35,支持cuda8.0版本的。
如果你的的驱动不是最新的,可以前往NVIDIA驱动下载网站 进行下载,选择如下:
这里下载只能选择Game Ready Driver(GRD),而且下载的是425.31版本的。但是我安装的时候提示硬件不兼容。。。 所以我这里就使用已经装的395.35(驱动精灵上这是最新版本。。)
至此,确定了我的笔记本显卡gt 820M,驱动版本395.35,支持的cuda版本为8.0,查看支持的pytorch版本如下:
https://pytorch.org/get-started/previous-versions/
另外还有torchvision的版本:
https://github.com/pytorch/vision#installation
torch |
torchvision |
python |
---|---|---|
main / nightly |
main / nightly |
>=3.7 , <=3.9 |
<=1.0.1 | 0.2.2 | ==2.7, >=3.5, <=3.7 |
1.0.1以下的torch支持0.2.2的torchvision版本。
下载速度慢的话,可以更换清华源:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
参考:https://mirror.tuna.tsinghua.edu.cn/help/anaconda/
重新安装pytorch0.4.1 ,以及torchvision(可选)
conda create -n pytorch0_4_1 python=3.7 # 创建新的虚拟环境
conda activate pytorch0_4_1 # 激活虚拟环境
conda install pytorch=0.4.1 cuda80 torchvision==0.2.2 -c pytorch # 注意版本对应
-c :如果希望从默认通道以外的其他通道安装,则指定要使用哪个通道的一种方法是使用
conda install -c channel_name package_name
语法。
测试:
import torch
x = torch.rand(5, 3)
print(x)
print(torch.__version__)
print(torch.cuda.is_available())
print(torch.zeros(1).cuda())
输出:
tensor([[0.0776, 0.9441, 0.5362],
[0.8872, 0.8909, 0.7444],
[0.2230, 0.7352, 0.2551],
[0.8170, 0.6469, 0.7557],
[0.2881, 0.2817, 0.0083]])
0.4.1
TrueUserWarning:
Found GPU0 GeForce GT 820M which is of cuda capability 2.1.
PyTorch no longer supports this GPU because it is too old.
warnings.warn(old_gpu_warn % (d, name, major, capability[1]))
tensor([0.], device=‘cuda:0’)
发现Found GPU0 GeForce GT 820M which is of cuda capability 2.1. PyTorch no longer supports this GPU because it is too old.
,很遗憾, PyTorch 在编译时没有对计算能力为2.1的GPU 提供支持。
又看到了一个老哥的回答,作为这篇文章结尾:
参考此页面,PyTorch(甚至是最古老的版本)支持最早的 CUDA 版本是
7.5
。然而,看这个页面,CUDA7.5
需要最低的计算能力是2.0
。因此,理论上,你的机器至少应该支持 CUDA7.5
。但是,PyTorch 也需要 cuDNN, cuDNN
6.0
适用于 CUDA7.5
。但是 cuDNN6.0
需要3.0
的计算能力。 因此,大多数情况下,PyTorch 无法在您的机器上运行。
自己的破笔记本gt840M算力只有2.1,太低了啊,等隔离结束了,用实验室的GTX 1660跑去,这个算力有7.5。
那目前只能用CPU版本先学着了。
CPU版本安装:
conda install pytorch torchvision torchaudio cpuonly -c pytorch