LoslegenKostenlos loslegen

Schreib deine eigene Pooling-Operation

Wie wir schon gesehen haben, können CNNs echt viele Parameter haben. Pooling-Schichten werden oft zwischen den Convolutional Layers eines neuronalen Netzwerks eingefügt, um deren Ausgaben auf kompakte Weise zusammenzufassen und die Anzahl der Parameter in der nächsten Schicht des Netzwerks zu reduzieren. Das kann uns helfen, wenn wir das Netzwerk schneller trainieren wollen oder nicht genug Daten haben, um eine sehr große Anzahl von Parametern zu lernen.

Eine Pooling-Schicht kann man sich wie eine spezielle Art der Faltung vorstellen. Für jedes Fenster in der Eingabe wird der höchste Pixelwert gefunden und nur dieser Pixel wird weitergeleitet. In dieser Übung schreibst du deine eigene Max-Pooling-Operation, basierend auf dem Code, den du zuvor zum Schreiben einer zweidimensionalen Faltungsoperation verwendet hast.

Diese Übung ist Teil des Kurses

Bildmodellierung mit Keras

Kurs anzeigen

Anleitung zur Übung

  • Geh ins Eingabe-Array (im) und wähl das richtige Fenster aus.
  • Such das größte Element in diesem Fenster.
  • Speicher das in den richtigen Eintrag im Ausgabe-Array (result).

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# 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(____)
Code bearbeiten und ausführen