Le commentaire officiel montre que "cela n'a d'effet que sur des modules tels que Dropout ou BatchNorm." Mais je ne comprends pas sa mise en œuvre.
Dropout et BatchNorm (et peut-être certains modules personnalisés) se comportent différemment pendant la formation et l'évaluation. Vous devez indiquer au modèle à quel moment passer en mode eval en appelant .eval()
sur le modèle.
Cela définit self.training
à False
pour chaque module du modèle. Si vous implémentez votre propre module qui doit se comporter différemment pendant la formation et l'évaluation, vous pouvez vérifier la valeur de self.training
ce faisant.