主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

チェックポイントネットワークからの学習の再開

この例では,深層学習ネットワークの学習時にチェックポイントネットワークを保存する方法と以前に保存したネットワークから学習を再開する方法を説明します。

標本データの読み込み

標本データを4次元配列として読み込みます。digitTrain4DArrayDataは数字の学習セットを4次元配列データとして読み込みます。XTrainは28 28 x 5000 xの配列で,28はイメージの高さ,28は幅です。1はチャネルの数で,5000は手書きの数字の合成イメージの数です。YTrainは各観測値のラベルを含む直言ベクトルです。

[XTrain, YTrain] = digitTrain4DArrayData;大小(XTrain)
ans =1×428 28 1 5000

XTrainのイメージをいくつか表示します。

图;烫= randperm(大小(XTrain, 4), 20);I = 1:20 subplot(4,5, I);imshow (XTrain(:,:,:,烫(我)));结束

ネットワークアーキテクチャの定義

ニューラルネットワークアーキテクチャを定義します。

layers = [imageInputLayer([28 28 1])]“填充”“相同”maxPooling2dLayer(2,“步”2) convolution2dLayer(16日“填充”“相同”maxPooling2dLayer(2,“步”32岁的,2)convolution2dLayer (3“填充”“相同”) batchNormalizationLayer relullayer averageepooling2dlayer (7) fulllyconnectedlayer (10) softmaxLayer classificationLayer];

学習オプションの指定とネットワークの学習

モーメンタム項付き確率的勾配降下法(个)の学習オプションを指定し,チェックポイントネットワークを保存するためのパスを指定します。

checkpointPath = pwd;选择= trainingOptions (“个”...“InitialLearnRate”, 0.1,...“MaxEpochs”, 20岁,...“详细”假的,...“阴谋”“训练进步”...“洗牌”“every-epoch”...“CheckpointPath”, checkpointPath);

ネットワークに学習させます。trainNetworkは,利用可能なものがある場合はGPUを使用します。利用可能なGPUがない場合,CPUを使用します。trainNetworkは,エポックごとに1つのチェックポイントネットワークを保存し,チェックポイントファイルに一意の名前を自動的に割り当てます。

net1 = trainNetwork (XTrain、YTrain层,选择);

チェックポイントネットワークの読み込みと学習の再開

学習が中断され,完了しなかったとします。学習を最初からやり直すのではなく,最後のチェックポイントネットワークを読み込んで,その時点から学習を再開できます。trainNetworkは,net_checkpoint__195__2018_07_13__11_59_10.matの形式のファイル名でチェックポイントファイルを保存します。195年ここでは反復回数,2018年_07_13trainNetworkがネットワークを保存した日付,11 _59_10はその時刻です。チェックポイントネットワークの変数名はです。

チェックポイントネットワークをワークスペースに読み込みます。

负载(“net_checkpoint__195__2018_07_13__11_59_10.mat”“净”

学習オプションを指定して,エポックの最大回数を減らします。初期学習率などのその他の学習オプションも調整できます。

选择= trainingOptions (“个”...“InitialLearnRate”, 0.1,...“MaxEpochs”15岁的...“详细”假的,...“阴谋”“训练进步”...“洗牌”“every-epoch”...“CheckpointPath”, checkpointPath);

新しい学習オプションで読み込んだチェックポイントネットワークの層を使用して,学習を再開します。チェックポイントネットワークがDAGネットワークの場合,网。层の代わりにlayerGraph(净)を引数として使用します。

net2 = trainNetwork (XTrain YTrain、net.Layers选项);

参考

|

関連する例

詳細