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
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")