Kom igångKom igång gratis

Batchnormalisering

Som en sista förbättring av modellarkitekturen lägger vi till ett batchnormaliseringslager efter var och ett av de två linjära lagren. Batchnormalisering tenderar att påskynda träningskonvergensen och skyddar modellen mot problem med försvinnande och exploderande gradienter.

Både torch.nn och torch.nn.init har redan importerats åt dig som nn respektive init. När du har implementerat förändringen i modellarkitekturen ska du svara på en kort fråga om hur batchnormalisering fungerar!

Den här övningen är en del av kursen

Fördjupad djupinlärning med PyTorch

Visa kurs

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

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")
Redigera och kör kod