注:建议在 new_version_with_notes 目录下尝试本节内容,有更为丰富的细节输出。
在上一节将生成的代码编译成一个动态链接库之后,接下来需要加载动态链接库中写好的推理入口函数,完成推理。
在生成的代码中,在 codegen 目录下,有一个 codegen.cc 文件,里面是一个 Infer 函数,该函数由 5th_codegen/resnet_codegen.cc 中的 CodeGen 函数生成。
Infer 函数也就是推理的主入口函数。
翻回 4th_no_malloc/main.cc 中的代码,主要推理逻辑如下红框所示,而Infer 函数的实现逻辑和红框中是一致的,只不过是将红框中的逻辑封装成了一个Infer接口,方便从动态库中加载而已。