to_device
MxBufferOutput
功能
Stream输出的数据定义。
结构定义
class MxBufferOutput:
def __init__(self):
self.errorCode = None
self.errorMsg= None
self.data = None
参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| errorCode | int | 输出的错误码。 |
| errorMsg | bytes | 输出的错误信息。 |
| data | bytes | 输出的数据。 |
父主题: 流程编排数据类
mx_init()
函数功能
全局初始化,申请设备资源与日志资源。
父主题: 初始化
Tensor
备注
须知
多个Tensor对象按batch维进行concat操作时请使用base.batch_concat()函数,具体使用方式请参见batch_concat(inputs)。
函数功能
numpy数组转换为Tensor。
Tensor数据结构接收了作为参数(buffer)传进来的一段缓冲区内存地址,因此在使用numpy数组进行数据预处理并转为Tensor时,要注意预处理的过程中是否对内存进行修改。
例如:transpose()函数作用是调换数组的索引值,但是该函数实际未对数据内存地址进行重新排列,仅在获取numpy数组时返回转换后的值。如将该numpy数组转为Tensor,实际获得的是未经重新排列的Tensor。(即numpy数组为transpose()转置后数组,Tensor为transpose()转置前数组。)
如需使用例如transpose()等不改变内存排列的函数,可以在transpose()处理后使用如numpy.ascontiguousarray()等接口来重新排列内存数据,使得转换后的Tensor对象数据和期望得到的转置后数组一致。
函数原型
Tensor(buffer)
输入参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| buffer | numpy数组 | 待转换为Tensor的numpy数组。 |
输出参数说明
Tensor对象。
父主题: Tensor类
to_device
函数功能
移动Tensor到Device内存中。
函数原型
to_device(deviceId)
输入参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| deviceId | int | Device设备的ID号。 |
抛异常接口
分配Tensor内存失败及拷贝到Device侧失败,抛出runtime异常。
父主题: Tensor类
to_host
函数功能
移动Tensor到Host内存中。
函数原型
to_host()
抛异常接口
分配Tensor内存失败及拷贝到Host侧失败,抛出runtime异常。
父主题: Tensor类
Tensor类的属性列表
| 属性名 | 说明 | 备注 |
|---|---|---|
| device | Tensor所在Device的ID | -1表示运行在Host侧,1表示设备号1,2表示设备号2,以此类推。 |
| dtype | Tensor数据类型 | base.dtype数据类型。 |
| shape | Tensor的维度信息 | 返回的是list数据类型。 |
父主题: Tensor类
Image
函数原型
Image()
Image(ndarray b, image_format format, tuple(Size, Size) imageSizeInfo = DEFAULT_IMAGE_SIZE_INFO)
函数功能
- 构造一个空的Image对象。
- 从Host侧的numpy的ndarray转为Image对象。
输入参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| b | ndarray | 构造Image的numpy数组,各元素类型为np.uint8且形状为3维,依次表示图片的HWC(高、宽、通道数)。 |
| format | image_format | 图像色域格式,支持以下色域类型。 - base.yuv_400 - base.rgb - base.bgr - base.rgba - base.bgra - base.argb - base.abgr “b”(输入ndarray)形状中的通道数(C)需要与色域类型一致,各色域类型对应通道数参见如下。 - yuv_400为1。 - bgr、rgb为3。 - rgba、bgra、argb、abgr为4。 |
| imageSizeInfo | tuple | 图像有效宽高与对齐后宽高的组合,有效宽、高应不超过对齐后的宽、高,输入方式参见如下。 text<br>tuple(有效宽高,对齐后的宽高)<br>- 有效宽、高取值范围为[6, 8192]。 - 对齐后宽、高取值范围为[16, 8192],其中宽为16的倍数、高为2的倍数。 - “b”(输入ndarray)形状中的高宽需要与有效宽高和对齐宽高其中之一保持一致。 - 默认值为“DEFAULT_IMAGE_SIZE_INFO”,其中有效宽高与对齐后宽高均为(0, 0),若该参数为默认值,则自动根据“b”的形状获取有效宽高和对齐宽高。 |
:::note 说明
- 从opencv读取图片转换的ndarray,若形状为WHC(宽,高,通道数),需要进行转置为HWC(高,宽,通道数)之后进行构造。
- 从get_tensor/to_tensor/get_orginal_tensor接口获取的tensor,转换为ndarray后,形状为NHWC(个数,高,宽,通道数)或NHW(个数,高,宽),需要根据实际情况截取或扩展到HWC之后进行构造。 :::
输出参数说明
Image对象。
父主题: Image类
在线提单