【发布时间】:2020-02-26 22:16:35
【问题描述】:
我正在使用 pytorch 训练一些 X 射线图像,但遇到了以下问题:
在loss.backward()这一行,程序一直在运行,永远不会结束,没有错误或警告。
loss, outputs = self.forward(images, targets)
loss = loss / self.accumulation_steps
print("loss calculated: " + str(loss))
if phase == "train":
print("running loss backwarding!")
loss.backward()
print("loss is backwarded!")
if (itr + 1 ) % self.accumulation_steps == 0:
self.optimizer.step()
self.optimizer.zero_grad()
在此之前计算的损失类似于tensor(0.8598, grad_fn=<DivBackward0>)。
谁能帮我解释为什么它会一直运行或者有什么好的方法来调试backward()函数?
我正在使用 torch 1.2.0+cu92 和兼容的 cuda 10.0。
非常感谢!!
【问题讨论】: