numpy.from_dlpack#

numpy.from_dlpack(x, /, *, device=None, copy=None)#

从实现 __dlpack__ 协议的对象创建一个 NumPy 数组.通常,返回的 NumPy 数组是输入对象的视图.有关更多详细信息,请参见 [1][2] .

参数:
xobject

实现了 __dlpack____dlpack_device__ 方法的 Python 对象.

devicedevice,可选

用于放置所创建数组的设备.默认值: None .如果传递了 "cpu" ,则必须为 "cpu" ,这可能允许导入尚未 CPU 可用的数组.

copybool, 可选

布尔值,指示是否复制输入.如果为 True ,则将进行复制.如果为 False ,则该函数将永远不会复制,并且在认为需要复制的情况下会引发 BufferError .传递它会从导出器请求副本,导出器可以实现也可以不实现该功能.如果为 None ,则该函数将尽可能重用现有的内存缓冲区,否则进行复制.默认值: None .

返回:
outndarray

参考

[1]

Array API 文档,https://data-apis.org/array-api/latest/design_topics/data_interchange.html#syntax-for-data-interchange-with-dlpack

[2]

DLPack 的 Python 规范,https://dmlc.github.io/dlpack/latest/python_spec.html

示例

>>> import torch  
>>> x = torch.arange(10)  
>>> # create a view of the torch tensor "x" in NumPy
>>> y = np.from_dlpack(x)