flopscope.numpy.from_dlpack
fnp.from_dlpack(*args, **kwargs)[flopscope source]
Create a NumPy array from an object implementing the ``__dlpack__`` protocol. Generally, the returned NumPy array is a view of the input object. See [1]_ and [2]_ for more details.
Adapted from NumPy docs np.from_dlpack
Create ndarray from DLPack object (zero-copy). Cost: numel(output).
Create a NumPy array from an object implementing the __dlpack__ protocol. Generally, the returned NumPy array is a view of the input object. See [1]_ and [2]_ for more details.
Parameters
- x:object
A Python object that implements the
__dlpack__and__dlpack_device__methods.- device:device, optional
Device on which to place the created array. Default:
None. Must be"cpu"if passed which may allow importing an array that is not already CPU available.- copy:bool, optional
Boolean indicating whether or not to copy the input. If
True, the copy will be made. IfFalse, the function will never copy, and will raiseBufferErrorin case a copy is deemed necessary. Passing it requests a copy from the exporter who may or may not implement the capability. IfNone, the function will reuse the existing memory buffer if possible and copy otherwise. Default:None.
Returns
- out:ndarray
References
1
Array API documentation,
https://data-apis.org/array-api/latest/design_topics/data_interchange.html#syntax-for-data-interchange-with-dlpack2
Python specification for DLPack,
https://dmlc.github.io/dlpack/latest/python_spec.htmlExamples
>>> import torch # doctest: +SKIP
>>> x = torch.arange(10) # doctest: +SKIP
>>> # create a view of the torch tensor "x" in NumPy
>>> y = flops.from_dlpack(x) # doctest: +SKIP