下载
中文
注册

mxpi_tensorinfer

功能描述

对输入的张量进行推理。

同步/异步(status)

同步

约束限制

插件基类(factory)

mxpi_tensorinfer

输入和输出

  • 输入:数据类型“MxpiTensorPackageList”,(兼容“MxpiVisionList”时,自动转换为通道数为3的“MxpiTensorPackageList”)。
  • 输出:数据类型“MxpiTensorPackageList”。

端口格式(caps)

  • 静态输入:{"metadata/tensor"},动态输入:{"image/yuv"},至少一个端口,可以为多个。
  • 静态输出:{"metadata/tensor"}。

属性

请参见表1

表1 mxpi_tensorinfer插件的属性

属性名

描述

是否为必选项

是否可修改

modelPath

指定推理模型OM文件路径。最大只支持至4G大小的模型,并且模型要求属主为当前用户,权限不大于“640”

outputDeviceId

不使用后处理so时,内存拷贝到outputDeviceId所指定位置。

  • 若需拷贝至Host侧,设为-1。
  • 若需拷贝至Device侧,当前仅支持填写stream_config字段中的deviceId。

waitingTime

多batch模型可容忍的等待组BATCH时间,超过此时间则结束等待自动完成推理,默认为5000ms。

dynamicStrategy

动态Batch推理情形下,选取合适batchsize所采用的策略。默认为"Nearest"。

  • "Nearest"策略:选取与缓存图片数量差值的绝对值最接近的batchsize(绝对值相等取较大者)。
  • "Upper"策略:取大于或等于缓存图片数量的最小batchsize。
  • "Lower"策略:取小于或等于缓存图片数量的最大batchsize。

singleBatchInfer

单batch推理开关。布尔型,默认为0。

  • 0:自动根据模型的第一维,选择单batch或多batch推理。
  • 1:无论模型的第一维是否为1,都只会进行单batch推理。

outputHasBatchDim

模型输出维度是否具有batch维,如果没有,推理插件会自动为输出张量增加batch维,布尔型,默认值为1。

  • 0:没有。
  • 1:有。

skipModelCheck

跳过模型数据输入校验。

示例

插件会等待前面所有插件发送的数据都到达后,进入Process接口(即同步模式SYNC),对其中的MxpiTensorPackageList(或MxpiVisionList)进行组装,若组装后的张量与模型输入张量一致,则开启推理,并将推理结果输出到输出端口。

pipeline样例:
"mxpi_tensorinfer0": {
    "props": {
        "dataSource": "appsrc0,appsrc1,appsrc2",
        "modelPath": "../models/bert/bert.om"
     },
    "factory": "mxpi_tensorinfer",
    "next": "mxpi_classpostprocessor0"
},

在使用推理结果进行精度测试时,模型推理前的预处理方式需要优先按照所用模型训练时使用的预处理方式,包括但不限于缩放方式、缩放时插值方式、抠图方式、对齐方式等。