事前学習済みネットワークの特定層の重みまで一括して凍結する方法はありますか?
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
MathWorks Support Team
le 20 Août 2025
Réponse apportée : MathWorks Support Team
le 20 Août 2025
imagePretrainedNetwork でロードしたdlnetworkオブジェクトの 特定の層や複数層に対して重みやバイアスを一括して凍結するにはどうすればよいですか?
たとえば、AlexNetのfc6層までのバイアスの値を凍結する方法を教えてください。
Réponse acceptée
MathWorks Support Team
le 20 Août 2025
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 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur イメージを使用した深層学習 dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!