How to find Number of parameters of a keras model?

Viewed 34108

For a Feedforward Network (FFN), it is easy to compute the number of parameters. Given a CNN, LSTM etc is there a quick way to find the number of parameters in a keras model?

4 Answers

Tracing back the print_summary() function, Keras developers compute the number of trainable and non_trainable parameters of a given model as follows:

import keras.backend as K
import numpy as np

trainable_count = int(np.sum([K.count_params(p) for p in set(model.trainable_weights)]))

non_trainable_count = int(np.sum([K.count_params(p) for p in set(model.non_trainable_weights)]))

Given that K.count_params() is defined as np.prod(int_shape(x)), this solution is quite similar to the one of Anuj Gupta, except for the use of set() and the way the shape of the tensors are retrieved.

After creating your network add: model.summary
And it will give you a summary of your network and the number of parameters.

Related