Numpy 计算get_weights()输出中非零元素数的最快方法
我想计算神经网络权重中非零值的数量 我尝试了以下代码,但得到了一个ValueError。这可能是因为每个阵列的形状不同Numpy 计算get_weights()输出中非零元素数的最快方法,numpy,keras,neural-network,Numpy,Keras,Neural Network,我想计算神经网络权重中非零值的数量 我尝试了以下代码,但得到了一个ValueError。这可能是因为每个阵列的形状不同 h = model.get_weights() # return a list of numpy arrays merged_h = [] for l in h: merged_h += l nzcounts = np.count_nonzero(merged_h) ValueError: operands could not be broadcast togeth
h = model.get_weights() # return a list of numpy arrays
merged_h = []
for l in h:
merged_h += l
nzcounts = np.count_nonzero(merged_h)
ValueError: operands could not be broadcast together with shapes (0,) (3,3,3,32)
我想知道是否有其他方法可以计算
get_weights()
输出中非零元素的数量?谢谢大家! 本质上,问题在于model.get\u weights()
返回数组列表。我认为最简单的方法是将np.count\u nonzero()
分别应用于这些数组中的每一个,然后对结果求和
np.sum([np.count\u模型中x的非零(x)。获取权重()