docstr: Check that `se3_exp_map(se3_log_map(A))==A` for
  a batch of randomly generated SE(3) matrices `A`.
docstr_tok: ["Check","that","`","se3_exp_map","(","se3_log_map","(","A",")",")","==A","`","for","a","batch","of","randomly","generated","SE","(","3",")","matrices","`","A","`","."]
code: def test_se3_exp_to_log_to_exp(self, batch_size: int = 10000):
      """
      Check that `se3_exp_map(se3_log_map(A))==A` for
      a batch of randomly generated SE(3) matrices `A`.
      """
      transform = TestSE3.init_transform(batch_size=batch_size)
      # Limit test transforms to those not around the singularity where
      # the rotation angle~=pi.
      nonsingular = so3_rotation_angle(transform[:, :3, :3]) < 3.134
      transform = transform[nonsingular]
      transform_ = se3_exp_map(
          se3_log_map(transform, eps=1e-8, cos_bound=0.0), eps=1e-8
      )
      self.assertClose(transform, transform_, atol=0.02)
  
imports: import unittest
  import numpy
  import torch
  from pytorch3d.transforms.rotation_conversions import random_rotations
  from pytorch3d.transforms.se3 import se3_exp_map, se3_log_map
  from pytorch3d.transforms.so3 import so3_exp_map, so3_log_map, so3_rotation_angle
  from .common_testing import TestCaseMixin
label_desc: Use image node_id 10 for calling the TestSE3 obj's underlying member method code with example usage: obj.test_se3_exp_to_log_to_exp(batch_size) without return types