ComenzarEmpieza gratis

Escribe tu propia operación de agrupación

Como hemos visto anteriormente, las CNN pueden tener muchos parámetros. Las capas de agrupación se añaden a menudo entre las capas convolucionales de una red neuronal para resumir sus resultados de forma condensada y reducir el número de parámetros en la siguiente capa de la red. Esto puede sernos útil si queremos entrenar la red más rápidamente o si no disponemos de datos suficientes para aprender un gran número de parámetros.

Una capa de agrupamiento puede describirse como un tipo particular de convolución. Para cada ventana de la entrada, encuentra el valor máximo de píxeles y solo pasa este píxel. En este ejercicio, escribirás tu propia operación de agrupamiento máximo, basándote en el código que utilizaste anteriormente para escribir una operación de convolución bidimensional.

Este ejercicio forma parte del curso

Modelado de imágenes con Keras

Ver curso

Instrucciones del ejercicio

  • Indexa en el arreglo de entrada (im) y selecciona la ventana correcta.
  • Encuentra el máximo en esta ventana.
  • Asigna esto a la entrada correcta en el arreglo de salida (result).

Ejercicio interactivo práctico

Prueba este ejercicio completando el código de muestra.

# Result placeholder
result = np.zeros((im.shape[0]//2, im.shape[1]//2))

# Pooling operation
for ii in range(result.shape[0]):
    for jj in range(result.shape[1]):
        result[ii, jj] = np.max(____)
Editar y ejecutar código