1# IPreparedModel 2 3 4## 概述 5 6NNRt模块的包路径。 7 8定义模型编译后的对象,包含编译后模型导出、模型推理接口。 9 10**起始版本:** 3.2 11 12**相关模块:**[NNRt](_n_n_rt_v20.md) 13 14 15## 汇总 16 17 18### Public 成员函数 19 20| 名称 | 描述 | 21| -------- | -------- | 22| [ExportModelCache](#exportmodelcache) ([out] struct [SharedBuffer](_shared_buffer_v20.md)[] modelCache) | 导出模型缓存。 | 23| [GetInputDimRanges](#getinputdimranges) ([out] unsigned int[][] minInputDims, [out] unsigned int[][] maxInputDims) | 获取模型输入支持的维度范围。如果模型输入为固定维度,则维度最大值与最小值相同。 | 24| [Run](#run) ([in] struct [IOTensor](_i_o_tensor_v20.md)[] inputs, [in] struct [IOTensor](_i_o_tensor_v20.md)[] outputs, [out] int[][] outputsDims) | 推理模型 | 25 26 27## 成员函数说明 28 29 30### ExportModelCache() 31 32``` 33IPreparedModel::ExportModelCache ([out] struct SharedBuffer[] modelCache) 34``` 35 36**描述** 37 38 39导出模型缓存。 40 41**起始版本:** 3.2 42 43**参数:** 44 45| 名称 | 描述 | 46| -------- | -------- | 47| modelCache | 模型缓存数组,元素顺序与导出时元素顺序一致,SharedBuffer定义请查看[SharedBuffer](_shared_buffer_v20.md)。 | 48 49**返回:** 50 51返回0表示成功 52 53返回非0表示失败,负数为HDF标准错误码,正数为NNRt定义的专用错误码(请查看[NNRT_ReturnCode](_n_n_rt_v20.md#nnrt_returncode)) 54 55 56### GetInputDimRanges() 57 58``` 59IPreparedModel::GetInputDimRanges ([out] unsigned int minInputDims[][], [out] unsigned int maxInputDims[][] ) 60``` 61 62**描述** 63 64 65获取模型输入支持的维度范围。如果模型输入为固定维度,则维度最大值与最小值相同。 66 67**起始版本:** 3.2 68 69**参数:** 70 71| 名称 | 描述 | 72| -------- | -------- | 73| minInputDims | 二维数组存放模型输入数据的最小维度值,数组第1维表示模型输入tensor的数量,第2维表示输入tensor的维度数量。 | 74| maxInputDims | 二维数组存放模型输入数据的最大维度值,数组第1维表示模型输入tensor的数量,第2维表示输入tensor的维度数量。 | 75 76**返回:** 77 78返回0表示成功 79 80返回非0表示失败,负数为HDF标准错误码,正数为NNRt定义的专用错误码(请查看[NNRT_ReturnCode](_n_n_rt_v20.md#nnrt_returncode)) 81 82 83### Run() 84 85``` 86IPreparedModel::Run ([in] struct IOTensor[] inputs, [in] struct IOTensor[] outputs, [out] int outputsDims[][] ) 87``` 88 89**描述** 90 91 92推理模型 93 94**起始版本:** 3.2 95 96**参数:** 97 98| 名称 | 描述 | 99| -------- | -------- | 100| inputs | 模型推理的输入数据,输入的顺序与模型中定义的输入顺序一致,输入数据类型参考IOTensor定义[IOTensor](_i_o_tensor_v20.md)。 | 101| outputs | 模型推理的输出数据,推理完后需要往outputs的sharedBuffer中写入输出数据,IOTensor定义请查看[IOTensor](_i_o_tensor_v20.md)。 | 102| outputsDims | 模型推理输出数据的形状,输出顺序与outputs顺序一一对应。 | 103| isOutputBufferEnough | 模型推理输出数据的SharedBuffer空间是否足够,足够的话返回true,不足则返回false,输出顺序与outputs顺序一一对应。 | 104 105**返回:** 106 107返回0表示成功 108 109返回非0表示失败,负数为HDF标准错误码,正数为NNRt定义的专用错误码(请查看[NNRT_ReturnCode](_n_n_rt_v20.md#nnrt_returncode)) 110