事前学習済みネットワ​ークの特定層の重みま​で一括して凍結する方​法はありますか?

4 次查看(过去 30 天)
MathWorks Support Team

imagePretrainedNetwork でロードしたdlnetworkオブジェクトの 特定の層や複数層に対して重みやバイアスを一括して凍結するにはどうすればよいですか?
たとえば、AlexNetのfc6層までのバイアスの値を凍結する方法を教えてください。

采纳的回答

MathWorks Support Team
imagePretrainedNetwork で取得したdlnetworkオブジェクトの学習パラメータに対する学習率の設定は、setLearnRateFactor()メソッドを利用します。このメソッドは個別の層とパラメータごとに指定する必要があるため、複数層に一括で設定したい場合はforループなどを使って繰り返し処理を行います。
例えば、AlexNetのfc6層までのすべてのパラメータの学習率を0に設定するには、以下のようなコードを使用します。
% AlexNet モデルのロード [net,classNames] = imagePretrainedNetwork('alexnet'); % Learnable Parametes 一覧取得 tbl = net.Learnables; % fc6層まで LearnRate を 0 に設定 for n = 1:12 net = setLearnRateFactor(net, tbl.Layer(n), tbl.Parameter(n), 0) end

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 イメージを使用した深層学習 的更多信息

标签

尚未输入任何标签。

Community Treasure Hunt

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

Start Hunting!