Pourquoi utiliser différentes variations de softmax dans la formation et la validation pour les réseaux de neurones avec Pytorch?
-
02-11-2019 - |
Question
Plus précisément, je travaille sur un projet de modélisation, et je vois le code de quelqu'un d'autre qui ressemble
def forward(self, x):
x = self.fc1(x)
x = self.activation1(x)
x = self.fc2(x)
x = self.activation2(x)
x = self.fc3(x)
x = self.activation3(x)
# use log softmax + NLLLoss in training; softmax to make predictions
if self.training:
x = self.log_softmax(x)
else:
x = self.softmax(x)
return x
Pour le contexte, cela utilise Pytorch, et c'est sur un problème de classification. Le critère est nllloss. Quelle est la justification derrière l'utilisation log_softmax
pour la formation mais utiliser softmax
Pour les prédictions réelles?
Pas de solution correcte
Licencié sous: CC-BY-SA avec attribution
Non affilié à datascience.stackexchange