Spec-Zone.ru › PyTorch 2

torch.utils.dlpack

torch.utils.dlpack.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.

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

Тензор

Примеры:

>>> 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])
torch.utils.dlpack.to_dlpack(tensor) → PyCapsule

Возвращает непрозрачный объект («DLPack капсула»), представляющий тензор.

Примечание

to_dlpack это устаревший интерфейс DLPack. Капсула, которую он возвращает, не может быть использована ни для чего в Python, кроме как в качестве входного параметра для from_dlpack. Более привычное использование DLPack заключается в непосредственном вызове from_dlpack для объекта тензора — это работает, когда этот объект имеет метод __dlpack__, что действительно имеют PyTorch и большинство других библиотек.

Предупреждение

Вызывайте from_dlpack только один раз для каждой капсулы, созданной с помощью to_dlpack. Поведение при многократном использовании капсулы не определено.

Параметры

tensor – тензор, который нужно экспортировать

DLPack капсула совместно использует память тензора.

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

Spec-Zone.ru

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