How to quickly find the layer by its name in deep learning?
12 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Ayush Laddha
2020-6-18
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 -
更多回答(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!