GetOutputTensorNum
Infer
函数功能
Model的推理接口。
Model推理提供对使用ATC工具构建的动态Batch、动态分辨率、动态维度模型的支持。
使用动态shape模型推理时,输入Tensor必须满足模型构建时的设置,若输入Tensor的“shape”不满足模型构建时的档位,会提示设置动态Batch/分辨率/维度信息失败。具体错误码请参见返回参数“APP_ERROR”说明。
例如:动态Batch模型构建时设置Batch档位为“2,4,8”,输入“Batch”为“1”的Tensor,推理报错“Dynamic batch set failed, modelId = 1, index = 1, dynamicBatchSize = 1”。
:::note 说明 对于只加载一次的模型,内部相关联资源唯一,因此不能在多线程中并发推理。多线程使用时需要每个线程加载一次模型,再调用推理业务。 :::
函数原型
APP_ERROR Infer(std::vector<Tensor>& inputTensors, std::vector<Tensor>& outputTensors, AscendStream &stream = AscendStream::DefaultStream())
// 由用户构造outputTensors,自行使用TensorMalloc()申请输出的Tensor内存,自由度更高
std::vector<Tensor> Infer(std::vector<Tensor>& inputTensors)
// 内部申请输出内存,并将推理的输出Tensor返回给用户
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| inputTensors | 输入 | 模型需要的Tensor输入。 |
| outputTensors | 输出 | 模型的Tensor输出。 |
| stream | 输入 | 输入用于异步执行的Stream,默认为“AscendStream::DefaultStream()”,表示创建一个默认流(即同步执行)。 |
返回参数说明
| 数据结构 | 说明 |
|---|---|
| std::vector | 模型的Tensor输出。 |
| APP_ERROR | 程序执行返回的错误码,请参考APP_ERROR说明。 |
父主题: Model
GetInputTensorNum
函数功能
获得模型的输入个数。
函数原型
uint32_t GetInputTensorNum()
返回参数说明
| 数据结构 | 说明 |
|---|---|
| uint32_t | 模型的输入个数。 |
父主题: Model
GetOutputTensorNum
函数功能
获得模型的输出个数。
函数原型
uint32_t GetOutputTensorNum()
返回参数说明
| 数据结构 | 说明 |
|---|---|
| uint32_t | 模型的输出个数。 |
父主题: Model
GetInputTensorShape
函数功能
获得模型输入的对应Tensor的数据shape信息。
动态模型场景下对应的动态维度查询结果为-1。如果要使用查询的结果直接传入Tensor构造函数构造Tensor,需要将int64_t数据转换为uint32_t数据。
函数原型
std::vector<int64_t> GetInputTensorShape(uint32_t index = 0)
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| index | 输入 | 模型输入的索引(第index个输入)。 |
返回参数说明
| 数据结构 | 说明 |
|---|---|
| std::vector<int64_t> | 对应输入的Tensor的shape信息。 |
父主题: Model
GetOutputTensorShape
函数功能
获得模型输出的对应Tensor的数据shape信息。查询的结果可直接传入Tensor构造函数用来构造Tensor。
函数原型
std::vector<uint32_t> GetOutputTensorShape(uint32_t index = 0)
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| index | 输入 | 模型输出的索引(第index个输出)。 |
返回参数说明
| 数据结构 | 说明 |
|---|---|
| std::vector<uint32_t> | 对应输出的Tensor的shape信息。 |
父主题: Model
GetInputTensorDataType
函数功能
获得模型输入的对应Tensor的数据类型信息。
函数原型
MxBase::TensorDType GetInputTensorDataType(uint32_t index = 0)
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| index | 输入 | 模型输入的索引(第index个输入)。 |
返回参数说明
| 数据结构 | 说明 |
|---|---|
| MxBase::TensorDType | Tensor的数据类型,具体请参见TensorDType。 |
父主题: Model
在线提单