كتابة حلقة تدريب مصغّرة
كرّر على البيانات وحدّث الأوزان
كتابة حلقة تدريب مصغّرة درس مجاني في Deep Learning Academy على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Deep Learning Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Deep Learning Academy 4 دروس في المجموع.
بعض أجزاء هذا الدرس لم تُترجم بعد وتظهر باللغة الإنجليزية.
From Steps to a Loop
You know the four moves of one iteration. Now you wrap them in a loop that walks over your data again and again until the model is trained. 🔁
Gather the Ingredients
Before looping you need three things: a model, a loss function, and an optimizer that holds your model's parameters. Set them up once, up front.
loss_fn = nn.CrossEntropyLoss()
optimizer = torch.optim.Adam(model.parameters())Loop Over Epochs
The outer loop counts epochs, one full pass through your training data. A few epochs may be plenty for a small problem, more for a hard one.
for epoch in range(epochs):
...Loop Over Batches
Inside each epoch you iterate the dataloader, which hands you one batch of inputs and labels at a time instead of the whole dataset at once.
for x, y in dataloader:
...Zero, Then Forward
Start each batch by clearing old gradients, then run the forward pass to get predictions. Order matters: zero first, then predict.
optimizer.zero_grad()
pred = model(x)Measure, Then Learn
Compute the loss, call backward for gradients, then step the optimizer. These three lines are where every weight actually improves.
loss = loss_fn(pred, y)
loss.backward()
optimizer.step()The Full Skeleton
Stitch it together and you have a complete training loop. It is short on purpose: this same shape powers projects of every size.
for epoch in range(epochs):
for x, y in dataloader:
optimizer.zero_grad()
loss = loss_fn(model(x), y)
loss.backward()
optimizer.step()Watch the Loss
Print the loss each epoch so you can see learning happen. A number that trends down means your loop is working as intended.
print(epoch, loss.item())Why item Matters
Use loss.item to pull out a plain Python float. Logging the raw tensor instead keeps the whole computation graph alive and wastes memory.
If Loss Stalls
If the loss refuses to drop, suspect the basics first: a learning rate that is too high or too low, or a forgotten zero_grad each step.
Small but Complete
This loop is tiny yet it is genuinely complete. Everything fancier you meet later just adds validation, logging, or speed on top of these few lines.
Quick Check
What does the inner loop iterate over in a minimal training loop?
Recap
You built a real training loop: loop epochs, loop batches, then zero, forward, loss, backward, step. Print the loss to watch it learn. 🎉
الأسئلة الشائعة
هل درس «كتابة حلقة تدريب مصغّرة» مجاني؟
نعم — نص درس «كتابة حلقة تدريب مصغّرة» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Deep Learning Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Deep Learning Academy 4 دروس في المجموع.
ماذا ستتعلم في «كتابة حلقة تدريب مصغّرة»؟
كرّر على البيانات وحدّث الأوزان تتمرن على Deep Learning Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Deep Learning Academy؟
لا تُشترط خبرة سابقة. Deep Learning Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.
كم من الوقت يستغرق درس «كتابة حلقة تدريب مصغّرة»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Deep Learning Academy هذا؟
نعم. كل درس في Deep Learning Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- المرور الأمامي والخسارة والمرور العكسي والخطوة
- كتابة حلقة تدريب مصغّرة
- تتبّع الدقة أثناء التدريب
- وضعا Train وEval