【发布时间】:2020-07-22 03:50:16
【问题描述】:
对于下面的代码,损失减少了。
loss_function=nn.MSELoss()
loss=loss_function(pred,label)
但是,如果我将 pred 更改为 floor 函数,损失将完全保持不变。我检查了opt.step()之后的参数,它们没有改变。
loss_function=nn.MSELoss()
loss=loss_function(torch.floor(pred),label)
为什么会发生这种情况?
我的猜测:这个torch.floor(pred) 操作破坏了计算图。其他“真正的”数学运算,例如 pred*3(例如)不会破坏计算图。
【问题讨论】:
标签: pytorch