0Pricing
Deep Learning Academy · Leçon

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

  1. Séparer entraînement, validation et test
  2. Une boucle d’époque avec validation
  3. Enregistrer et charger avec state_dict
  4. Arrêt précoce selon la perte de validation
← Retour à Deep Learning Academy