for epoch in range(1000): y_pred = model(x_data) loss = criterion(y_pred,y_data) print(epoch, loss.item()) optimizer.zero_grad() loss.backward() optimizer.step()
时间: 2024-04-20 21:25:13 浏览: 98
PyTorch中model.zero_grad()和optimizer.zero_grad()用法
这是一个简单的训练循环。在每个epoch中,模型首先通过输入数据x_data生成预测值y_pred。然后,计算损失函数loss,该函数将预测值与真实值y_data进行比较。接下来,通过调用optimizer的zero_grad()方法将优化器的梯度缓冲区清零,然后通过调用loss的backward()方法计算梯度,最后通过调用optimizer的step()方法更新模型的参数。在每个epoch结束时,打印出当前epoch和损失值loss.item()。
这段代码是一个简单的训练循环,用于训练一个模型并打印每个epoch的损失值。
阅读全文