http://www.businesswire.com/news/home/20171012005742/en/AWS-Microsoft-Announce-Gluon-Making-Deep-Learning
Gluon API は、githubでプロジェクトが公開されています。
https://github.com/gluon-api/gluon-api
今のところApache MXNetをサポートしていますが、近いうちに Microsoft Cognitive Toolkit もサポート予定です。
Pythonが動作すれば動かせそうなので、ここはひとつ、Azure Cloud Shell で動かしてみましょう。(UbuntuだからもちろんVMでもオンプレでも同様に使えます)
まず、AzureポータルでCloudShellを起動します。
右上の「>_」をクリックすると、ページの下にターミナルが立ち上がります。
次に、pip3でMXNetと関連するパッケージを導入します。
なお、アクセス権の問題で「--user」をつけてコマンドを実行してください。
$ pip3 install mxnet --user
インストールが終わったら、手書き文字認識のデモを動かしてみます。
githubのチュートリアルは Jupyter Notebook用のファイルなので、以下のページのPythonコードをコピペしてCloudShellにコードを置きます。
以下のように実行すると、学習データをダウンロードして実行します。(実行結果のスコアは環境によって異なります)
$ python3 sample.py Downloading /home/takeshi/.mxnet/datasets/train-images-idx3-ubyte.gz from http://data.mxnet.io/data/mnist/train-images-idx3-ubyte.gz... Downloading /home/takeshi/.mxnet/datasets/train-labels-idx1-ubyte.gz from http://data.mxnet.io/data/mnist/train-labels-idx1-ubyte.gz... Downloading /home/takeshi/.mxnet/datasets/t10k-images-idx3-ubyte.gz from http://data.mxnet.io/data/mnist/t10k-images-idx3-ubyte.gz... Downloading /home/takeshi/.mxnet/datasets/t10k-labels-idx1-ubyte.gz from http://data.mxnet.io/data/mnist/t10k-labels-idx1-ubyte.gz... Epoch 0. Current Loss: 0.13201400637626648. Epoch 1. Current Loss: 0.14284838736057281. Epoch 2. Current Loss: 0.015998387709259987. Epoch 3. Current Loss: 0.1412399709224701. Epoch 4. Current Loss: 0.01220973301678896. Epoch 5. Current Loss: 0.020301349461078644. Epoch 6. Current Loss: 0.008270819671452045. Epoch 7. Current Loss: 0.001500518061220646. Epoch 8. Current Loss: 0.0009114982676692307. Epoch 9. Current Loss: 0.006475736387073994.
ちょっとしたことがCloudShellで出来ちゃいました。