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 上可用的数组。- 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)