0 前言
本文主要讲解如何基于PC端模拟器仿真推理,下面以最新发布的XJ3的v1.12.7版本包里00-quickstart示例(ddk/samples/ai_toolchain/horizon_runtime_sample/code/00_quick_start
)作一个简要说明。主要包括示例包结构说明、环境准备、编译、运行、结果展示五个部分。
1 示例包结构说明
x86仿真示例是在horizon_runtime_sample
目录下,该目录的目录结构如下所示:
├── code # 示例源码
│ ├── 00_quick_start # 快速入门示例,用mobilenetv1读取单张图片推理的示例
│ ├── 01_api_tutorial # dnn API使用示例代码
│ ├── 02_advanced_samples # 特殊功能示例
│ ├── 03_misc # 杂项示例
│ ├── build_xj3.sh # xj3 ARM端编译脚本
│ ├── build_x86.sh # PC端编译脚本
│ ├── CMakeLists.txt
│ ├── CMakeLists_x86.txt
│ └── deps # 编译依赖库
├── xj3
│ ├── data # 预置数据文件
│ ├── model # 模型文件
│ ├── script # ARM端示例运行脚本
│ └── script_x86 # PC端示例运行脚本
└── README.md
当前x86仿真示例只提供了基于00_quick_start示例的一个使用方式,主要包括两部分:code/00_quick_start
和script_x86
。
2 环境准备
由于是PC端推理,不需要开发板环境准备工作,仅包含开发机部署部分。对于开发机的环境部署,地平线支持使用Docker和手动安装两种方式,您只需要选择其中一种即可。具体两种方式的使用可参考《Horizon AI Toolchain User Guide》手册中的《环境部署》这一小节内容。
Note:地平线强烈建议您使用Docker方式,避免在安装过程中出现问题。
3 编译
编译主要操作步骤可参照如下几步:
- 确保当前PC端下的GCC版本号是否符合编译要求;
- 执行
horizon_runtime_sample/code
目录下的build_x86.sh
脚本即可一键编译PC端环境下的可执行程序,可执行程序和对应依赖库生成并分别存放在xj3/script_x86/x86
目录下的bin
和lib
子目录; - 正确完成编译后,
xj3/script_x86/x86
的目录结构为:
├── 00_quick_start
│ ├── README.md
│ └── run_mobilenetV1.sh # 示例快速运行脚本
├── README.md
└── x86
├── bin
│ └── run_mobileNetV1_224x224 # 编译产生的可执行文件
└── lib # 编译执行依赖相关库
├── libdnn.so
├── libhbdk_sim_x86.so
└── libopencv_world.so.3.4
4 运行
正确完成编译后,进入xj3/script_x86/00_quick_start
目录下,执行run_mobilenetV1.sh
脚本即可运行。
sh run_mobilenetV1.sh # 运行mobilenetV1示例推理脚本
5 结果展示
运行成功结果如下图所示:

至此,在x86端成功完成模型推理和结果输出的全过程。
评论(0)
您还未登录,请登录后发表或查看评论