39層のネットワークを動かす 2

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_graph_710_004_not_go_up
learning rate : 1.022585536440076e-06

learning_graph_710_003_3rd
learning rate : 0.002106191165122699

learning_graph_710_002_2nd
learning rate : 0.00011877192261069739

learning_graph_710_001_1st
learning rate : 0.0009433072308021531

まとめ

VGG16と同様の構成のネットワークを使って学習しました。
メモリ使用量を8GB未満に抑えて動作させました。

次は、新しいPCを買ってCUDAを使うように実装し直して実行時間を短くしてから、エポック数を増やします。

参考

vgg16
ゼロから作るDeep Learning
deep-learning-from-scratch





«       »