- Author:ZERO-A-ONE
- Date:2021-03-09
最近有一些需要在云服务器上跑机器学习的需求,阿里云和腾讯云的GPU实例服务器都太贵了,对于只是拿来调试代码来说,于是发现了阿里云提供了轻量云GPU虚拟化服务器,价格十分实惠,十分适合调试代码
我采购的是vgn6i实例,按量付费最低只需2.445元一个小时,要具体的配置如下:
- CPU:Intel® Xeon® Platinum 8163 CPU @ 2.50GHz * 4 vCPUs
- GPU:NVIDIA T4/4 * 1
- RAM:23GiB
- 带宽:100Mbps
GPU的详细情况:
(pytorch3.8-gpu) root@iZwz9hdmsptv4xqi0yecvlZ:~# nvidia-smi
Tue Mar 9 10:54:35 2021
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 430.63 Driver Version: 430.63 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 GRID T4-4Q On | 00000000:00:07.0 Off | N/A |
| N/A N/A P8 N/A / N/A | 304MiB / 4096MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| No running processes found |
+-----------------------------------------------------------------------------+
看起来对于只是应付简单的代码调试工作已经性价比很高了,但就是配置比较不一样,下面来说一下配置情况
一、配置GPU驱动
1.1 禁用nouveau
nouveau是部分Linux系统中预装的一款开源驱动,必须禁用nouveau才能成功安装新的驱动
首先查看是否存在blacklist-nouveau.conf文件
ls /etc/modprobe.d/blacklist-nouveau.conf
如果blacklist-nouveau.conf文件存在且已配置以下内容,则跳过本步骤。否则需要执行命令vim/etc/modprobe.d/blacklist-nouveau.conf
创建文件,并在文件中添加以下内容禁用nouveau
blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
生成kernel initramfs
rmmod nouveau
update-initramfs -u
重启实例
reboot
1.2 下载GRID驱动安装包
下载GRID驱动安装包
- vgn5i GRID Guest驱动安装包:
wget http://nvidia-418.oss-cn-shenzhen.aliyuncs.com/NVIDIA-Linux-x86_64-418.70-grid.run
- vgn6i GRID Guest驱动安装包:
wget http://grid-9-2.oss-cn-hangzhou.aliyuncs.com/NVIDIA-Linux-x86_64-430.63-grid.run
安装GRID驱动
- vgn5i
chmod +x NVIDIA-Linux-x86_64-418.70-grid.run
./NVIDIA-Linux-x86_64-418.70-grid.run
- vgn6i
chmod +x NVIDIA-Linux-x86_64-430.63-grid.run
./NVIDIA-Linux-x86_64-430.63-grid.run
测试GRID驱动是否安装成功
nvidia-smi
二、安装Aconda
这里我选用的平台是Anaconda,只要安装好了Anaconda再安装Pytorch或者Tensorflow-gpu都是非常简单的事情
2.1 安装Anaconda
先安装一些必备的库
$ sudo apt-get install python3 python3-pip python3-dev git libssl-dev libffi-dev build-essential
然后从官网里面下载Anaconda的安装脚本
$ wget https://repo.anaconda.com/archive/Anaconda3-2020.11-Linux-x86_64.sh
然后给脚本赋予执行权限
$ chmod +x Anaconda3-2020.11-Linux-x86_64.sh
然后运行安装脚本即可
$ ./Anaconda3-2020.11-Linux-x86_64.sh
这里不建议使用root权限安装,如果你自己使用的用户就不是root账户的话
这里如果出现找不到conda命令的情况可能需要手动修改shell的环境配置
$ sudo vim ~/.bashrc
然后就修改为类似这样的实际安装路径
export PATH="/home/ubuntu/anaconda3/bin:$PATH"
然后刷新重新运行
$ source ~/.bashrc
2.2 Pytorch
只需要运行这一条命令即可创建虚拟环境
$ conda create -n pytorch3.8-gpu python=3.8
然后记住下面两条命令
Executing transaction: done
#
# To activate this environment, use
#
# $ conda activate pytorch3.8-gpu
#
# To deactivate an active environment, use
#
# $ conda deactivate
先执行这条指令进入Anaconda环境中
$ source activate
执行第一条指令就可以进入虚拟环境中
$ conda activate pytorch3.8-gpu
然后进行安装环境
$ conda install pytorch torchvision cudatoolkit=10.1 -c pytorch
进行测试
(pytorch3.8-gpu) root@iZwz9hdmsptv4xqi0yecvlZ:~# python
Python 3.8.8 | packaged by conda-forge | (default, Feb 20 2021, 16:22:27)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>> torch.cuda.is_available()
True
>>>