class_docstr: :class:`torch.Tensor` subclass for bounding boxes.
  
  .. note::
      There should be only one :class:`~torchvision.tv_tensors.BoundingBoxes`
      instance per sample e.g. ``{"img": img, "bbox": BoundingBoxes(...)}``,
      although one :class:`~torchvision.tv_tensors.BoundingBoxes` object can
      contain multiple bounding boxes.
  
  Args:
      data: Any data that can be turned into a tensor with :func:`torch.as_tensor`.
      format (BoundingBoxFormat, str): Format of the bounding box.
      canvas_size (two-tuple of ints): Height and width of the corresponding image or video.
      dtype (torch.dtype, optional): Desired data type of the bounding box. If omitted, will be inferred from
          ``data``.
      device (torch.device, optional): Desired device of the bounding box. If omitted and ``data`` is a
          :class:`torch.Tensor`, the device is taken from it. Otherwise, the bounding box is constructed on the CPU.
      requires_grad (bool, optional): Whether autograd should record operations on the bounding box. If omitted and
          ``data`` is a :class:`torch.Tensor`, the value is taken from it. Otherwise, defaults to ``False``.
code: def _wrap(cls, tensor: torch.Tensor, *, format: Union[BoundingBoxFormat, str], canvas_size: Tuple[int, int], check_dims: bool = True) -> BoundingBoxes:  # type: ignore[override]
      if check_dims:
          if tensor.ndim == 1:
              tensor = tensor.unsqueeze(0)
          elif tensor.ndim != 2:
              raise ValueError(
                  f"Expected a 1D or 2D tensor, got {tensor.ndim}D"
              )
      if isinstance(format, str):
          format = BoundingBoxFormat[format.upper()]
      bounding_boxes = tensor.as_subclass(cls)
      bounding_boxes.format = format
      bounding_boxes.canvas_size = canvas_size
      return bounding_boxes
  
file_path: vision/torchvision/tv_tensors/_bounding_boxes.py
imports: from __future__ import annotations
  from enum import Enum
  from typing import Any, Mapping, Optional, Sequence, Tuple, Union
  import torch
  from torch.utils._pytree import tree_flatten
  from ._tv_tensor import TVTensor
label_desc: Use image node_id 1 for calling the BoundingBoxes obj's underlying member method code with example usage: obj._wrap(cls, tensor) and returns: bounding_boxes