Tengine 推理流程
依照顺序调用Tengine核心API如下:
1. init_tengine
初始化Tengine,该函数在程序中只要调用一次即可。
2. create_graph
创建Tengine计算图。
3. prerun_graph
预运行,准备计算图推理所需资源。设置大小核,核个数、核亲和性、数据精度都在这里。
struct options
{
int num_thread;//核个数设置,
int cluster;//大小核设置,可选TENGINE_CLUSTER_[ALL,BIG,MEDIUM,LITTLE]
int precision;//精度设置,TENGINE_MODE_[FP32,FP16,HYBRID_INT8,UINT8,INT8]
uint64_t affinity;//核亲和性掩码,绑定具体核,
};
4. run_graph
启动Tengine计算图推理。
5. postrun_graph
停止运行graph,并释放graph占据的资源。
6. destroy_graph
销毁graph。
postrun_graph和destroy_graph在执行完模型推理后调用,一般是连续调用。 使用markdown流程图mermaid表示如下:
graph TD
A(init_tengine)
i1(image)-->A
i2(model)-->A
i3(paramaters)-->A
A --> B[create_graph]
B --> C[prerun_graph]
C --> D[run_graph]
D --> E[postrun_graph]
E --> F(destory_graph)
F --> O(预测结果)
图1 推理流程图 |