code: def test_numeric_3d(self, device, dtype):
      num_classes = 3
      shape = (50, 50, 50)
      hd = kornia.losses.HausdorffERLoss3D
      logits = torch.rand(
          2, num_classes, *shape, dtype=dtype, device=device
      )
      labels = (
          torch.rand(2, 1, *shape, dtype=dtype, device=device)
          * (num_classes - 1)
      ).long()
      loss = hd(k=10)
  
      expected = torch.tensor(0.011, device=device, dtype=dtype)
      actual = loss(logits, labels)
      assert_close(actual, expected, rtol=1e-2, atol=1e-2)
  
file_path: kornia/test/losses/test_hd.py
imports: import pytest
  import torch
  from torch.autograd import gradcheck
  import kornia
  import kornia.testing
  from kornia.testing import assert_close
label_desc: Use image node_id 5 for calling the TestHausdorffLoss obj's underlying member method code with example usage: obj.test_numeric_3d(device, dtype) without return types