الهدف: الفصل الواضح بين التدريب والتحقّق والحفظ والمقاييس.
def train_epoch(model, loader, criterion, optimizer, device):
model.train()
total_loss = 0.0
for x, y in loader:
x, y = x.to(device), y.to(device)
optimizer.zero_grad(set_to_none=True)
logits = model(x)
loss = criterion(logits, y)
loss.backward()
optimizer.step()
total_loss += loss.item() * x.size(0)
return total_loss / len(loader.dataset)الضرب في x.size(0) يُعيد بناء المجموع لكل مثال قبل المتوسّط الإجمالي. المتوسّط الساذج
لمتوسّطات الدُّفعات يُحيِّز الدُّفعة الأخيرة إن كانت أصغر.
معاينة — بقية الدرس متاحة للمسجّلين فقط.
وصولك مرتبط بحسابك وليس بهذا الرابط. سجّل الدخول بنفس البريد الذي استخدمته في الصف: دورتك بانتظارك، ولا حاجة لإدخال الرمز مجددًا.
تسجيل الدخولليس لديك حساب بعد؟ أنشئ حسابًاالوحدات الأولى من الدورة مفتوحة للجميع. أما البقية فأمامك ثلاثة خيارات: شراء هذه الدورة مرة واحدة، أو الاشتراك، أو إدخال الرمز الموزّع في القاعة.