在装有 NVidia GeForce 820M 的 Windows 10 PC 上,我成功安装了 CUDA 9.2 和 cudnn 7.1,然后使用 pytorch.org 上的说明安装了 PyTorch。
具体我使用了命令
pip install torch==1.4.0+cu92 torchvision==0.5.0+cu92 -f https://download.pytorch.org/whl/torch_stable.html
Run Code Online (Sandbox Code Playgroud)
因为我使用 pip 而不是 Anaconda。
但我得到以下
>>> import torch
>>> torch.cuda.is_available()
False
Run Code Online (Sandbox Code Playgroud)
为什么会这样?
jod*_*dag 52
您的显卡不支持 CUDA 9.0。
由于我已经看到很多与此类问题相关的问题,因此我正在写一个关于如何检查您的系统是否与 CUDA 兼容的广泛答案,特别是针对使用具有 CUDA 支持的 PyTorch。本答案的最后一部分描述了解决问题的各种依赖于环境的选项。
将 PyTorch 与 CUDA 结合使用的系统要求如下:
注:如果您安装预建的二进制文件(使用PIP或畅达),那么你就不会需要CUDA支持安装PyTorch之前安装在系统上的CUDA工具包或运行。这是因为 PyTorch 除非从源代码编译,否则始终与 CUDA 库的副本一起交付。
首先,确定您的显卡型号。
在继续之前,请确保您拥有 NVidia 显卡。AMD 和 Intel 显卡不支持 CUDA。
NVidia 在单个位置提供 CUDA 兼容性信息方面做得并不好。最好的资源可能是 CUDA 维基百科页面上的这一部分。确定支持哪些 CUDA 版本
如果您的卡不支持所需的 CUDA 版本,请参阅本答案第 4 节中的选项。
注意:计算能力是指您的显卡支持的计算功能。较新版本的 CUDA 库依赖于较新的硬件功能,这就是我们需要确定计算能力以确定支持的 CUDA 版本的原因。
图形驱动程序是允许您的操作系统与您的图形卡进行通信的软件。由于 CUDA 依赖于与显卡的低级通信,因此您需要拥有最新的驱动程序才能使用最新版本的 CUDA。
首先,确保您的系统上安装了 NVidia 图形驱动程序。您可以从NVidia 的网站获取适用于您系统的最新驱动程序。
如果您安装了最新的驱动程序版本,那么您的图形驱动程序可能支持与您的图形卡兼容的每个 CUDA 版本(请参阅第 1 节)。要进行验证,您可以查看CUDA 发行说明中的表 2 。在极少数情况下,我听说最新推荐的图形驱动程序不支持最新的 CUDA 版本。您应该能够通过为所需的 CUDA 版本安装 CUDA 工具包并选择安装兼容驱动程序的选项来解决这个问题,尽管这通常不是必需的。
如果你不能,或者不想升级显卡驱动,那么你可以检查你当前的驱动是否支持特定的 CUDA 版本,如下所示:
右键单击您的桌面并选择 NVIDIA 控制面板。从 NVIDIA 控制面板菜单中,选择帮助 > 系统信息。驱动程序版本列在“详细信息”窗口的顶部。对于更高级的用户,您还可以从 Windows 设备管理器中获取驱动程序版本号。右键单击显示适配器下的图形设备,然后选择属性。选择驱动程序选项卡并阅读驱动程序版本。最后 5 位数字是 NVIDIA 驱动程序版本号。
在终端窗口中运行以下命令
nvidia-smi
Run Code Online (Sandbox Code Playgroud)
这应该会导致如下结果
nvidia-smi
Run Code Online (Sandbox Code Playgroud)
Driver Version: ###.##是您的图形驱动程序版本。在上面的示例中,驱动程序版本是435.21.
CUDA Version: ##.#是您的图形驱动程序支持的最新版本的 CUDA。在上面的示例中,图形驱动程序支持 CUDA 10.1以及10.1之前的所有兼容 CUDA 版本。
注意:CUDA Version此表中显示的内容并不表示您的系统上实际安装了 CUDA 工具包或运行时。这仅表示您的图形驱动程序兼容的最新版本的 CUDA。
为了确保您的驱动程序支持所需的 CUDA 版本,您可以访问CUDA 发行说明页面上的表 2 。
即使您的显卡支持所需的 CUDA 版本,预编译的 PyTorch 二进制文件也可能未编译为支持您的计算能力。例如,在 PyTorch 0.3.1 中,对计算能力 <= 5.0 的支持被删除了。
首先,验证您的显卡和驱动程序是否都支持所需的 CUDA 版本(请参阅上面的第 1 节和第 2 节),本节中的信息假设是这种情况。
检查 PyTorch 是否支持您的计算能力的最简单方法是安装具有 CUDA 支持的所需版本的 PyTorch 并从 python 解释器运行以下命令
>>> import torch
>>> torch.zeros(1).cuda()
Run Code Online (Sandbox Code Playgroud)
如果您收到一条错误消息,内容为
Sat Apr 4 15:31:57 2020
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 435.21 Driver Version: 435.21 CUDA Version: 10.1 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce RTX 206... Off | 00000000:01:00.0 On | N/A |
| 0% 35C P8 16W / 175W | 502MiB / 7974MiB | 1% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 1138 G /usr/lib/xorg/Xorg 300MiB |
| 0 2550 G /usr/bin/compiz 189MiB |
| 0 5735 G /usr/lib/firefox/firefox 5MiB |
| 0 7073 G /usr/lib/firefox/firefox 5MiB |
+-----------------------------------------------------------------------------+
Run Code Online (Sandbox Code Playgroud)
那么这意味着 PyTorch 没有在编译时支持您的计算能力。如果这运行没有问题,那么你应该很高兴。
更新如果您在具有较新 GPU 的系统上安装旧版本的 PyTorch,那么旧的 PyTorch 版本可能未编译为支持您的计算能力。假设您的 GPU 支持 PyTorch 使用的 CUDA 版本,那么您应该能够使用所需的 CUDA 版本从源代码重建 PyTorch,或者升级到更新版本的 PyTorch,该版本编译后支持更新的计算功能。
如果您的显卡和驱动程序支持所需版本的 CUDA(第 1 部分和第 2 部分),但 PyTorch 二进制文件不支持您的计算能力(第 3 部分),那么您的选择是
如果您的显卡不支持所需版本的 CUDA(第 1 节),那么您的选择是
为了解决这个问题,以下方法为我解答:
1-首先你必须更新 Anaconda。
2- 在您的笔记本中,根据您的系统选择以下选项。
https://pytorch.org/
Run Code Online (Sandbox Code Playgroud)
Windows 示例:(这可能需要一些时间。请耐心等待)
conda install pytorch torchvision torchaudio cudatoolkit=10.2 -c pytorch
Run Code Online (Sandbox Code Playgroud)
3- 通过以下站点查找并安装适合您系统的最新显卡:
https://www.nvidia.com/Download/index.aspx
Run Code Online (Sandbox Code Playgroud)
4-支持CUDA级别的GPU和卡。看到 这个
| 归档时间: |
|
| 查看次数: |
42727 次 |
| 最近记录: |