docstr: Tests whether `se3_exp_map` and `se3_log_map` correctly return
  a ValueError if called with an argument of incorrect shape, or with
  an tensor containing illegal values.
docstr_tok: ["Tests","whether","`","se3_exp_map","`","and","`","se3_log_map","`","correctly","return","a","ValueError","if","called","with","an","argument","of","incorrect","shape",",","or","with","an","tensor","containing","illegal","values","."]
code: def test_bad_se3_input_value_err(self):
      """
      Tests whether `se3_exp_map` and `se3_log_map` correctly return
      a ValueError if called with an argument of incorrect shape, or with
      an tensor containing illegal values.
      """
      device = torch.device("cuda:0")
  
      for size in ([5, 4], [3, 4, 5], [3, 5, 6]):
          log_transform = torch.randn(size=size, device=device)
          with self.assertRaises(ValueError):
              se3_exp_map(log_transform)
  
      for size in ([5, 4], [3, 4, 5], [3, 5, 6], [2, 2, 3, 4]):
          transform = torch.randn(size=size, device=device)
          with self.assertRaises(ValueError):
              se3_log_map(transform)
  
      # Test the case where transform[:, :, :3] != 0.
      transform = torch.rand(size=[5, 4, 4], device=device) + 0.1
      with self.assertRaises(ValueError):
          se3_log_map(transform)
  
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 12 for calling the TestSE3 obj's underlying member method code with example usage: obj.test_bad_se3_input_value_err() without return types