You need to enable JavaScript to run this app.
导航
GPU-部署Pytorch应用
最近更新时间:2023.12.07 17:10:25首次发布时间:2022.11.21 14:18:44

本文介绍如何在Linux实例上部署Pytorch应用。

Pytorch简介

PyTorch是一个开源的Python机器学习库,用于自然语言处理等应用程序,不仅能够实现强大的GPU加速,同时还支持动态神经网络。

软件版本

  • 操作系统:本文以Ubuntu 18.04为例。
  • NVIDIA驱动:
    • GPU驱动:用来驱动NVIDIA GPU卡的程序。本文以470.57.02为例。
    • CUDA工具包:使GPU能够解决复杂计算问题的计算平台。本文以CUDA 11.4为例。
    • CUDNN库:深度神经网络库,用于实现高性能GPU加速。本文以8.2.4.15为例。
  • Anaconda:获取包且对包能够进行管理的工具,包含了conda、Python在内的超过180个科学包及其依赖项,用于创建Python虚拟环境。本文以Anaconda 3和Python 3.8.3为例。

Pytorch使用CUDA进行GPU加速时,在CUDA、GPU驱动已经安装的情况下,依然不能使用,很可能是版本不匹配的问题,请严格关注以上软件的版本匹配情况。

前提条件

  • 您已购买GPU计算型 Linux实例,并勾选“后台自动安装GPU驱动”,即可使实例在启动时自动安装符合上述版本的NVIDIA驱动。具体操作请参见创建GPU计算型实例
  • 您已为Linux实例绑定公网IP,使其具备访问公网的能力。如未绑定,请参见绑定公网IP

步骤一:查看驱动版本已安装成功

  1. 远程连接云服务器并登录,具体操作请参考登录Linux实例小节。
  2. 执行以下命令,查看GPU驱动。
    nvidia-smi
    回显如下,表示已安装成功。
    alt
  3. 执行以下命令,查看CUDA驱动。
    /usr/local/cuda/bin/nvcc -V
    回显如下,表示已安装成功。
    alt

步骤二:创建虚拟环境

  1. 执行以下命令,下载Anaconda安装包。
    wget https://repo.anaconda.com/archive/Anaconda3-2022.05-Linux-x86_64.sh

  2. 执行如下命令,安装Anaconda。
    bash Anaconda3-2022.05-Linux-x86_64.sh

    1. 持续按“ENTER”键继续安装。
      alt
    2. 输入“yes”确认信息。
      alt
    3. 按一次“ENTER”键,等待片刻后安装完成,请记录Anaconda的安装路径/root/anaconda3
      alt
    4. 输入“yes”确定初始化Anaconda。
      alt
  3. 执行source ~/.bashrc命令使配置文件生效。
    回显如下,表示配置成功,进入base环境。
    alt

  4. 创建虚拟环境,指定python版本。

    1. 执行conda create -n cuda11.4 python=3.8.3命令。其中,cuda11.4表示虚拟环境名称,您可以按需更换。
    2. 回显Proceed ([y]/n)?时输入“y”确认。
    3. 执行以下命令,激活虚拟环境。
      conda activate cuda11.4
      回显如下,表示激活成功。
      alt

步骤三:安装Pytorch

  1. 登录Pytorch官网,在Conda中查找与CUDA版本匹配的安装命令,CUDA 11.4需选择CUDA 11.3对应的安装包。
    alt

  2. 登录实例,继续在虚拟环境“cuda11.4”中执行安装命令,输入“y”确认安装。
    conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 cudatoolkit=11.3 -c pytorch

  3. 执行pip list命令,回显如下,表示Pytorch安装成功。
    alt

步骤四:验证环境

  1. 依次执行以下命令,测试CUDA是否可用。

    python
    >>>import torch
    >>>torch.cuda.is_available()
    

    回显如下,表示成功Pytorch部署成功。
    alt

  2. 输入conda deactivate即可依次退出虚拟环境。