¿Cómo obtener correctamente los pesos de capa de Conv2D en keras?
Tengo la capa Conv2D que se define como:
Conv2D(96, kernel_size=(5, 5),
activation='relu',
input_shape=(image_rows, image_cols, 1),
kernel_initializer=initializers.glorot_normal(seed),
bias_initializer=initializers.glorot_uniform(seed),
padding='same',
name='conv_1')
Esta es la primera capa en mi red.
Las dimensiones de entrada son de 64 por 160, la imagen es de 1 canal.
Estoy tratando de visualizar los pesos de esta capa convolucional pero no estoy seguro de cómo obtenerlos.
Así es como estoy haciendo esto ahora:
1 llamada
layer.get_weights()[0]
Esto devuelve una serie de formas (5, 5, 1, 96). 1 es porque las imágenes son de 1 canal.
2, tome 5 por 5 filtros por
layer.get_weights()[0][:,:,:,j][:,:,0]
Muy feo pero no estoy seguro de cómo simplificar esto, cualquier comentario es muy apreciado.
No estoy seguro en estos cuadrados de 5 por 5. ¿Son realmente filtros?
Si no, ¿alguien podría decir cómo tomar correctamente los filtros del modelo?