code: def test_exp(self, device, dtype, batch_size):
      t = self._make_rand_data(device, dtype, (batch_size, 2))
      theta = torch.zeros(
          batch_size if batch_size is not None else (),
          device=device,
          dtype=dtype,
      )
      z = torch.zeros(
          (batch_size, 2) if batch_size is not None else (2,),
          device=device,
          dtype=dtype,
      )
      s = Se2.exp(torch.cat((t, theta[..., None]), -1))
      self.assert_close(s.r.z, So2.exp(theta).z)
      self.assert_close(s.t, z)
  
imports: import pytest
  import torch
  from kornia.geometry.liegroup import Se2, So2
  from kornia.geometry.vector import Vector2
  from kornia.testing import BaseTester
label_desc: Use image node_id 12 for calling the TestSe2 obj's underlying member method code with example usage: obj.test_exp(device, dtype, batch_size) without return types