ニューラルネットワー​クの学習を途中保存す​る方法はありますか?

7 次查看(过去 30 天)
MathWorks Support Team
ニューラルネットワークやディープラーニングの学習の途中経過を保存して一度停止し途中から再開するにはどうすればよいでしょうか。 

采纳的回答

MathWorks Support Team
编辑:MathWorks Support Team 2021-9-27
ニューラルネットワークの関数には、計算途中で結果を保存しておける 'CheckpointFile' オプションがあります。このオプションについては、浅層のニューラルネットワーク、深層ネットワーク両方にあります。 
Shallow Network の場合、train 関数のオプションで以下のように保存場所と一緒に定義します。
net2 = train(net,x,t,'CheckpointFile','MyCheckpoint.mat');
また、保存の頻度は通常60秒に1回、それより短い場合は学習開始時と終了時に1 回ずつ保存されますが、保存の頻度を変更することも可能です。例えば以下の例では10秒ごとにチェックポイントを設けるために 'CheckpointDelay' オプションで10と指定しています。 
net2 = train(net,X,T,Xi,Ai,'CheckpointFile','MyCheckpoint.mat','CheckpointDelay',10);
Deep network の場合、trainingOptions 関数の 'CheckpointPath' オプションで保存場所を指定します。 
options = trainingOptions('sgdm','CheckpointPath','C:\Temp\cnncheckpoint');
オプションを指定後、trainNetwork を実行すると、学習結果がエポックごとに convnet_checkpoint__351__2016_11_09__12_04_23.mat のようなmatファイルとして保存されます。保存された mat ファイル名には、チェックポイント保存時の反復回数とタイムスタンプが含まれています。 
CNN (trainNetwork 関数) の場合には、デフォルトでは変数 net に保存されます。RCNN系 (trainRCNNObject / trainFastRCNNObject / trainFasterRCNNObject 関数) の場合には、変数 detector に学習途中のネットワークが保存されます。 
この mat ファイルを読み込んで学習を再開するには、通常の mat ファイル同様、load 関数を使用します。 
load convnet_checkpoint__351__2016_11_09__12_04_23.mat
以下のドキュメントも参考にしてください。 

更多回答(0 个)

标签

尚未输入任何标签。

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!