You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi, thanks for creating this wonderful library!❤️ However, I ran into the following bug when using it with torch.autograd.
For example, if I try to find the Jacobian w.r.t. a group parameter:
x=LieGroupParameter(SE3.Identity(1))
p=torch.ones(1000, 3)
deffunc1(x_, p_):
# have to wrap with lietorch.SE3 because arguments are passed as tensorsreturnSE3(x_).act(p_).sum()
# throws error: double free or corruption (!prev)print(torch.autograd.functional.jacobian(func1, (x, p)))
The problem seems to be that during the preprocessing stage of torch.autograd, it clones the input data, but for LieGroupParameter, this only retrieves the tangent space data. Somehow the forward function was happy with those 1-dim-less inputs and didn't throw an error until the backward call. The same error appears if I do:
SE3(torch.zeros(1, 6, requires_grad=True)).act(torch.ones(1000, 3)).sum().backward() #double free or corruption (!prev)
It would be nice if you can help look into the above error. Also, it's probably a good idea for LieGroup.__init__ or the op implementations to have some sanity check on the input dimensions so that it catches the problem earlier. Otherwise, thank you for your hard work!😃
The text was updated successfully, but these errors were encountered:
Hi, thanks for creating this wonderful library!❤️ However, I ran into the following bug when using it with
torch.autograd
.For example, if I try to find the Jacobian w.r.t. a group parameter:
The problem seems to be that during the preprocessing stage of
torch.autograd
, it clones the input data, but forLieGroupParameter
, this only retrieves the tangent space data. Somehow the forward function was happy with those 1-dim-less inputs and didn't throw an error until the backward call. The same error appears if I do:It would be nice if you can help look into the above error. Also, it's probably a good idea for
LieGroup.__init__
or the op implementations to have some sanity check on the input dimensions so that it catches the problem earlier. Otherwise, thank you for your hard work!😃The text was updated successfully, but these errors were encountered: