• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# IPreparedModel
2
3
4## 概述
5
6定义模型编译后的对象,包含编译后模型导出、模型推理接口。
7
8**起始版本:** 3.2
9
10**相关模块:**[NNRt](_n_n_rt_v10.md)
11
12
13## 汇总
14
15
16### Public 成员函数
17
18| 名称 | 描述 |
19| -------- | -------- |
20| [ExportModelCache](#exportmodelcache) ([out] struct [SharedBuffer](_shared_buffer_v10.md)[] modelCache) | 导出模型缓存。  |
21| [Run](#run) ([in] struct [IOTensor](_i_o_tensor_v10.md)[] inputs, [in] struct [IOTensor](_i_o_tensor_v10.md)[] outputs, [out] int[][] outputsDims, [out] boolean[] isOutputBufferEnough) | 推理模型  |
22
23
24## 成员函数说明
25
26
27### ExportModelCache()
28
29```
30IPreparedModel::ExportModelCache ([out] struct SharedBuffer[] modelCache)
31```
32**描述**
33导出模型缓存。
34
35**起始版本:** 3.2
36
37**参数:**
38
39| 名称 | 描述 |
40| -------- | -------- |
41| modelCache | 模型缓存数组,元素顺序与导出时元素顺序一致,SharedBuffer定义请查看[SharedBuffer](_shared_buffer_v10.md)。 |
42
43**返回:**
44
45返回0表示成功
46
47返回负数表示失败
48
49
50### Run()
51
52```
53IPreparedModel::Run ([in] struct IOTensor[] inputs, [in] struct IOTensor[] outputs, [out] int outputsDims[][], [out] boolean[] isOutputBufferEnough )
54```
55**描述**
56推理模型
57
58**起始版本:** 3.2
59
60**参数:**
61
62| 名称 | 描述 |
63| -------- | -------- |
64| inputs | 模型推理的输入数据,输入的顺序与模型中定义的输入顺序一致,输入数据类型参考IOTensor定义[IOTensor](_i_o_tensor_v10.md)。  |
65| outputs | 模型推理的输出数据,推理完后需要往outputs的sharedBuffer中写入输出数据,IOTensor定义请查看[IOTensor](_i_o_tensor_v10.md)。  |
66| outputsDims | 模型推理输出数据的形状,输出顺序与outputs顺序一一对应。  |
67| isOutputBufferEnough | 模型推理输出数据的SharedBuffer空间是否足够,足够的话返回true,不足则返回false,输出顺序与outputs顺序一一对应。 |
68
69**返回:**
70
71返回0表示成功
72
73返回负数表示失败
74