0%

如何用正确姿势安装 PyTorch(With CPU or GPU-CUDA-cuDNN)

随着 PyTorch 的不断发展,其生态也越来越繁荣。现如今,安装 PyTorch 是一件非常简单的事情。我们只需要安装 Anaconda,并通过 conda 就可以安装 PyTorch 环境。

目前,网络上大多数 PyTorch 安装教程中有关 CUDA、cuDNN 的安装方法比较混乱且已经过时。本文创作时间为 2020-09-10,接下来我就根据个人实践以及相关资料,整理下如何用正确姿势安装 PyTorch。

安装 Anaconda

下载并安装 Anaconda

Anaconda 是一个基于 Python 的科学计算集成平台,内置了非常全面的数据处理、科学计算等第三方库。其中就包括了我们要安装的 PyTorch。

我们可以通过两种方式安装 Anaconda:

  • 官网:https://www.anaconda.com/
  • 清华大学镜像源:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/

个人推荐第二种方式,即使用第三方镜像源,速度较快。

截止目前,Anaconda 最新版本为 Anaconda3-2020.07,根据不同的操作系统选择不同的安装包。

配置环境变量

安装完成后,打开 shell 或 cmd 终端输入 conda -V,如果成功显示版本号,则说明 Anaconda 安装成功;如果提示没有找到 conda 命令符,则需要手动配置环境变量。

  • Mac OS & Linux OS:

    1
    export PATH=/Users/这里替换成你的用户名/anaconda3/bin:$PATH
  • Windows OS:

    在我的电脑 - 属性 - 高级系统设置 - 环境变量 - 系统变量中找到 Path,添加如下三个文件夹。

安装 PyTorch

安装好 Anaconda 后,我们就可以继续安装 PyTorch了。

修改 Conda 镜像源

如果使用 Conda 官方源,由于国内网络的原因,下载会非常缓慢。所以,我们可以将 Conda 的源修改为清华 TUNA 或北京外国语大学镜像源。

注:

  • 2019-04-16,清华 Anaconda 镜像源被停止使用,后在 2019-07-21 又恢复使用至今。
  • 2020-05-02 和 2020-08-31北京外国语大学镜像站和 OpenTUNA 分别上线,作为清华大学开源软件镜像站的姊妹站和兄弟站,内容和清华镜像源基本一致,用于分流清华镜像源,减小服务器压力,速度可能会更快。(亲测,北外大镜像源的速度会比清华镜像更快一些)

修改镜像源的命令如下:

  • 清华

    1
    2
    3
    4
    5
    6
    7
    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 --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/menpo/
  • 北京外国语大学

    1
    2
    3
    4
    5
    6
    7
    conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/pkgs/free/
    conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/pkgs/main/
    conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/cloud/conda-forge/
    conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/cloud/bioconda/
    conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/cloud/pytorch/
    conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/cloud/msys2/
    conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/cloud/menpo/

另外,再附上几条常用的命令:

1
2
3
4
5
6
7
8
# 显示安装的频道
conda config --set show_channel_urls yes

# 查看已经添加的channels
conda config --get channels

# 移除源
conda config --remove channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/

通过 Conda 安装 PyTorch

打开 PyTorch 官网:PyTorch,在 QUICK START 中我们可以自行组合选择安装 PyTorch 的命令。

这里需要注意几点:

  • 删除 shell 脚本中的-c pytorch ,例如conda install pytorch torchvision cudatoolkit=10.2,否则将不会使用第三方镜像源。
  • Mac 不支持使用 Conda 命令安装 GPU 版本,只能选择 CPU 版本。因为 Mac 一般是不带 N 卡的,如果你的 Mac 外接了显卡,想使用 CUDA,则需要通过 source 源码进行安装。这里就不作介绍了。
  • *不需要自己手动安装 CUDA。 *Anaconda 已经包含了 cudatoolkit。但是要记得自行安装显卡驱动。
  • 很多教程都说要自行到 NVIDIA 下载并安装 CUDA,其实没有必要。就算你手动安装了 CUDA,PyTorch 在使用 GPU 时还是使用的 Anaconda 中的 cudatoolkit。如果想要让 PyTorch 使用手动安装的 CUDA,则需要通过源码安装 PyTorch 并绑定系统环境的 CUDA。
  • 在选择 CUDA 版本时,可以通过 cuda-toolkit-release-notes 查看自己的显卡驱动支持哪个版本的 CUDA。

验证 PyTorch 是否安装成功

打开 Python 开发环境,运行如下代码:

1
2
3
4
5
import torch
x = torch.rand(5, 3)
print(x)
print(torch.__version__)
print(torch.cuda.is_available())

若输出如下内容,则说明 PyTorch 及 CUDA 安装成功(若没有 GPU 环境,则最后为 False)。

1
2
3
4
5
6
7
tensor([[0.0875, 0.6365, 0.4068],
[0.3162, 0.8662, 0.0385],
[0.8543, 0.5587, 0.3429],
[0.3957, 0.8002, 0.1296],
[0.8673, 0.9333, 0.1767]])
1.6.0
True

安装 cuDNN

什么是 cuDNN?cuDNN 是一个深度神经网络 GPU 加速库,可以大幅提高 GPU 的运算性能,比如常见的 forword and vackwoard convolution、pooling、normalization 以及 activation 等。

那么如何安装 cuDNN 呢?非常简单,打开 Anaconda-Navigator,在 Environments 中搜索“cudnn”,安装即可。在这里,我们也可以顺便查看到 CUDA 的安装情况。

至此,PyTorch 的安装工作就全部结束了。


参考资料:

  1. How to install PyTorch on Windows [Step-by-Step]
  2. NVIDIA-CUDA-docs: cuda-toolkit-release-notes
  3. Please help me understand installation for CUDA on linux

我是因特马,一个爱分享的斜杠程序员~

欢迎关注我的公众号:一只因特马

  • 本文作者: 因特马
  • 本文链接: https://www.interhorse.cn/a/3782875408/
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!