Neural Network Console 03(自前データ)

2018-03-17

AI Neural_Network_Console

Neural Network Console 01(インストールとサンプル実行)
Neural Network Console 02(GPU設定、効果) の続き

サンプル等で遊んだ後、自前のデータで試してみたくなったので、やってみた。

自前データ作成
  • とある画像。人力で評価点を付けた
  • 画像サイズ:3(カラー),36(縦),270(横)
    サンプルの画像が、3,28,28であることを考えると大きすぎる気がするが、とりあえず試して見る。
    画像の切り取り・サイズ合わせには、pictcutterというフリーソフトを用いた。同じサイズの画像をいっぱい切り取るには便利
  • 画像数:30枚。たぶん圧倒的に足りないのだろうが、元ネタがそれしかなかったし、手作業でいっぱい作るのは大変。これで試して見る
データセット(DATASET)作成
  • データセットファイルneural_network_console_110\samples\sample_dataset\MNIST\mnist_training.csvを参考に、エクセルでデータ作成。30枚全ての画像ファイル名と評価値が並んだもの。
  • エクセルだうまく読み込めないという情報もあったが、特に問題なかった。UTF-8のBOMヘッダーというものが関係しているらしい。mnistのファイルを開いて別名保存したのがよかったか、2byte文字がなかったからかもしれない。
ネットワーク構造(EDIT)
  • チュートリアル:入力画像を元に連続値を推定するを真似して作成。意味は不明。
  • InputからSquaredErrorまで、順にダブルクリックしてじゃかじゃか作っていく。
    前の出力数と次の入力数は一致するように勝手に修正されるようだ。
  • InputのSizeを、3,36,270に修正
    Windows上のファイルプロパティーでは、270x36と表示されるが、DATASETで表示すると、3,36,270と書いてある。実は3,270,36として実行したらエラーが出た。
  • Affine_2のOutShapeを1に設定。最後は1つの連続値なので。
  • 間の層のSize他のパラメーターはデフォルトのまま。よくわからないけど、勝手に設定される。
データセット(DATASET)設定
  • Training,Validationとも、上記で作った30枚分のデータセットファイルを設定
    サンプルではデータを80%/20%程度に分けて、trainingとtestの別のファイルにしているが、元ネタが30枚しかないのでそうした。Validationって何するものかわからないので、とりあえず(次々回あたりで考察予定)。
コンフィグ(CONFIG)
  • Max Epoch:20
    学習の繰り返し回数。画像サイズが3,36,270とサンプルよりかなり多い。すごく時間がかかるかもしれないので、とりあえず20にしてみた。
  • Batch Size:5
    この数のデータをセットで学習していくらしい。データ数より少なくする必要があるとの事なので、5にしてみた。
学習(TRAINING)
Trainingのボタンをクリック:20秒

評価(EVALUETION)
Evaluationのボタンをクリック:28秒
なんか長い。Sampleのプロジェクトでは、Evaluationはすぐ終わっていた気がする。出来上がった構造で計算するだけなのだから早いはず。なんかおかしいのかも。謎。

評価結果
プロジェクト名.files\年月日_時分秒\output_result.csvよりエクセルで散布図を作成。すばらしい。横軸が元の評価値、縦軸が計算結果。非常に高い相関関係がある。

元の画像集めを除くと、2,3時間(たぶん)でここまでできた。なんかすごいぞ。
(これを書いている今はいろいろ疑問があるが)

Neural Network Console 04(繰り返し回数と学習結果 Max Epoch ) に続く