code: def test_serialization(self, device, dtype, tmp_path):
      p = Vector3.random((), device, dtype)
      n = Vector3.random((), device, dtype).normalized()
      plane = Hyperplane.from_vector(n, p)
  
      file_path = tmp_path / "plane.pt"
      torch.save(plane, file_path)
      assert file_path.is_file()
  
      loaded_plane = torch.load(file_path)
      self.assert_close(
          plane.normal.unwrap(), loaded_plane.normal.unwrap()
      )
  
imports: import pytest
  import torch
  from kornia.geometry.plane import Hyperplane, fit_plane
  from kornia.geometry.vector import Vector3
  from kornia.testing import BaseTester
label_desc: Use image node_id 2 for calling the TestHyperplane obj's underlying member method code with example usage: obj.test_serialization(device, dtype, tmp_path) without return types