"BOKU"のITな日常

還暦越えの文系システムエンジニアの”BOKU”は新しいことが大好きです。

Neural Network Consoleで学習済パラメータを引き継ぎ追加学習する2つの方法/使い方36

今回は、学習済のモデルを引き継いで、発展させていく2つの方法を試してみます。 

たぶん、以下の2つのケースがあります。

  • ① ネットワーク構造だけを引き継ぐ方法
  • ② ネットワーク+学習済のパラメータ込で引き継ぐ方法

 

① ネットワーク構造だけを引き継ぐ方法

 

Traiingタブで左側に学習結果の一覧を表示させて、引き継ぎたいところで、右クリックしてメニューを表示します。

f:id:arakan_no_boku:20180414105551j:plain

 

ここで「Open in Edit Tab」を選ぶと、Editタブに選択した学習時点のネットワーク構造が表示されます。 

その状態で、名前をつけて保存で、別のプロジェクト名で保存すれば良いわけです。 

これは例えば、自動最適化で作られたうちで、まあまあ良い線いってるネットワーク構造があった。

でも、そのままではなくて、もうちょっと層を深くしていってみたい・・とか、それをベースに変更を加えて行きたいときに使えるかなと思います。

 

② ネットワーク+学習済のパラメータ込で引き継ぐ方法

 

例として、ネットワーク構造の自動最適化をやってみて、なんとなく良さげなものがあるけど、Epoch数が足らなくて学習が途中で終わってしまっている場合を考えます。

arakan-pgm-ai.hatenablog.com

arakan-pgm-ai.hatenablog.com

 

ここで、いちから学習しなおすのは、時間がもったいないです。

途中までいけてる結果を引き継いで、追加学習させたいですよね。 

 

パラメータを引き継ぐ方法

 

学習結果のところで右クリックしてメニューを表示します。

f:id:arakan_no_boku:20180414112242j:plain

 

ここで「Open in EDIT Tab with Weight」 を選びます。

そうすると、Editタブに選択した学習結果のネットワークモデルが表示されます。 

この操作で、各レイヤーのプロパティに学習済の重みとバイアスのパラメータが初期値として引き継がれる様にpathが設定されます。

f:id:arakan_no_boku:20180414113724j:plain

 

このまま学習を行うと追加学習になります。

あ。

もちろん、Structure Search のチェックがついてたらはずしてくださいね。

 

パラメータを引き継いで追加学習

 

これを引き続きで学習させてみました。

f:id:arakan_no_boku:20180414184108j:plain

 

確かに、続きのあたりから始まっているのがわかります。

追加学習になってますね。

ではでは。

 

f:id:arakan_no_boku:20171115215731j:plain