A leaf Variable that requires grad is being used in an in-place operation

错误原因:

计算图中的叶子节点不能直接进行内置运算,防止影响计算图的反向传播运算。如果非要改变叶子节点data的值,可以直接对data属性调用内置运算,这样不会记录在计算图当中。

解决方案:

1.把梯度变化设置为不变。(亲测)

bifpn.fc.weight.requires_grad, bifpn.fc.bias.requires_grad = False, False
model.fc.weight.requires_grad, model.fc.bias.requires_grad = False, False
           

2.使用detach()函数对变量进行处理。

t0 = torch.ones((10))
t1 = t0.detach()
#然后对t1进行处理

你可能感兴趣的:(深度学习,torch,计算机视觉,深度学习)