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