NeuralNetworkConsoleで遊んでみた
表題の通り、最近話題のNeuralNetworkConsoleで遊んでみました。
ネットワークの構成をGUIでできちゃうのですごい便利らしいです。
とりあえず顔識別機を学習してみました。
ただし、C++等から学習結果を利用するにはnnabla(sonyのdeeplearningライブラリ)を使う必要があるようです。
インストール
以下のページにアクセスしてメールアドレスを入力すると、メールが来ます。
メール内のリンクをたたくとダウンロードが始まります。
「上記に同意して送信」を押しても送信されません。メールアドレス入力後、tab⇒Enterで行けるようです
初回起動時
以下のような画面がでると思います。
規約を読んで同意できればI AgreeでOK。
CUDA設定
GPUによる高速化をする場合、初回起動時の画面で「Engine」をクリック。
CPU、GPUを選択するラジオボタンでGPUを選択します。
自前データの読み込み
mnist等既存のデータセットではなく、自前データを学習したい場合は読み込みが必要です。
「DATASET」から「Create Dataset」をクリックし、以下の画面に遷移します。
「Source Dir」に読み込みたいデータをラベル事にフォルダ分けして配置します。(Matlabで読み込む場合と同じ構成)
「Output Dir」に読み込み結果ファイルを出力するディレクトリをしています。
後は学習とValidationに使う割合を指定したり、画像のサイズを指定したりして「Apply」でOK。
新規プロジェクト生成
「New Project」をクリック。
プロジェクト単位で学習するようです。
ネットワーク生成
一番面白いところです。 入力層を左の画面からドロップします。
できましたね。
特徴量のサイズ等レイヤのプロパティは左下のUIから設定できます。
後は左のUIから好きな層をドロップしてつないでいくだけでネットワークができちゃいます。
学習データ指定
左上の「DATASET」から「Training」と「Validation」用のデータセットを選択できます。
下の画像の赤枠をクリックすると読み込み済みのデータを選択できます。
自前で用意したデータを使う場合、自前データの読み込みで予め読み込んでおきましょう。
学習
左上の「TRAINING」を選択し、録画開始みたいな三角形を押すだけです。
今回は人の顔を学習させてみました。結果は以下の通りです。
学習結果
「EVALUATION」から各データに対する学習結果を確認できます。 ちゃんと顔を認識できていそうですね。