Une boucle d’époque avec validation
Évaluez le modèle après chaque parcours des données.
Une boucle d’époque avec validation est une leçon Deep Learning Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Deep Learning Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Deep Learning Academy comprend 4 leçons au total.
Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.
What an Epoch Means
One epoch is a single full pass over your entire training set. Real training repeats this pass many times so the model keeps improving.
The Outer Loop
Wrap your whole routine in a loop over epochs. Each turn of this outer loop trains once and then checks progress on validation.
for epoch in range(num_epochs):
train_one_epoch()
validate()The Inner Training Loop
Inside an epoch you loop over batches from the DataLoader. Each batch runs the familiar forward, loss, backward, step rhythm.
for x, y in train_loader:
optimizer.zero_grad()
loss = loss_fn(model(x), y)
loss.backward()
optimizer.step()Switch to Train Mode
Before training a pass, call model.train(). It turns on layers like dropout and batch norm that should behave differently while learning.
model.train()Switch to Eval Mode
Before validating, call model.eval(). This freezes dropout and uses running batch-norm stats so your scores are steady and fair.
model.eval()No Gradients While Validating
Validation only reads the model, so wrap it in torch.no_grad(). Skipping the graph saves memory and runs noticeably faster.
with torch.no_grad():
for x, y in val_loader:
out = model(x)Track the Running Loss
Add up each batch's loss across the epoch, then divide by the count. This average loss is one clean number to compare epoch to epoch.
total += loss.item() * x.size(0)
epoch_loss = total / len(loader.dataset)Measure Validation Loss
Compute the same average on the validation set. This validation loss reveals how well the model generalizes beyond what it trained on.
Print Progress Each Epoch
Log both losses every epoch so you can watch the curves. Seeing the trend live makes overfitting easy to catch the moment it starts.
print(epoch, train_loss, val_loss)Read the Two Curves
Healthy training shows both losses falling. When validation loss starts climbing while training keeps dropping, the model is beginning to overfit.
Don't Backward on Validation
A frequent bug is calling backward() during validation. Never update weights from val data, or you contaminate your honest measurement.
Quick Check
What should you call right before running the validation pass?
Recap
Each epoch trains in train mode, then validates in eval mode under no_grad. Track both losses and watch the gap to catch overfitting early. 📈
Questions Fréquemment Posées
La leçon « Une boucle d’époque avec validation » est-elle gratuite ?
Oui — le texte complet de « Une boucle d’époque avec validation » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Deep Learning Academy, passe à CoddyKit PRO. Le cours Deep Learning Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Une boucle d’époque avec validation » ?
Évaluez le modèle après chaque parcours des données. Tu pratiques Deep Learning Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Deep Learning Academy ?
Aucune expérience préalable n'est requise. Deep Learning Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.
Combien de temps prend la leçon « Une boucle d’époque avec validation » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Deep Learning Academy ?
Oui. Chaque leçon Deep Learning Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Séparer entraînement, validation et test
- Une boucle d’époque avec validation
- Enregistrer et charger avec state_dict
- Arrêt précoce selon la perte de validation