算法工具链覆盖了模型训练(浮点训练和量化训练,可选)、转换、性能/精度验证、部署和推理等关键步骤。为了方便您快速体验和学习,OE开发包中提供了丰富、全面的示例。为了方便了解和使用这些示例,本文将对这些示例进行详细介绍。
首先,在获取OE开发包后,解压后的示例包目录结构如下所示:
samples
目录中提供了模型训练示例、浮点模型转定点模型示例以及统一计算平台UCP的相关示例。如下为工具链各阶段使用的一般流程和示例的分布:
在上图工具链的使用流程中,这些示例对应着不同的使用阶段:
工具链在samples/ai_toolchain/horizon_model_convert_sample
文件夹下提供了模型转换示例,示例包目录结构如下所示:
OE包内不仅提供了PTQ模型转换示例,另外还包含了模型检查、校准数据预处理、转换编译、推理等一键运行脚本。
以horizon_model_convert_sample/03_classification
目录下的03_resnet50为例,介绍相关脚本的作用:
PTQ模型转换示例的使用教程请参考PTQ模型转换示例章节的介绍。
工具链在samples/ai_toolchain/horizon_model_train_sample
目录下提供了模型训练示例,示例包结构如下所示:
工具链在samples/ai_toolchain/ucp_tutorial
目录下提供了统一计算平台UCP的示例源代码和运行脚本,示例包结构如下所示:
deps_aarch64:AArch64公共依赖目录,包含UCP依赖库及头文件等内容。
deps_x86:X86仿真公共依赖目录。
dnn:DNN示例,包括:
ai_benchmark,提供了嵌入式应用开发常见模型的性能和精度评测示例,详细介绍及使用教程请参考 AI Benchmark使用说明 章节的介绍。
basic_samples,提供了模型推理相关由浅及深的使用示例,旨在帮助您熟悉和学习模型推理相关的接口以及各种进阶功能,详细介绍及使用教程请参考 基础示例包使用说明 章节的介绍。
tools:统一计算平台UCP提供的工具。