英文:
Pytorch's .backward() stops python with no error
问题
在附加的Python代码中执行.backwards()
时,Python会突然停止而不打印任何错误跟踪信息在命令行界面中,可能出了什么问题?
output = F.softmax(output, dim=1)
argmax_values = output.max(dim=-1, keepdim=True)[1]
model.zero_grad(set_to_none=True)
print(output, argmax_values)
torch.gather(output, -1, argmax_values).backward(gradient=torch.ones_like(argmax_values)) #Python stops here
Torch版本:'1.9.0+cu111'
我尝试将torch.gather
的输出保存在自己的变量中,然后在之后执行.backward()
,以确保问题出在.backward()
上,结果是出在.backward()
上。
英文:
When doing .backwards() in the code attached python simply just stops without printing any error trace in the cli, what could be going wrong here?
output = F.softmax(output, dim=1)
argmax_values = output.max(dim=-1, keepdim=True)[1]
model.zero_grad(set_to_none=True)
print(output, argmax_values)
torch.gather(output, -1, argmax_values).backward(gradient=torch.ones_like(argmax_values)) #Python stops here
Torch version : '1.9.0+cu111'
I tried saving the output of torch.gather in its own variable and then do .backward() after to make sure that is failing on .backward() and it is.
答案1
得分: 0
升级到 torch 版本 1.11.0+cu113 解决了我的问题。我仍然没有解释为什么在 1.9.0+cu111 上不起作用,不过我想我会把这个问题视为已解决。
英文:
Updating to torch version 1.11.0+cu113 solved this issue for me. I'm still left without an explanation to why it did not work on 1.9.0+cu111, regardless I guess I would consider this case closed for me.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论