MATLAB Answers

How to calculate the number of parameters in MATLAB that is used by a deep learning network like VGG/ResNet

92 views (last 30 days)
Muhammad Arsalan
Muhammad Arsalan on 30 Oct 2018
Commented: Hasin Rehana on 15 Feb 2021
Suppose I am using a deep learning model like VGG-16/ResNet/ Inception, The other tools like tensorflow, Keras automatically show the number of parameters used by the candidate network. for example for VGG-Net the number of parameters are 138 Million Also if the network is modified for our own application the number of parameters is important to check the network cost or to make a lighter network. There must be a procedure to check it for DAG network.
Thanks in Advance

Answers (1)

SC
SC on 3 Dec 2019
Edited: SC on 3 Dec 2019
I used a function to analyse it manually. I'm not sure if there're better approaches. Here's my code for a dlnetwork object myDLnet (thus the code works for 2019b but not sure for the older version):
num_para=find_num_para(myDLnet)
function num_para=find_num_para(myDLnet)
layers=myDLnet.Learnables.Value;
num_layers = size(layers,1);
num_para=0;
for i=1:num_layers
num_para=num_para+prod(size(layers{i}));
end
end
  1 Comment
Hasin Rehana
Hasin Rehana on 15 Feb 2021
Hi SC,
While trying your code I'm getiing this error
No appropriate method, property, or field 'Learnables' for class 'SeriesNetwork'.
Error in cnn2>find_num_para (line 160)
layers=net.Learnables.Value;

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!