我有一个用喀拉拉邦制成的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'))
答案 0 :(得分:1)
您冷的尝试一下:
for layer in model.layers:
if len(layer.get_weights()) > 0:
print(layer.name, layer.get_weights())