Table of Contents
Shortcuts

# torch.from_dlpack

torch.from_dlpack(ext_tensor) → Tensor

  Converts a tensor from an external library into a `torch.Tensor`.

  The returned PyTorch tensor will share the memory with the input tensor (which may have come from another library). Note that in-place operations will therefore also affect the data of the input tensor. This may lead to unexpected issues (e.g., other libraries may have read-only flags or immutable data structures), so the user should only do this if they know for sure that this is fine.

  Parameters:

    ext_tensor (object with `__dlpack__` attribute, or a DLPack capsule) –

    The tensor or DLPack capsule to convert.

    If `ext_tensor` is a tensor (or ndarray) object, it must support the `__dlpack__` protocol (i.e., have a `ext_tensor.__dlpack__` method). Otherwise `ext_tensor` may be a DLPack capsule, which is an opaque `PyCapsule` instance, typically produced by a `to_dlpack` function or method.

  Return type:

    Tensor

  Examples:

      >>> import torch.utils.dlpack
      >>> t = torch.arange(4)

      # Convert a tensor directly (supported in PyTorch >= 1.10)
      >>> t2 = torch.from_dlpack(t)
      >>> t2[:2] = -1  # show that memory is shared
      >>> t2
      tensor([-1, -1,  2,  3])
      >>> t
      tensor([-1, -1,  2,  3])

      # The old-style DLPack usage, with an intermediate capsule object
      >>> capsule = torch.utils.dlpack.to_dlpack(t)
      >>> capsule
      <capsule object "dltensor" at ...>
      >>> t3 = torch.from_dlpack(capsule)
      >>> t3
      tensor([-1, -1,  2,  3])
      >>> t3[0] = -9  # now we're sharing memory between 3 tensors
      >>> t3
      tensor([-9, -1,  2,  3])
      >>> t2
      tensor([-9, -1,  2,  3])
      >>> t
      tensor([-9, -1,  2,  3])

## Docs

Access comprehensive developer documentation for PyTorch

View Docs

## Tutorials

Get in-depth tutorials for beginners and advanced developers

View Tutorials

## Resources

Find development resources and get your questions answered

View Resources

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.