numpy.from_dlpack#
- numpy.from_dlpack(x, /, *, device=None, copy=None)#
从实现
__dlpack__协议的对象创建一个 NumPy 数组. 通常,返回的 NumPy 数组是输入对象的视图. 有关更多详细信息,请参见 [1] 和 [2] .- 参数:
- xobject
一个实现
__dlpack__和__dlpack_device__方法的 Python 对象.- devicedevice, optional
在其上放置创建的数组的设备. 默认值:
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)