- 著者:ZERO-A-ONE
- 日付:2021-2-20
私のコンピューターにはNVIDIAのディスクリートグラフィックスカードがないため、大規模なコンピューティングアクセラレーショントレーニングにGPUを使用する必要がある場合、コンピューティング用のクラウドサービスを購入することを考えています。ここでは、いくつかのHuaweiCloudについて問い合わせました。 、TencentCloudとAlibabaCloudは、Tencent Cloudの価格が比較的安いことを発見しました。サーバーの作成時にシステムインストールドライバーを確認でき、Ubuntu 20.04をサポートしますが、HuaweiCloudは比較的古いUbuntu16.04のみをサポートします。
以下は、購入したサーバーの構成です。オンデマンドで支払うことを選択しました。
-
モデル:GN7.2XLARGE32
-
CPU:Intel Xeon Cascade Lake(2.5 GHz)* 8vCPU
-
RAM:32GB
-
GPU:NVIDIA T4 * 1
-
OS:Ubuntu20.04サーバーLTS
1つは、ドライブ構成
バックグラウンドインストールドライバーは構成インターフェイスでチェックされますが、入力後、次のコマンドを実行します。
$ nvidia-smi
システムがグラフィックカードを認識しなかったことが判明したため、グラフィックカードドライバーを自分で構成する必要があります。まず、システム内のドライバーをクリーンアップします。
$ sudo apt-get purge nvidia*
利用可能なドライバーバージョンを探す
$ ubuntu-drivers devices
私のコンピューターでのこの指示の結果は
ubuntu@VM-0-4-ubuntu:~$ ubuntu-drivers devices
== /sys/devices/pci0000:00/0000:00:08.0 ==
modalias : pci:v000010DEd00001EB8sv000010DEsd000012A2bc03sc02i00
vendor : NVIDIA Corporation
model : TU104GL [Tesla T4]
driver : nvidia-driver-460 - distro non-free recommended
driver : nvidia-driver-418-server - distro non-free
driver : nvidia-driver-450-server - distro non-free
driver : nvidia-driver-450 - distro non-free
driver : nvidia-driver-460-server - distro non-free
driver : xserver-xorg-video-nouveau - distro free builtin
次に、ローカルカーネルのバージョン番号に従って、使用するドライバーのバージョンを決定する必要があります。この命令を実行できます。
$ cat /proc/driver/nvidia/version
私のコンピューターの情報は次のことを示しています:
ubuntu@VM-0-4-ubuntu:~$ cat /proc/driver/nvidia/version
NVRM version: NVIDIA UNIX x86_64 Kernel Module 418.181.07 Sun Dec 27 19:26:35 UTC 2020
GCC version: gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04)
カーネルのドライバーバージョンが418.181.07であることがわかるので、ドライバーの418バージョンをインストールするだけです。
$ sudo apt-get install nvidia-driver-418-server nvidia-settings nvidia-prime
その後、再起動します
$ sudo reboot
ドライバーをもう一度確認すると、グラフィックカードが認識されていることがわかります
ubuntu@VM-0-4-ubuntu:~$ nvidia-smi
Fri Feb 26 15:30:58 2021
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 418.181.07 Driver Version: 418.181.07 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 Tesla T4 Off | 00000000:00:08.0 Off | 0 |
| N/A 45C P0 29W / 70W | 0MiB / 15079MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| No running processes found |
+-----------------------------------------------------------------------------+
2.深層学習環境の構築
ここで選択したプラットフォームはAnacondaです。Anacondaがインストールされていて、PytorchまたはTensorflow-gpuがインストールされている限り、非常にシンプルです。
2.1Anacondaをインストールする
最初にいくつかの必要なライブラリをインストールします
$ sudo apt-get install python3 python3-pip python3-dev git libssl-dev libffi-dev build-essential
次に、公式Webサイトから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コマンドが見つからない場合は、シェルの環境構成を手動で変更する必要がある場合があります
$ sudo vim ~/.bashrc
次に、次のように実際のインストールパスに変更します
export PATH="/home/ubuntu/anaconda3/bin:$PATH"
次に、更新して再実行します
$ source ~/.bashrc
2.2 Pytorch
このコマンドを実行するだけで、仮想環境を作成できます
$ conda create -n pytorch3.8-gpu python=3.8
次に、次の2つのコマンドを覚えておいてください
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) ubuntu@VM-0-4-ubuntu:~/MachLE$ python
Python 3.8.8 (default, Feb 24 2021, 21:46:12)
[GCC 7.3.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>> torch.cuda.is_available()
True
>>>