2018年2月28日水曜日

Kerasの動作テスト

Kerasのサンプルプログラムmnist_mlp.pyを動かしてみた。
サンプルプログラムはここからダウンロードした。
https://github.com/keras-team/keras/blob/master/examples/mnist_mlp.py

さっそく実行。

PS > python mninst_mlp.py
Using TensorFlow backend.
Downloading data from https://s3.amazonaws.com/img-datasets/mnist.npz
11493376/11490434 [==============================] - 6s 1us/step
60000 train samples
10000 test samples
_________________________________________________________________
Layer (type)                 Output Shape              Param #
=================================================================
dense_1 (Dense)              (None, 512)               401920
_________________________________________________________________
dropout_1 (Dropout)          (None, 512)               0
_________________________________________________________________
dense_2 (Dense)              (None, 512)               262656
_________________________________________________________________
dropout_2 (Dropout)          (None, 512)               0
_________________________________________________________________
dense_3 (Dense)              (None, 10)                5130
=================================================================
Total params: 669,706
Trainable params: 669,706
Non-trainable params: 0
_________________________________________________________________
Train on 60000 samples, validate on 10000 samples
Epoch 1/20
2018-02-28 14:09:24.640810: I C:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\core\platform\cpu_feature_guard.cc:137] Your CPU supports instructions that this TensorFlow binary was not compiled to
 use: AVX AVX2
2018-02-28 14:09:24.920822: I C:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\core\common_runtime\gpu\gpu_device.cc:1105] Found device 0 with properties:
name: GeForce GTX 970 major: 5 minor: 2 memoryClockRate(GHz): 1.2155
pciBusID: 0000:01:00.0
totalMemory: 4.00GiB freeMemory: 3.31GiB
2018-02-28 14:09:24.928165: I C:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\core\common_runtime\gpu\gpu_device.cc:1195] Creating TensorFlow device (/device:GPU:0) -> (device: 0, name: GeForce GT
X 970, pci bus id: 0000:01:00.0, compute capability: 5.2)
60000/60000 [==============================] - 5s 79us/step - loss: 0.2453 - acc: 0.9251 - val_loss: 0.1072 - val_acc: 0.9643
Epoch 2/20
60000/60000 [==============================] - 3s 44us/step - loss: 0.1035 - acc: 0.9684 - val_loss: 0.0816 - val_acc: 0.9759
Epoch 3/20
60000/60000 [==============================] - 3s 44us/step - loss: 0.0751 - acc: 0.9776 - val_loss: 0.0755 - val_acc: 0.9779
Epoch 4/20
60000/60000 [==============================] - 3s 44us/step - loss: 0.0595 - acc: 0.9819 - val_loss: 0.0776 - val_acc: 0.9792
Epoch 5/20
60000/60000 [==============================] - 3s 44us/step - loss: 0.0498 - acc: 0.9851 - val_loss: 0.0822 - val_acc: 0.9769
Epoch 6/20
60000/60000 [==============================] - 3s 44us/step - loss: 0.0434 - acc: 0.9871 - val_loss: 0.0810 - val_acc: 0.9790
Epoch 7/20
60000/60000 [==============================] - 3s 44us/step - loss: 0.0376 - acc: 0.9886 - val_loss: 0.0834 - val_acc: 0.9813
Epoch 8/20
60000/60000 [==============================] - 3s 44us/step - loss: 0.0361 - acc: 0.9894 - val_loss: 0.0836 - val_acc: 0.9832
Epoch 9/20
60000/60000 [==============================] - 3s 45us/step - loss: 0.0290 - acc: 0.9911 - val_loss: 0.0994 - val_acc: 0.9813
Epoch 10/20
60000/60000 [==============================] - 3s 44us/step - loss: 0.0290 - acc: 0.9913 - val_loss: 0.0922 - val_acc: 0.9800
Epoch 11/20
60000/60000 [==============================] - 3s 43us/step - loss: 0.0272 - acc: 0.9920 - val_loss: 0.0937 - val_acc: 0.9815
Epoch 12/20
60000/60000 [==============================] - 3s 44us/step - loss: 0.0236 - acc: 0.9933 - val_loss: 0.0956 - val_acc: 0.9824
Epoch 13/20
60000/60000 [==============================] - 3s 44us/step - loss: 0.0237 - acc: 0.9932 - val_loss: 0.1011 - val_acc: 0.9816
Epoch 14/20
60000/60000 [==============================] - 3s 44us/step - loss: 0.0219 - acc: 0.9935 - val_loss: 0.0971 - val_acc: 0.9830
Epoch 15/20
60000/60000 [==============================] - 3s 43us/step - loss: 0.0215 - acc: 0.9941 - val_loss: 0.1062 - val_acc: 0.9810
Epoch 16/20
60000/60000 [==============================] - 3s 44us/step - loss: 0.0191 - acc: 0.9943 - val_loss: 0.1109 - val_acc: 0.9824
Epoch 17/20
60000/60000 [==============================] - 3s 44us/step - loss: 0.0166 - acc: 0.9953 - val_loss: 0.1293 - val_acc: 0.9804
Epoch 18/20
60000/60000 [==============================] - 3s 44us/step - loss: 0.0176 - acc: 0.9952 - val_loss: 0.1084 - val_acc: 0.9819
Epoch 19/20
60000/60000 [==============================] - 3s 44us/step - loss: 0.0199 - acc: 0.9952 - val_loss: 0.1123 - val_acc: 0.9815
Epoch 20/20
60000/60000 [==============================] - 3s 45us/step - loss: 0.0179 - acc: 0.9952 - val_loss: 0.1125 - val_acc: 0.9824
Test loss: 0.11250528357143812
Test accuracy: 0.9824

テストデータのAccuracyは98.24%ということか。
リソースモニターを眺めていたところ、プログラム実行中はGPUに30%程度の負荷がかかっていた。これを書いているときなんかは0~1%程度の負荷なんだけどね。

0 件のコメント:

コメントを投稿