Spec-Zone.ru › PyTorch 1

torch.from_dlpack

torch.from_dlpack(ext_tensor) → Tensor [source]

Преобразует тензор из внешней библиотеки в torch.Tensor.

Возвращаемый тензор PyTorch будет совместно использовать память с входным тензором (который может исходить из другой библиотеки). Обратите внимание, что операции на месте также повлияют на данные входного тензора. Это может привести к неожиданным проблемам (например, другие библиотеки могут иметь флаги только для чтения или неизменяемые структуры данных), поэтому пользователь должен делать это только в том случае, если он уверен, что это безопасно.

Параметры:

ext_tensor (объект с __dlpack__ атрибутом или DLPack капсула) –

Тензор или DLPack капсула для преобразования.

Если ext_tensor является объектом тензора (или ndarray), он должен поддерживать __dlpack__ протокол (т.е. иметь ext_tensor.__dlpack__ метод). В противном случае ext_tensor может быть DLPack капсулой, которая является неявной PyCapsule инстанцией, обычно создаваемой to_dlpack функцией или методом.

Тип возвращаемого значения:

Tensor

Примеры:

>>> 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])

© 2024, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://pytorch.org/docs/1.13/generated/torch.from_dlpack.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API