PyTorch
1.はじめに
PyTorchとはPython向けのオープンソース機械学習ライブラリです。
当初の開発はFacebook社により行われました。
PyTorchは2016年後半に発表された比較的新しいライブラリです。
現在はCaffe2が内包されています。
DDBJ スパコンではmodule loadをすることで以下のバージョンが利用できます。
2.使用可能なバージョン
pytorch/0.4.0a0 environmental modulesの配下
利用可能なノード/キュー
login_gpu.q(Intel+Volta)
gpu.q(Intel+Volta)
3.(参考)外部ドキュメント
PyTorchオフィシャルサイト
https://pytorch.org/
PyTorchオンラインドキュメント
https://pytorch.org/docs/stable/index.html
PyTorchの詳細利用については、マニュアル等を参照してください。
4.使用方法
(1)Python 2.7.5での利用方法
モジュール内容の確認
$ module show pytorch/0.4.0a0
-------------------------------------------------------------------
/cm/shared/modulefiles/pytorch/0.4.0a0:
module-whatis adds Pytorch to your environment variables
module load cm-ml-pythondeps
module load cudnn/7.0
module load openblas
module load cuda91/toolkit
module load hdf5_18
module load hpcx
module load openmpi/cuda/64
prepend-path PYTHONPATH /cm/shared/apps/pytorch/0.4.0a0/lib/python2.7/site-packages/
prepend-path PYTHONPATH /cm/shared/apps/pytorch/0.4.0a0/lib64/python2.7/site-packages/
prepend-path PATH /cm/shared/apps/pytorch/0.4.0a0/bin
-------------------------------------------------------------------
モジュールの読み込み
module load pytorch/0.4.0a0
$HOMEに作業ディレクトリを作成します。
mkdir pytorch
cd pytorch
PyTorchを使わずにNumPyで計算するPythonスクリプトの実行
wget https://pytorch.org/tutorials/_downloads/two_layer_net_numpy.py
python two_layer_net_numpy.py
PyTorchを使って同じ計算をするPythonスクリプト
wget https://pytorch.org/tutorials/_downloads/two_layer_net_tensor.py
python two_layer_net_tensor.py
PyTorchの中でautogradパッケージを用いて計算を行うPythonスクリプト
wget https://pytorch.org/tutorials/_downloads/two_layer_net_autograd.py
python two_layer_net_autograd.py
いずれのPythonスクリプトでも
(0, 30441528.0)
(1, 24030226.0)
(2, 21918182.0)
(3, 20344492.0)
(4, 17776994.0)
(5, 14068959.0)
(6, 10076051.0)
(7, 6679653.5)
(8, 4248157.5)
(9, 2691722.25)
(10, 1752136.25)
<省略>
(489, 4.9749734898796305e-05)
(490, 4.918753620586358e-05)
(491, 4.8342197260353714e-05)
(492, 4.78145811939612e-05)
(493, 4.732703018817119e-05)
(494, 4.6662109525641426e-05)
(495, 4.6037297579459846e-05)
(496, 4.5369361032499e-05)
(497, 4.496386100072414e-05)
(498, 4.4240492570679635e-05)
(499, 4.391061156638898e-05)
といった結果が得られます。
(2)Python3.7.2での利用方法
モジュールの内容確認
$ module show ml-python3/pytorch
-------------------------------------------------------------------
/cm/shared/modulefiles/ml-python3/pytorch/0.4.0a0:
module-whatis adds Pytorch to your environment variables
module load cm-ml-python3deps
module load cudnn/7.0
module load openblas
module load cuda91/toolkit
module load hdf5_18
module load hpcx
module load openmpi/cuda/64
prepend-path PYTHONPATH /cm/shared/apps/ml-python3/pytorch/0.4.0a0/lib/python3.6/site-packages/
prepend-path PYTHONPATH /cm/shared/apps/ml-python3/pytorch/0.4.0a0/lib64/python3.6/site-packages/
prepend-path PATH /cm/shared/apps/ml-python3/pytorch/0.4.0a0/bin
-------------------------------------------------------------------
モジュールの読み込み
module load python/3.7.2
module load ml-python3/pytorch
モジュールのアンロード
module unload python/3.7.2
module unload ml-python3/pytorch
以上