How to quickly find the layer by its name in deep learning?
17 views (last 30 days)
Show older comments
cui,xingxing
on 23 Apr 2020
Commented: cui,xingxing
on 20 Jun 2020
In the deep learning toolbox, I cannot easily manipulate a specific layer. For example, I know the name of a layer. How can I quickly find it in the layer array?
layers = [convolution2dLayer(3,3,'name','aa');
reluLayer('name','bb');
convolution2dLayer(3,3,'name','cc')]
For example, if I want to find a convolutional layer named "cc", can I only find one by one in a for loop? When there are many layers(There are dozens of layers), this method is very inefficient!
for i = 1:length(layers)
if strcmp(layers(i).Name,'cc')
myfindLayer = layers(i);
break;
end
end
If only
myfindLayer = layers ('cc')
can be operated like this! I hope the official will consider such a method, easy to operate!
0 Comments
Accepted Answer
Ayush Laddha
on 18 Jun 2020
I understand that you wish to search a layer based upon its name and not using its index. You can make use of the ‘Name’ property of a layer. Let’s consider the layer array you mentioned in the question and you want to find the layer with name ‘cc’.
You can use –
layers({layers.Name} == "cc")
or
layers(strcmp({layers.Name}, 'cc'))
Don’t forget to put double-quotes (“ “) in case you are comparing using ‘==’ operator or else use string(‘cc’).
You can also refer to the below documentation -
More Answers (0)
See Also
Categories
Find more on Image Data Workflows in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!