tvm.runtime.ndarray
tvm.runtime.ndarray#
Runtime NDArray API
- class tvm.nd.NDArray(handle, is_view=False)#
轻量的 TVM 运行时 NDArray 类
严格地说,这只是数组容器(buffer 对象),没有定义算术运算。所有运算都由 TVM 函数来完成。
目标不是重新构建另一个数组库。相反,这是最小的数据结构,展示如何在现有的项目中使用 TVM,这些项目可能有自己的数组容器。
- __dlpack__(stream=None)#
将 from_dlpack() 使用的数组导出为 DLPack capsule。
- streamint, optional
Python 整数,表示指向 stream 的指针。stream 是由 consumer 提供给 producer,以指导 producer 确保对数组的运算能够安全执行。
- capsulePyCapsule
数组的 DLPack 容器,包含 DLPackManagedTensor。
- __dlpack_device__()#
根据 DLPack convention 返回 device_type 和 device_id 的元组
- __init__(handle, is_view=False)#
Initialize the function with handle
- handleTVMArrayHandle
the handle to the underlying C++ TVMArray
- __setitem__(in_slice, value)#
设置 ndarray 的值
- _copyto(target_nd)#
Internal function that implements copy to target ndarray.
- _create_view(shape)#
在现有数组中创建视图。
视图与现有数组共享相同的 allocation 和数据类型,但可以有不同的数组形状。这对于支持 non-flat 内存的运行时非常有用,在这种情况下,allocation 的物理形状和它所表示的张量的逻辑形状可能需要独立指定。
警告:这个函数不应该在低级 manipulations 之外使用,因为它打破了 TVM 做出的 non-aliasing 假设。这个函数也可能在未来被删除/替换。
shape: Union[tvm.runtime.ShapeTuple, Sequence[typing.SupportsInt]]
视图的形状。
- asnumpy()#
将数组转换为 numpy 数组。这个 API 将在 TVM v0.8 版本中弃用。请改用
numpy
。
- copyfrom(source_array)#
Perform a synchronous copy from the array.
- source_arrayarray_like
想要 copy 的数据源。
- arrNDArray
Reference to self.
- copyto(target, mem_scope=None)#
Copy array to target
- targetNDArray
要复制的目标数组必须与此数组具有相同的形状。
- mem_scopeOptional[str]
The memory scope of the array.
- property device#
Device of this array
- property dtype#
Type of this array
- numpy()#
Convert this array to numpy array
- np_arrnumpy.ndarray
The corresponding numpy array.
- same_as(other)#
Check object identity equality
- otherobject
The other object to compare to
- samebool
Whether other is same as self.
- property shape#
Shape of this array
- to_dlpack()#
Produce an array from a DLPack Tensor without copying memory
dlpack : DLPack tensor view of the array data
- tvm.nd.array(arr, device=cpu(0), mem_scope=None)#
Create an array from source arr.
- arrnumpy.ndarray
The array to be copied from
- deviceDevice, optional
The device device to create the array
- mem_scopeOptional[str]
The memory scope of the array
- retNDArray
The created array
- tvm.nd.empty(shape, dtype='float32', device=cpu(0), mem_scope=None)#
Create an empty array given shape and device
- shapeUnion[tvm.runtime.ShapeTuple, Sequence[typing.SupportsInt]]
The shape of the array.
- dtypetype or str
The data type of the array.
- deviceDevice
The device of the array.
- mem_scopeOptional[str]
The memory scope of the array.
- arrtvm.nd.NDArray
The array tvm supported.