¿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?

Respuestas a la pregunta(2)

Su respuesta a la pregunta