class_docstr: Base class for all TVTensors.
  
  You probably don't want to use this class unless you're defining your own
  custom TVTensors. See
  :ref:`sphx_glr_auto_examples_transforms_plot_custom_tv_tensors.py` for details.
class_docstr_tok: ["Base","class","for","all","TVTensors",".","You","probably","do","n't","want","to","use","this","class","unless","you","'re","defining","your","own","custom","TVTensors",".","See",":","ref",":","`","sphx_glr_auto_examples_transforms_plot_custom_tv_tensors.py","`","for","details","."]
code: def __deepcopy__(self: D, memo: Dict[int, Any]) -> D:
      # We need to detach first, since a plain `Tensor.clone` will be part of the computation graph, which does
      # *not* happen for `deepcopy(Tensor)`. A side-effect from detaching is that the `Tensor.requires_grad`
      # attribute is cleared, so we need to refill it before we return.
      # Note: We don't explicitly handle deep-copying of the metadata here. The only metadata we currently have is
      # `BoundingBoxes.format` and `BoundingBoxes.canvas_size`, which are immutable and thus implicitly deep-copied by
      # `BoundingBoxes.clone()`.
      return self.detach().clone().requires_grad_(self.requires_grad)
  
file_path: vision/torchvision/tv_tensors/_tv_tensor.py
imports: from __future__ import annotations
  from typing import Any, Callable, Dict, Mapping, Optional, Sequence, Tuple, Type, TypeVar, Union
  import torch
  from torch._C import DisableTorchFunctionSubclass
  from torch.types import _device, _dtype, _size
  from torchvision.tv_tensors._torch_function_helpers import _FORCE_TORCHFUNCTION_SUBCLASS, _must_return_subclass
label_desc: Use image node_id 9 for calling the TVTensor obj's underlying member method code with example usage: obj.__deepcopy__(memo) and returns: self