MATLAB Answers

How to quickly find the layer by its name in deep learning?

11 views (last 30 days)
cui on 23 Apr 2020
Commented: cui 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');
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);
If only
myfindLayer = layers ('cc')
can be operated like this! I hope the official will consider such a method, easy to operate!


Sign in to comment.

Accepted Answer

Ayush Laddha
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")
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)




Community Treasure Hunt

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

Start Hunting!