How to manually change pre-trained CNN's (AlexNet) weights?

10 vues (au cours des 30 derniers jours)
Yuan Du
Yuan Du le 10 Août 2017
Réponse apportée : DL le 29 Mar 2021
To whom can help:
I am using MATLAB r2017a. I am trying to change the weights of a pre-trained CNN, like alexnet, using the following codes. Unfortunately, I got the following errors. Are there any suggestions to by-pass this read-only constrain?
Thanks a lot! Jason
" You cannot set the read-only property 'Layers' of SeriesNetwork"
% code
>> net=alexnet
>> net.Layers(2,1).Weights=net.Layers(2,1).Weights*10;

Réponses (3)

J
J le 16 Avr 2018
Bump! I have a hard time believing that one cannot take an existing SeriesNetwork, and either:
1. Modify properties of it, or...
2. ... create a new SeriesNetwork that is a copy of the existing one, but has different values for certain properties
Also, I would image there is a way to take an existing SeriesNetwork, then addLayers/removeLayers/connectLayers and convert back to a SeriesNetwork, rather than being stuck with the DAGNetwork that is generated (if it really is naturally represented as SeriesNetwork)? Or if not, that there is some workaround?
I mean, it makes NO SENSE that if, for example, I have a SeriesNetwork with a dropoutLayer at default 0.5 that I can't just modify that to 0.25 or 0.6 or whatever I want and then re-train without having to convert to a DAGNetwork and then be stuck with a DAGNetwork (certain functions will only operate on SeriesNetwork--take for example, deepDreamImage).

mizuki
mizuki le 13 Août 2017
In R2017a, the only supported way to create a SeriesNetwork is to use trainNetwork, and it is not possible to modify it.
  1 commentaire
Tom Hope
Tom Hope le 10 Jan 2018
OK - that seems a pretty strict limitation. What about 2017b?

Connectez-vous pour commenter.


DL
DL le 29 Mar 2021
You can convert the DAG net to an object and then change that object with is a structure, then load that back. It is a possible way.

Catégories

En savoir plus sur Image Data Workflows dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by