LoslegenKostenlos loslegen

Batch-Normalisierung

Als letzte Verbesserung der Modellarchitektur fügen wir nach jeder der beiden linearen Schichten eine Batch-Normalisierungsschicht hinzu. Der Batch-Normalisierungs-Trick beschleunigt in der Regel die Trainingskonvergenz und schützt das Modell vor verschwindenden und explodierenden Gradienten.

Sowohl torch.nn als auch torch.nn.init wurden bereits für dich als nn bzw. init importiert. Sobald du die Änderung in der Modellarchitektur implementiert hast, sei bereit, eine kurze Frage darüber zu beantworten, wie die Batch-Normalisierung funktioniert!

Diese Übung ist Teil des Kurses

Deep Learning mit PyTorch für Fortgeschrittene

Kurs anzeigen

Interaktive Übung

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

class Net(nn.Module):
    def __init__(self):
        super().__init__()
        self.fc1 = nn.Linear(9, 16)
        # Add two batch normalization layers
        ____ = ____
        self.fc2 = nn.Linear(16, 8)
        ____ = ____
        self.fc3 = nn.Linear(8, 1)
        
        init.kaiming_uniform_(self.fc1.weight)
        init.kaiming_uniform_(self.fc2.weight)
        init.kaiming_uniform_(self.fc3.weight, nonlinearity="sigmoid")
Code bearbeiten und ausführen