39層のネットワークを動かす 1の続きです。
ハイパーパラメーターを変更して動作させた結果です。
環境は、Mac mini (CPU 2.8GHz / メモリ 16GB / SSD / (GPU Intel Iris 1536MB))です。
処理はCPUで行われます。
ディスプレイの電源が落ちているとき、スリープさせないように、システム設定を設定しておきます。
実行結果 (AdaGrad + ハイパーパラメーター変更)
エポック数 : 20
の結果です。
画像は、training用200枚、testing用20枚としています。
学習の時間が大きい為、OptimizerはAdaGradだけにして、犬と猫の判定のみとします。エポック数も小さくします。画像サイズは224×224だけにします。
メモリ使用量を抑制する目的で、ミニバッチサイズを2にしています。
結果が良くなる順にグラフを並べています。
犬、猫
224 x 224
実行に13時間12分かかりました。最大メモリ使用量は6.8GBでした。(全て同様の結果)
real 47514.69
user 54572.51
sys 11214.99
6822395904 maximum resident set size
learning rate : 1.022585536440076e-06
learning rate : 0.002106191165122699
learning rate : 0.00011877192261069739
learning rate : 0.0009433072308021531
まとめ
VGG16と同様の構成のネットワークを使って学習しました。
メモリ使用量を8GB未満に抑えて動作させました。
次は、新しいPCを買ってCUDAを使うように実装し直して実行時間を短くしてから、エポック数を増やします。