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

 以上