حلقة Epoch مع التحقق
قيّم النموذج بعد كل مرور على البيانات
حلقة Epoch مع التحقق درس مجاني في Deep Learning Academy على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Deep Learning Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Deep Learning Academy 4 دروس في المجموع.
بعض أجزاء هذا الدرس لم تُترجم بعد وتظهر باللغة الإنجليزية.
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. 📈
الأسئلة الشائعة
هل درس «حلقة Epoch مع التحقق» مجاني؟
نعم — نص درس «حلقة Epoch مع التحقق» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Deep Learning Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Deep Learning Academy 4 دروس في المجموع.
ماذا ستتعلم في «حلقة Epoch مع التحقق»؟
قيّم النموذج بعد كل مرور على البيانات تتمرن على Deep Learning Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Deep Learning Academy؟
لا تُشترط خبرة سابقة. Deep Learning Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.
كم من الوقت يستغرق درس «حلقة Epoch مع التحقق»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Deep Learning Academy هذا؟
نعم. كل درس في Deep Learning Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- تقسيم بيانات التدريب والتحقق والاختبار
- حلقة Epoch مع التحقق
- الحفظ والتحميل باستخدام state_dict
- الإيقاف المبكر عند خسارة التحقق