code: def test_get_boxes_shape_batch(self, device, dtype):
      t_box1 = torch.tensor(
          [
              [
                  [0, 1, 2],
                  [0, 1, 32],
                  [10, 21, 2],
                  [0, 21, 2],
                  [10, 1, 32],
                  [10, 21, 32],
                  [10, 1, 2],
                  [0, 21, 32],
              ]
          ],
          device=device,
          dtype=dtype,
      )
      t_box2 = torch.tensor(
          [
              [
                  [3, 4, 5],
                  [3, 4, 65],
                  [43, 54, 5],
                  [3, 54, 5],
                  [43, 4, 5],
                  [43, 4, 65],
                  [43, 54, 65],
                  [3, 54, 65],
              ]
          ],
          device=device,
          dtype=dtype,
      )
      batched_boxes = Boxes3D(torch.stack([t_box1, t_box2]))
  
      d, h, w = batched_boxes.get_boxes_shape()
      assert d.ndim == 2
      assert h.ndim == 2
      assert w.ndim == 2
      assert d.shape == (2, 1)
      assert h.shape == (2, 1)
      assert w.shape == (2, 1)
      assert_close(
          d,
          torch.as_tensor([[31.0], [61.0]], device=device, dtype=dtype),
      )
      assert_close(
          h,
          torch.as_tensor([[21.0], [51.0]], device=device, dtype=dtype),
      )
      assert_close(
          w,
          torch.as_tensor([[11.0], [41.0]], device=device, dtype=dtype),
      )
  
imports: from functools import partial
  import pytest
  import torch
  from kornia.geometry.boxes import Boxes, Boxes3D
  from kornia.testing import assert_close, gradcheck, tensor_to_gradcheck_var
label_desc: Use image node_id 3 for calling the TestBbox3D obj's underlying member method code with example usage: obj.test_get_boxes_shape_batch(device, dtype) without return types