nndeploy.device.tensor¶
Functions
|
|
|
Classes
|
- class nndeploy.device.tensor.Tensor(*args, **kwargs)[源代码]¶
基类:
Tensor- __init__(*args, **kwargs)[源代码]¶
Tensor构造函数。
- 参数:
name (str, optional) – Tensor的名称。
desc (TensorDesc, optional) – Tensor的描述信息,包含数据类型、形状等。
buffer (Buffer, optional) – 已存在的Buffer对象,用于直接构造Tensor。
device (Device, optional) – 设备对象,指定Tensor所在的设备。
data_ptr (void*, optional) – 外部数据指针,用于直接使用已有内存构造Tensor。
memory_pool (MemoryPool, optional) – 内存池对象,用于从内存池中分配内存。
config (List[int], optional) – 配置参数,用于指定内存对齐等配置。
*args – 其他位置参数。
**kwargs – 其他关键字参数。
备注
构造函数有以下几种形式: 1. Tensor(name) - 仅指定名称创建空Tensor 2. Tensor(desc, name=””) - 使用TensorDesc创建Tensor 3. Tensor(desc, buffer, name=””) - 使用已有Buffer创建Tensor 4. Tensor(device, desc, name=””, config=[]) - 在指定设备上创建Tensor 5. Tensor(device, desc, data_ptr, name=””, config=[]) - 使用已有内存在设备上创建Tensor 6. Tensor(memory_pool, desc, name=””, config=[]) - 从内存池创建Tensor 7. Tensor(memory_pool, desc, data_ptr, name=””, config=[]) - 使用已有内存从内存池创建Tensor
备注
如果第一个参数是Device对象,它将被转换为_C.device.Device对象。
如果第一个参数是MemoryPool对象,它将被转换为_C.device.MemoryPool对象。
- create(*args, **kwargs)[源代码]¶
创建Tensor。
- 参数:
*args – 传递给父类create函数的位置参数。
**kwargs – 传递给父类create函数的关键字参数。
- 返回:
None
- allocate(*args, **kwargs)[源代码]¶
分配Tensor内存。
- 参数:
*args – 传递给父类allocate函数的位置参数。
**kwargs – 传递给父类allocate函数的关键字参数。
- 返回:
None
- just_modify(desc=None, buffer=None, is_external=True)[源代码]¶
修改Tensor描述符或缓冲区。
- 参数:
desc (TensorDesc, optional) – 新的Tensor描述符。默认为None。
buffer (Buffer, optional) – 新的缓冲区。默认为None。
is_external (bool, optional) – 缓冲区是否为外部的。默认为True。
- 返回:
None
- 抛出:
ValueError – 如果desc和buffer都没有提供。
- set_data_format(data_format)[源代码]¶
设置Tensor数据格式。
- 参数:
data_format (DataFormat) – 新的Tensor数据格式。
- 返回:
None
- to(device_type)[源代码]¶
将Tensor移动到指定设备。
- 参数:
device_type (DeviceType) – 目标设备类型。
- 返回:
移动后的Tensor。
- 返回类型:
- static from_numpy(array, device_type=<nndeploy.base.common.DeviceType object>)[源代码]¶
从numpy数组创建Tensor。
- 参数:
array (numpy.ndarray) – numpy数组。
device_type (DeviceType) – 目标设备类型。
- 返回:
创建的Tensor。
- 返回类型:
- property shape¶