NNC+Spresenseでiris(アヤメ)の分類
導入
Spresenseでのニューラルネットワーク推論を試してみました。 Spresenseはカメラモジュールが優秀なこともあり、画像分類の記事が多かったため、非画像データを入力としたニューラルネットワーク動作の備忘録として記録します。
NNC(Neural Network Console)での学習
学習データをCSVで用意します。 入力を"xi"、出力を"yi"の形で各列にまとめます。 今回の出力は分類ラベルで1次元なので、インデックスなしの"y"で用意しています。
x__0,x__1,x__2,x__3,y 5.0,3.2,1.2,0.2,0 5.5,3.5,1.3,0.2,0 ...
NNCで以下の図のように、4入力1出力のネットワークを作成します。

その後、実行を押して学習と評価を行います。


良いモデルができたら、学習結果を右クリックしてnnbファイルをエクスポートし、SDカードに保存します。
Spresenseでの実装
Spresenseの拡張ボードに、nnbファイルの入ったSDカードを挿入し、以下のプログラムを書き込みます。 ここでは、小数データを空白区切りでシリアル入力することで、結果をシリアル出力するようにしました。
以下のように動作することが確認できました。
