Corriger une boucle d'entraînement PyTorch

Intermédiaire LinuxPyTorch25 min50 XP

La perte de ~/vision/entrainer.py ne diminue pas et l'évaluation consomme énormément de mémoire. Corrigez la boucle :

  • appareil : device = torch.device("cuda" if torch.cuda.is_available() else "cpu"), modèle et lots déplacés avec .to(device)
  • entraînement : model.train(), puis pour chaque lot dans cet ordre : optimizer.zero_grad(), calcul de la perte, loss.backward(), optimizer.step()
  • évaluation : model.eval() et with torch.no_grad():
  • sauvegarde des poids : torch.save(model.state_dict(), "modele.pt")

Lancez python3 entrainer.py --epochs 3 (depuis ~/vision) → exactitude de validation à l'époque 3 → answer val <valeur>. Que se passe-t-il sans zero_grad() ? → answer zerograd <accumulation|explosion-memoire|rien>

Contenu Premium

Ce contenu est inclus dans l'offre Premium. Le titre et le résumé restent visibles pour vous aider à choisir.

Tâches

  1. Boucle d'entraînement correcte
  2. Évaluation sans gradients et sauvegarde
  3. Résultat et théorie