TensorFlow
ここでは、TensorFlowをpipで導入して実行する手順を説明します。
TensorFlowの単体実行
前提
grpname
はご自身のシステムHグループ名に置き換えてください- Python仮想環境はインタラクティブノードと各計算ノードで参照できるよう、ホーム領域またはグループ領域に作成してください
- サンプルプログラムはインタラクティブノードと各計算ノードで参照できるよう、ホーム領域またはグループ領域に保存してください
導入方法
venvモジュールでPython仮想環境を作成し、作成したPython仮想環境へTensorFlowを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/tensorflow
[username@qh001 ~]$ source ~/venv/tensorflow/bin/activate
(tensorflow) [username@qh001 ~]$ pip3 install --upgrade pip setuptools
(tensorflow) [username@qh001 ~]$ pip3 install tensorflow[and-cuda]==2.17.1
次回以降は、次のようにモジュールの読み込みとPython仮想環境のアクティベートだけでTensorFlowを使用できます。
[username@qh001 ~]$ module load python/3.12 cuda/12.6 cudnn/9.8
[username@qh001 ~]$ source ~/venv/tensorflow/bin/activate
実行方法
TensorFlowサンプルプログラム train.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/tensorflow/bin/activate
(tensorflow) [username@qh001 ~]$ git clone https://github.com/tensorflow/tensorflow.git
(tensorflow) [username@qh001 ~]$ python3 tensorflow/tensorflow/examples/speech_commands/train.py --how_many_training_steps 1000,500
バッチジョブとして実行
次のジョブスクリプトを 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/tensorflow/bin/activate
git clone https://github.com/tensorflow/tensorflow.git
python3 tensorflow/tensorflow/examples/speech_commands/train.py --how_many_training_steps 1000,500
deactivate
バッチジョブ実行のため、ジョブスクリプト run.sh
をqsubコマンドでバッチジョブとして投入します。
[username@qes01 ~]$ qsub run.sh
12345.qjcm