work with old linalg

Summary: solve and lstsq have moved around in torch. Cope with both.

Reviewed By: patricklabatut

Differential Revision: D29302316

fbshipit-source-id: b34f0b923e90a357f20df359635929241eba6e74
This commit is contained in:
Jeremy Reizenstein
2021-06-28 06:30:27 -07:00
committed by Facebook GitHub Bot
parent 5284de6e97
commit b8790474f1
7 changed files with 65 additions and 14 deletions

View File

@@ -26,8 +26,8 @@ from .rotation_conversions import (
)
from .se3 import se3_exp_map, se3_log_map
from .so3 import (
so3_exponential_map,
so3_exp_map,
so3_exponential_map,
so3_log_map,
so3_relative_angle,
so3_rotation_angle,

View File

@@ -5,8 +5,9 @@
# LICENSE file in the root directory of this source tree.
import torch
from pytorch3d.common.compat import solve
from .so3 import hat, _so3_exp_map, so3_log_map
from .so3 import _so3_exp_map, hat, so3_log_map
def se3_exp_map(log_transform: torch.Tensor, eps: float = 1e-4) -> torch.Tensor:
@@ -173,7 +174,7 @@ def se3_log_map(
# log_translation is V^-1 @ T
T = transform[:, 3, :3]
V = _se3_V_matrix(*_get_se3_V_input(log_rotation), eps=eps)
log_translation = torch.linalg.solve(V, T[:, :, None])[:, :, 0]
log_translation = solve(V, T[:, :, None])[:, :, 0]
return torch.cat((log_translation, log_rotation), dim=1)

View File

@@ -11,6 +11,7 @@ import torch
from ..transforms import acos_linear_extrapolation
HAT_INV_SKEW_SYMMETRIC_TOL = 1e-5