IniziaInizia gratis

Batch Normalization

Come miglioramento finale dell’architettura del modello, aggiungi uno strato di batch normalization dopo ciascuno dei due strati lineari. Il trucco della batch norm tende ad accelerare la convergenza dell’addestramento e protegge il modello dai problemi di vanishing ed exploding gradients.

Sia torch.nn sia torch.nn.init sono già stati importati rispettivamente come nn e init. Una volta implementata la modifica nell’architettura del modello, preparati a rispondere a una breve domanda su come funziona la batch normalization!

Questo esercizio fa parte del corso

Deep Learning intermedio con PyTorch

Visualizza il corso

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

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")
Modifica ed esegui il codice