[docs]defset_return_type(return_type:str):"""Set the return type of torch operations on :class:`~torchvision.tv_tensors.TVTensor`. This only affects the behaviour of torch operations. It has no effect on ``torchvision`` transforms or functionals, which will always return as output the same type that was passed as input. .. warning:: We recommend using :class:`~torchvision.transforms.v2.ToPureTensor` at the end of your transform pipelines if you use ``set_return_type("TVTensor")``. This will avoid the ``__torch_function__`` overhead in the models ``forward()``. Can be used as a global flag for the entire program: .. code:: python img = tv_tensors.Image(torch.rand(3, 5, 5)) img + 2 # This is a pure Tensor (default behaviour) set_return_type("TVTensor") img + 2 # This is an Image or as a context manager to restrict the scope: .. code:: python img = tv_tensors.Image(torch.rand(3, 5, 5)) img + 2 # This is a pure Tensor with set_return_type("TVTensor"): img + 2 # This is an Image img + 2 # This is a pure Tensor Args: return_type (str): Can be "TVTensor" or "Tensor" (case-insensitive). Default is "Tensor" (i.e. pure :class:`torch.Tensor`). """global_TORCHFUNCTION_SUBCLASSto_restore=_TORCHFUNCTION_SUBCLASStry:_TORCHFUNCTION_SUBCLASS={"tensor":False,"tvtensor":True}[return_type.lower()]exceptKeyError:raiseValueError(f"return_type must be 'TVTensor' or 'Tensor', got {return_type}")fromNonereturn_ReturnTypeCM(to_restore)
def_must_return_subclass():return_TORCHFUNCTION_SUBCLASS# For those ops we always want to preserve the original subclass instead of returning a pure Tensor_FORCE_TORCHFUNCTION_SUBCLASS={torch.Tensor.clone,torch.Tensor.to,torch.Tensor.detach,torch.Tensor.requires_grad_}
Docs
Access comprehensive developer documentation for PyTorch
To analyze traffic and optimize your experience, we serve cookies on this site. By clicking or navigating, you agree to allow our usage of cookies. As the current maintainers of this site, Facebook’s Cookies Policy applies. Learn more, including about available controls: Cookies Policy.