实例级的pytorch交叉熵反向传播

时间:2019-05-13 18:05:42

标签: machine-learning deep-learning pytorch

我想在实例级别而不是批处理级别上反向传播由nn.CrossEntropyLoss()计算的损失。

更具体地说,以下代码可以实现pytorch 1.0.1下的目标:

output = model(x)
criterion = nn.CrossEntropyLoss(reduction='none')
loss = criterion(output, target)
for i in range(loss.size(0)):
    loss[i].backward()

尽管上述费用与以下所示的批次传播的反向传播损失几乎相同:

output = model(x)
criterion = nn.CrossEntropyLoss()
loss = criterion(output, target)
loss.backward()

实例级反向传播将花费更多的时间。

所以我想问,有没有更有效的方式来满足我的要求?

非常感谢!

0 个答案:

没有答案