現在使用しているAzure環境にnnablaをインストールして、ウェブアプリを作成してみました。
nnablaはSONY Neural Network Consoleでも使用されているもので、比較的簡単にニューラルネットワークを利用出来るのですけど、学習した結果をどう使うかがなかったので、サンプルを兼ねて作ってみました。
VE Detect
https://www.mizunagi-works.com/gadgets/ve_detect/index.html
言い訳っぽいのですけど、これは学習データが少ないのと「アインハルトかヴィヴィオのどちらか」を判定させるように学習させた結果となります。
例えばおにぎりの画像を与えたときでも必ずどちらかという判定します。(どちらでもないという回答を出すようには学習させていません)
■
Azureへの導入
ニューラルネットワークというと、強力なGPUを使用する負荷の高いアプリケーションに感じられるかもしれません。
確かに計算量は多いのですが、処理が重たいのは学習をする時で、学習済み結果を利用するのはそんなに重くありません。
(今回作成したニューラルネットワークの構成が単純というのもあります)
自分が使用しているAzure上のVMはA1 Basicでかなり非力(下から2番目)なのですが、学習結果を利用するにあたってはそこまで負荷はありませんでした。
SONY NNCによるネットワークの作成と学習
プログラムの作成
学習が完了すると、学習結果が保存されたフォルダにparameters.h5というファイルが生成されています。
学習済みモデルを利用するにはこのh5ファイルと、NNCからエクスポートしたPythonスクリプトが必要となります。
スクリプトはちょっと長めですのでGitHubに置いておきました。
bottleを使用していますので、ローカルでこっそり楽しむことが可能です。
.