コンテンツにスキップ

PyTorch

ここでは、PyTorchをpipで導入して実行する手順を説明します。

PyTorchの単体実行

前提

  • grpnameはご自身のシステムHグループ名に置き換えてください
  • Python仮想環境はインタラクティブノードと各計算ノードで参照できるよう、ホーム領域またはグループ領域に作成してください
  • サンプルプログラムはインタラクティブノードと各計算ノードで参照できるよう、ホーム領域またはグループ領域に保存してください

導入方法

venvモジュールでPython仮想環境を作成し、作成したPython仮想環境へPyTorchをpipで導入する手順です。

[username@qes01 ~]$ qsub -I -W group_list=grpname -l rt_QG=1,walltime=1:00:00
[username@qh001 ~]$ module load python/3.12 cuda/12.6 cudnn/9.8
[username@qh001 ~]$ python3 -m venv ~/venv/pytorch
[username@qh001 ~]$ source ~/venv/pytorch/bin/activate
(pytorch) [username@qh001 ~]$ pip3 install --upgrade pip setuptools
(pytorch) [username@qh001 ~]$ pip3 install torch==2.7.0 torchvision==0.22.0 torchaudio==2.7.0 --extra-index-url https://download.pytorch.org/whl/cu126

次回以降は、次のようにモジュールの読み込みとPython仮想環境のアクティベートだけでPyTorchを使用できます。

[username@qh001 ~]$ module load python/3.12 cuda/12.6 cudnn/9.8
[username@qh001 ~]$ source ~/venv/pytorch/bin/activate

実行方法

PyTorchサンプルプログラム main.py 実行方法をインタラクティブジョブとバッチジョブそれぞれの場合で示します。

インタラクティブジョブとして実行

[username@qes01 ~]$ qsub -I -W group_list=grpname -l rt_QG=1,walltime=1:00:00
[username@qh001 ~]$ module load python/3.12 cuda/12.6 cudnn/9.8
[username@qh001 ~]$ source ~/venv/pytorch/bin/activate
(pytorch) [username@qh001 ~]$ git clone https://github.com/pytorch/examples.git
(pytorch) [username@qh001 ~]$ cd examples/mnist
(pytorch) [username@qh001 ~]$ python3 main.py

バッチジョブとして実行

次のジョブスクリプトを run.sh ファイルとして保存します。

#!/bin/sh

#PBS -l rt_QG=1
#PBS -j oe
#PBS -W group_list=grpname

cd ${PBS_O_WORKDIR}

source /etc/profile.d/modules.sh
module load python/3.12 cuda/12.6 cudnn/9.8
source ~/venv/pytorch/bin/activate
git clone https://github.com/pytorch/examples.git
cd examples/mnist
python3 main.py
deactivate

バッチジョブ実行のため、ジョブスクリプト run.sh をqsubコマンドでバッチジョブとして投入します。

[username@qes01 ~]$ qsub run.sh
12345.qjcm