TensorFlow

1.はじめに

TensorflowとはGoogle Brain teamの研究者とエンジニアが開発した
オープンソースの機械学習用ソフトウェアライブラリです。
数値解析やニューラルネットワークに対応しており、GoogleとDeepMindの各種サービスでも広く活用されています。

DDBJ スパコンではmodule loadをすることで以下のバージョンが利用できます。

2.使用可能なバージョン

tensorflow/1.7.0 environmental modulesの配下

利用可能なノード/キュー
login_gpu.q(Intel+Volta)
gpu.q(Intel+Volta)

3.(参考)外部ドキュメント

Tensorflow公式ページ
https://www.tensorflow.org/

Tensorflow Tutorial
https://www.tensorflow.org/tutorials/

Tensorflow Guide
https://www.tensorflow.org/guide/

Tensorflowの詳細利用については、マニュアル等を参照してください。

 

4.使用方法

(1) Python2.7.5での利用方法

モジュールの内容確認

$ module show tensorflow
-------------------------------------------------------------------
/cm/shared/modulefiles/tensorflow/1.7.0:

module-whatis adds TensorFlow 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
prepend-path PYTHONPATH /cm/shared/apps/tensorflow/1.7.0/lib/python2.7/site-packages/
prepend-path PYTHONPATH /cm/shared/apps/tensorflow/1.7.0/lib64/python2.7/site-packages/
prepend-path PATH /cm/shared/apps/tensorflow/1.7.0/bin
-------------------------------------------------------------------

モジュールの読み込み

$ module load tensorflow
$ module load openmpi/cuda/64

 Pythonのインタラクティブシェル上での動作確認

$ python

>>> import tensorflow as tf
>>> hello = tf.constant('Hello, TensorFlow!')
>>> sess = tf.Session()
>>> sess.run(hello)
'Hello, TensorFlow!'が表示されることを確認。

>>> a=tf.constant(10)
>>> b=tf.constant(32)
>>> sess.run(a+b)
42が表示されることを確認。

Ctrl-D でPythonのインタラクティブコンソールを抜けてLinuxのシェルに戻ってくることができます。

$HOME上にワークディレクトリの作成

$ mkdir tensorflow
$ cd tensorflow

Tutorialのディレクトリをローカルにコピーします。

$ cp -r /cm/shared/apps/tensorflow/current/models/tutorials/image/mnist ./
$ cd mnist
$ python convolutional.py
Successfully downloaded train-images-idx3-ubyte.gz 9912422 bytes.
Successfully downloaded train-labels-idx1-ubyte.gz 28881 bytes.
Successfully downloaded t10k-images-idx3-ubyte.gz 1648877 bytes.
Successfully downloaded t10k-labels-idx1-ubyte.gz 4542 bytes.
Extracting data/train-images-idx3-ubyte.gz
Extracting data/train-labels-idx1-ubyte.gz
Extracting data/t10k-images-idx3-ubyte.gz
Extracting data/t10k-labels-idx1-ubyte.gz
2019-05-26 14:54:36.575507: I tensorflow/core/platform/cpu_feature_guard.cc:140] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 AVX512F FMA
2019-05-26 14:54:37.057240: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1344] Found device 0 with properties:
<省略>
Step 8400 (epoch 9.77), 2.3 ms
Minibatch loss: 1.595, learning rate: 0.006302
Minibatch error: 0.0%
Validation error: 0.8%
Step 8500 (epoch 9.89), 2.3 ms
Minibatch loss: 1.608, learning rate: 0.006302
Minibatch error: 0.0%
Validation error: 0.9%
Test error: 0.9%

上記で示したような結果が得られることを確認します。

モジュールのアンロード

module unload tensorflow
module unload openmpi/cuda/64

(2)Python3.7.2での利用方法

モジュールの内容確認

$ module show ml-python3/tensorflow
-------------------------------------------------------------------
/cm/shared/modulefiles/ml-python3/tensorflow/1.7.0:

module-whatis adds TensorFlow 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
prepend-path PYTHONPATH /cm/shared/apps/ml-python3/tensorflow/1.7.0/lib/python3.6/site-packages/
prepend-path PYTHONPATH /cm/shared/apps/ml-python3/tensorflow/1.7.0/lib64/python3.6/site-packages/
prepend-path PATH /cm/shared/apps/ml-python3/tensorflow/1.7.0/bin
-------------------------------------------------------------------

モジュールの読み込み

module load python/3.7.2
module load ml-python3/tensorflow/1.7.0

モジュールのアンロード

module unload ml-python3/tensorflow/1.7.0
module unload python/3.7.2

以上