How can I freeze specific weights of Neural network model?
45 次查看(过去 30 天)
显示 更早的评论
I need to set some specific weights before training, and keep these weights fixed during training
0 个评论
采纳的回答
Utkarsh
2020-6-18
Hi Abdelwahab,
If you wish to assign those weights in the beginning and keep them as constant, you can set the ‘WeightLearnRateFactor’ property as 0 (which defines the learning rate for that layer) for those layers.
For example,
convolution2dLayer(3,1,'Padding',[1 1 1 1],'WeightLearnRateFactor',0);
Or if you want to fix certain weights to some layers in a trained network , then directly assign those layers the values after training the network.
net = alexnet; % or your pre-trained network
layer = net.Layers(1) % here 1 can be replaced with the layer number you wish to change
layer.Weights = randn(11,11,3,96); %the weight matrix which you wish to assign
1 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Deep Learning Toolbox 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!