Skip to content
18 / 22

Что происходит на каждом шаге training loop в PyTorch: forward, loss, backward, optimizer.step, zero_grad — и в каком порядке?

Канонический PyTorch training step: model.train()optimizer.zero_grad()outputs = model(inputs)loss = criterion(outputs, targets)loss.backward()optimizer.step(). На валидации — model.eval() + with torch.no_grad():. Порядок критичен: zero_grad ДО backward, иначе перезаписываем уже накопленные grad'ы текущего шага.

Что происходит на каждом шаге training loop в PyTorch: forward, loss, backward, optimizer.step, zero_grad — и в каком порядке? | JScriptiser