检查图层是否具有Keras CNN的权重

时间:2019-05-22 08:35:27

标签: python keras

我有一个用喀拉拉邦制成的CNN。

我可以使用以下方法查看特定图层的权重:

weights,biases = model.layers[n].get_weights()
print(weights,biases)

但是我想查看所有相关层的权重,所以我尝试了:

for layer in model.layers:
    weights,biases = layer.get_weights()

但是对于没有权重的图层(例如max pool图层),这会引发错误。

因此可以检查图层是否具有权重,例如:

if layer.weights != None:

编辑:添加了我正在使用的keras模型

model = keras.models.Sequential()
model.add(keras.layers.Conv2D(1, kernel_size=(3,3),activation='relu', input_shape=(6,6,1)))
model.add(keras.layers.MaxPool2D(pool_size=(2,2)))
model.add(keras.layers.Flatten())
model.add(keras.layers.Dense(len(sign_label_list),activation='relu'))

1 个答案:

答案 0 :(得分:1)

您冷的尝试一下:

for layer in model.layers: 
    if len(layer.get_weights()) > 0: 
        print(layer.name, layer.get_weights())