import torch
import torchvision.models as models
model = models.resnet18()
optimizer = torch.optim.SGD(model.parameters(), lr=1e-3)
x = torch.randn(1, 3, 224, 224)
y = torch.randn(1, 3, 224, 224)
Run Code Online (Sandbox Code Playgroud)
#第一种方法
loss1 = model(x).mean()
loss2 = model(y).mean()
(loss1+loss2).backward()
optimizer.step()
Run Code Online (Sandbox Code Playgroud)
我想转发两个数据集,它们的总损失将用于向后和更新一个模型。这种做法正确吗?
#第二种方法
loss1 = model(x).mean()
loss1.backward()
loss2 = model(y).mean()
loss2.backward()
optimizer.step()
Run Code Online (Sandbox Code Playgroud)
第一种方法和第二种方法有什么区别?