Deep learning 如何找到keras模型的参数数量?

Deep learning 如何找到keras模型的参数数量?,deep-learning,keras,Deep Learning,Keras,对于前馈网络(FFN),很容易计算参数的数量。给定CNN、LSTM等,是否有快速方法找到keras模型中的参数数量?模型和层有专门的方法: import keras.backend as K def size(model): # Compute number of params in a model (the actual number of floats) return sum([np.prod(K.get_value(w).shape) for w in model.trainab

对于前馈网络(FFN),很容易计算参数的数量。给定CNN、LSTM等,是否有快速方法找到keras模型中的参数数量?

模型和层有专门的方法:

import keras.backend as K

def size(model): # Compute number of params in a model (the actual number of floats)
    return sum([np.prod(K.get_value(w).shape) for w in model.trainable_weights])
model.count_params()
此外,要获得每个图层标注和参数的简短摘要,您可能会发现以下方法很有用

model.summary()

追溯
print\u summary()
函数,Keras开发人员计算给定
模型的可训练和不可训练参数的数量,如下所示:

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)]))

鉴于
K.count\u params()
定义为
np.prod(int\u shape(x))
,此解决方案与Anuj Gupta的解决方案非常相似,除了使用
set()
和检索张量形状的方式。

创建网络后添加:model.summary
它会给你一个你的网络和参数数量的摘要