プリインストールの利用方法(PyTorch、TensorFlow、JupyterLab)

1. プリインストールとは

IndigoGPUではソフトウェアがプリインストールされたインスタンスを選択することができ、環境構築の手間を削減することができます。
インスタンスの末尾の記号がプリインストールされているソフトウェアを示しています。

次の表はプリインストールのバージョン一覧になります。

インスタンス末尾の記号 NVIDIAドライバ CUDA Python TensorFlow PyTorch JupyterLab
h 515 11.7 3.10 - - -
i 515 11.7 3.10 2.11 1.13 4

インスタンスタイプは、コントロールパネルのインスタンス管理から確認できます。

2. NVIDIAドライバ、CUDA、Pythonの利用方法

インスタンスにはNVIDIAドライバ、CUDA、Pythonが共通でインストールされています。
NVIDIAドライバとCUDAのバージョンは、インスタンスに接続後、次のコマンドで確認ができます。

$ nvidia-smi
Thu Oct 12 04:24:50 2023
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 515.86.01 Driver Version: 515.86.01 CUDA Version: 11.7 |
|-------------------------------+----------------------+----------------------+
~省略~

Pythonは次のコマンドで実行できます。

$ python
Python 3.10.12 (main, Jun 11 2023, 05:26:28) [GCC 11.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

3. TensorFlow、PyTorch、JupyterLabの利用方法

TensorFlow、PyTorch、JupyterLabを使用する場合は、venv環境をアクティベートする必要があります。
TensorFlow、PyTorchはプリインストールされているバージョンによって、venv環境をアクティベートするコマンドが異なりますので、ご注意ください。

■venv環境アクティベートコマンド一覧

インスタンス
末尾記号
TensorFlow PyTorch  JupyterLab
i source ~/.venv/tf211_py310/bin/activate source ~/.venv/torch113_py310/bin/activate source ~/.venv/base/bin/activate

3-1. TensorFlowの利用方法

TensorFlowのvenv環境をアクティベートします。

(base)$ source ~/.venv/tf211_py310/bin/activate
(tf211_py310) $

(tf**_py**)に切り替わったら、アクティベート完了です。

アクティベートした状態でpythonを実行します。

(tf211_py310) $ python
Python 3.10.12 (main, Jun 11 2023, 05:26:28) [GCC 11.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

TensorFlowをインポートします。

>>> import tensorflow as tf
~省略~
>>>

TensorFlowのバージョンを確認します。

>>> tf.__version__
'2.11.0'
>>>

TensorFlowのバージョンは、2.11.0がインストールされていることが分かります。

TensorFlowからGPUを確認します。

>>> print("Num GPUs Available: ", len(tf.config.list_physical_devices('GPU')))
~省略~
Num GPUs Available: 1
>>>

Num GPUs Available: 1が表示された場合、TensorFlowからGPUが適切に認識できています。

pythonを終了します。

>>> exit()
(tf211_py310) $

3-2.PyTorchの利用方法

PyTorchのvenv環境をアクティベートします。

(base)$ source ~/.venv/torch113_py310/bin/activate
(torch113_py310) $

(torch**_py**)に切り替わったら、アクティベート完了です。

アクティベートした状態でpythonを実行します。

(torch113_py310) $ python
Python 3.10.12 (main, Jun 11 2023, 05:26:28) [GCC 11.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

PyTorchをインポートします。

>>> import torch
>>>

PyTorchのバージョンを確認します。

>>> torch.__version__
'1.13.1+cu117'

PyTorchからGPUを確認します。

>>> torch.cuda.is_available()
TRUE
>>>

TRUEが表示された場合、PyTorchからGPUが適切に認識できています。
pythonを終了します。

>>> exit()
(torch113_py310) $

3-3.JupyterLabの利用方法

JupyterLabを使用する際は、ポートフォワードの設定をする必要があるため、一度インスタンスに接続しているターミナルからログアウトします。

アクセスサーバに接続しているターミナル(access-server:~$ と表示されているターミナル)はログアウトする必要はありません。

インスタンスに接続するターミナルにおいて、カレントディレクトリが C:\Users\[user名]> になっている事を確認し、次のコマンドを実行します。(ポート8888のポートフォワード)

ssh -L 8888:localhost:8888 user@localhost -p 20122 -i .ssh\mykey.txt
Welcome to Ubuntu 22.04.2 LTS (GNU/Linux 5.4.0-135-generic x86_64)
~省略~
Last login: Thu Oct 12 21:59:52 2023 from IPアドレス
(base) $

インスタンス接続の際、デフォルトで(base)のvenv環境ログインしています。この(base)にJupyterLabがプリインストールされているため、基本的にアクティベートは不要です。
アクティベートした状態で、次のコマンドを実行し、JupyterLabを起動します。

起動後プロンプトは返ってきませんが、繋いだままにしておきます。

(base) $ jupyter lab --ip='*' --port=8888 --NotebookApp.token='' --
NotebookApp.password='' --no-browser
[I 2023-10-12 22:07:56.005 ServerApp] Package jupyterlab took 0.0000s to import
~省略~

次に接続元PCからブラウザを開き、ブラウザの検索窓にlocalhost:8888を入力し、Enterを押すと、ブラウザにJupyterLabが表示されます。
JupyterLabのUI上で、TensorFlowやJupyterLabのvenv環境を選択することができます。

終了する場合はブラウザを閉じ、ターミナルでCtrl-Cを入力し終了します。
Ctrl-Cを入力するとシャットダウンするか聞かれるのでyを入力します。

Shutdown this Jupyter server (y/[n])? y
[C 2023-10-12 22:29:06.849 ServerApp] Shutdown confirmed
[I 2023-10-12 22:29:06.851 ServerApp] Shutting down 5 extensions
(base) $

4.venv環境から抜ける場合

venv環境から抜ける場合は、ターミナルで次のコマンドを実行します。

(base) $ deactivate
$

(base)の表示が消えて、venv環境から抜けていることが分かります。

以上で、プリインストールの利用方法(PyTorch、TensorFlow、JupyterLab)は完了となります。

その他の関連記事を見る