ディープラーニング未経験だけどNeuralNetworkConsole入れてみた



ディープラーニングに対して多少興味はあるも一切触れたことのない自分が、今話題というだけ、ミーハー心丸出しでSonyのNeural Network Consoleに手を出してみました。

先に言っておくと、[ドキュメント](https://blog.dl.sony.com/259/)見た方が確実に早いです。ただの備忘録です。[ドキュメント](https://blog.dl.sony.com/259/)見てください。

#Neural Network Console とは


[公式サイトはこちら] (https://dl.sony.com/ja/)


Sonyが開発したディープラーニングのためのGUIツールです。
これまでのディープラーニングはTensorflow、caffe、Chainerなどのソフトウェアライブラリでの提供がほとんどでしたが、こちらはGUIツールです。これでもう環境構築や複雑なコーディングに悩まされない...かも！？ちなみに[ライブラリの提供](https://nnabla.org/ja/)もされているそうです。


#1. 開発環境
自身の開発環境は以下の通りです。


OS : Windows10 Home 64bit
CPU : Intel Core i7-6700HQ 2.60GHz
GPU : GeForce GTX 1060


動作環境はサイトのど頭にある通り
OS : Windows8.1, 10 64bit
ということしかわかりませんでした。


#2. 導入


何はともあれインストールから。
公式サイトの下の方にある入力ボックスにメールアドレスを入力し送信。
するとメールが送られてくるので「Download the Windows App」をクリック。
ダウンロードが始まります。ちなみに1G近くあるので注意。


メールに書いてある通りなのですが、ここで二つやること。
1.Visual Studio 2015のVisual C++ 再頒布可能パッケージをインストール
2.NVIDIA GPU搭載PCの場合グラフィックドライバを最新バージョンに更新

自分はこの二つの条件を満たしていた(はず)ので何もせず続行。


ダウンロードしたら解凍してホームにあるneural_network_console.exeを実行。
初めに先ほどの二つの注意のポップアップが出ますがスルー。
![VC++再頒布可能パッケージ入れてね.PNG](https://qiita-image-store.s3.amazonaws.com/0/153451/b2b7a852-aced-19e4-e86d-c3c4e5f928a1.png)


初回起動時のみ自動で設定画面が出てきます。ここで二つポチポチ。
1.LICENCEにてI Agreeボタンをポチ
![setup_Licence.PNG](https://qiita-image-store.s3.amazonaws.com/0/153451/867546f8-0e11-a544-6230-fcda647d0c3a.png)

2.GPUを使う場合のみ、ENGINEにてGPUをポチ
![setup_Engine.PNG](https://qiita-image-store.s3.amazonaws.com/0/153451/48bb72d9-d7bd-64ac-20ea-1f3c9458e3b5.png)この二つをした後、右下のApplyをポチ。これで初期設定は完了です。
ちなみにこの設定画面、ホーム画面の右上歯車から再び編集できます。


#3.サンプル実行
おそらくホーム画面は次のようになっていると思います。
![home.PNG](https://qiita-image-store.s3.amazonaws.com/0/153451/01ecafe7-ca97-a59f-6fa3-4f72862dc135.png)


この中央が保存されているプロジェクトらしく、一番上の01_logistic_regression.sdcprojがサンプルのプロジェクトなのでこれを選択。するとEDIT画面に来ます。
![edit.PNG](https://qiita-image-store.s3.amazonaws.com/0/153451/56ae2e22-9121-e68d-feb2-46b6c57a8611.png)


今回のサンプルはMNISTデータセットから一部(4と9の画像)を抽出して学習、評価をするものらしいです。DATASETタブを開くと使用するデータセットを確認することができます。
![dataset.PNG](https://qiita-image-store.s3.amazonaws.com/0/153451/23450544-24a9-a162-49f1-3f3e0387000e.png)


さぁ次に何をするかというと！
準備完了。F5キーで学習開始です。なんということでしょう！
学習し始めるとリアルタイムに結果がグラフで出力されます。各グラフの意味まではディープ全くやっていなかった身ではいまいちわからなかったけど、とりあえず0に近づけばいいっぽい（雑）。
![training.PNG](https://qiita-image-store.s3.amazonaws.com/0/153451/74fe2d06-3f1c-dc22-5023-a80f81c15dde.png)


学習が終わったら評価です、流れるようにF6キーをプッシュ！
評価完了。6行目が全体の精度らしい、おおよそ95%の精度が出ています。
![result2.PNG](https://qiita-image-store.s3.amazonaws.com/0/153451/ac4247fd-0116-1f03-d48e-79e10531a071.png)


#とりあえずここまで。
これにてテスト終了！ここまで正常に動けば問題ないです。なんかPATHに日本語とかスペースとか入ってるとまずいらしいとかちょくちょくわかったことはありますが、全部ドキュメントの範囲内です。超見やすいのでサンプル動かすだけならほんと迷うことなく進めました。
ただ、ここに書いたことほんとに全部ドキュメント通りしかやっていないし、なにせディープラーニングの中身全然やってないから「なんかようわからんけど手書き文字識別できたわーい」状態。特にEDITで作るニューラルネットワークのところのコンポーネントの意味とかInputくらいしかわかってない。
のでTensorFlowにもう少し足突っ込んでみてから再び戻ってこようかなと思います。[ゼロからDeepLearningを作らなければ](https://www.amazon.co.jp/%E3%82%BC%E3%83%AD%E3%81%8B%E3%82%89%E4%BD%9C%E3%82%8BDeep-Learning-Python%E3%81%A7%E5%AD%A6%E3%81%B6%E3%83%87%E3%82%A3%E3%83%BC%E3%83%97%E3%83%A9%E3%83%BC%E3%83%8B%E3%83%B3%E3%82%B0%E3%81%AE%E7%90%86%E8%AB%96%E3%81%A8%E5%AE%9F%E8%A3%85-%E6%96%8E%E8%97%A4-%E5%BA%B7%E6%AF%85/dp/4873117585/)。