社員Dです。
今回はKerasを動かしてみたいと思います。
Kerasを使うとシンプルに機械学習のコードを書くことができます。
詳しくはKerasの公式サイトを見てみて下さい。
https://keras.io/ja/
試した環境
macOS High Sierra 10.13.1
Docker Community Edition 17.09.0-ce-mac35 (19611)
手順
今回はJupyter notebookを使います。
まず、以下の記事を参考にJupyter notebookを起動して下さい。
Docker & TensorFlowを試す
次に右の方の「New」から「Terminal」を選択します。
Terminalが起動します。
Terminalから以下のコマンドを実行し、Kerasをインストールします。
1 |
# pip install keras |
インストールが完了しました。
ホームに戻って、右の方の「New」から「Python 2」を選択します。
ノートブックが作られます。
KerasのGitHubのサンプルコードを貼り付けます。
今回は以下のサンプルコードを試してみます。
https://github.com/fchollet/keras/blob/master/examples/mnist_cnn.py
ちなみにこのサンプルは、ざっくり言うと、
0〜9の手書き数字を学習して最後にテストし、
何%正解できるかを確認できるコードです。
MNISTは0〜9の手書き数字のデータセットです。
以下のページにサンプル画像があります。
MNIST For ML Beginners | TensorFlow
また、CNNはConvolutional Neural Networkの略称で、
畳み込みニューラルネットワークのことです。
なお、今回は「Kerasを動かしてみる」までが目的ですので、
学習を繰り返す回数(エポック数)を3回に減らしています。
#確認した環境が非力で、デフォルトだと1時間かかってしまうためです。。。
1 |
epochs = 12 |
のところを
1 |
epochs = 3 |
に変更しています。
control+enterで開始します。
以下のような結果が得られました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
Downloading data from https://s3.amazonaws.com/img-datasets/mnist.npz 11493376/11490434 [==============================] - 4s 0us/step 11501568/11490434 [==============================] - 4s 0us/step x_train shape: (60000, 28, 28, 1) 60000 train samples 10000 test samples Train on 60000 samples, validate on 10000 samples Epoch 1/3 60000/60000 [==============================] - 283s 5ms/step - loss: 0.3375 - acc: 0.8970 - val_loss: 0.0748 - val_acc: 0.9755 Epoch 2/3 60000/60000 [==============================] - 304s 5ms/step - loss: 0.1109 - acc: 0.9667 - val_loss: 0.0519 - val_acc: 0.9830 Epoch 3/3 60000/60000 [==============================] - 317s 5ms/step - loss: 0.0867 - acc: 0.9749 - val_loss: 0.0422 - val_acc: 0.9868 Test loss: 0.0422494777607 Test accuracy: 0.9868 |
学習を3回しか繰り返していませんが、
正答率は98.68%となりました。
いかがでしたでしょうか。
Kerasの環境構築自体はものすごく簡単ですので、
皆さんもぜひ1度、試してみて下さい。