1.2. 认识 Open Explorer¶
1.2.1. 什么是OE¶
OE是Open Explorer的缩写简称,中文名为天工开物(以下简称OE),它是基于地平线自研 AI 芯片打造的 AI 全生命周期开发平台, 主要包括AI芯片工具链、AI算法仓库和应用开发SDK三大功能模块。基于这三大功能模块开发的应用参考解决方案,为智能驾驶、智能物联网等行业方案提供了案例支撑。

AI芯片工具链:如上图中黄色框内的部分,聚焦于人工智能业务场景,包括完成AI算法模型转换与部署全流程中所涉及到的一系列软件工具集,具有模型量化、优化、编译、仿真、部署、调试等功能。
AI算法仓库:包括产品级算法、基础算法和产品参考算法三类算法资源,赋能地平线芯片合作伙伴更快、更省地开发出自己的人工智能产品。
应用开发SDK:提供丰富的、高度可复用的算法模块、业务策略模块、应用组件和场景应用参考方案,旨在加速客户从业务模型集成到应用程序开发流程。
OE可以为地平线芯片合作伙伴提供丰富多样的算法资源、灵活高效的开发工具和简单易用的开发框架。 OE的特色和优势可以概括为以下四个方面:

为了方便用户将各种解决方案部署到地平线一系列开发板上,我们提供了集开发板系统镜像、开发环境部署、应用参考解决方案示例代码以及用户手册等文件于一体的全量开发包,称之为OE包。 在您获取到OE包后,可以先按照以下步骤对OE进行了解。
先参考 发布物内容 了解发布包的目录结构;
再参考 系统镜像升级 章节进行板端系统镜像安装/升级;
接着通过参考 浮点模型转定点模型指导手册 和 runtime应用开发指导 完成模型转换与部署的全流程。
更多更全的OE包使用教程,欢迎参考下方指导手册进行了解,相信地平线的OE包可以让您开发更高效,部署更简便!
更多关于OE适配的硬件内容,请你详见附录中的 开发板套件 章节。
1.2.2. 发布物内容¶
1.2.2.1. release_note.txt¶
release_note.txt记录了发布的模块及相应版本号,以及各模块详细的新增、改动及修复内容。
1.2.2.2. bsp¶
bsp目录为系统镜像目录, 其中放置了J5系统镜像。内容为J5-Img-{version}.tgz。
注解
bsp目录下包含的镜像仅适用于特定开发板, 若需要其他开发板镜像, 需联系地平线进行获取。
1.2.2.3. tools¶
tools文件夹下包含了一些用户在windows下会使用到的usb_driver 和 hbupdate板端升级工具。其中hbupdate工具我们为您提供了多平台(win/linux)的版本。内容包括:
hbupdate_linux_cli_{version}.tgz;
hbupdate_linux_gui_{version}.tgz;
hbupdate_win64_{version}.zip。
1.2.2.4. doc¶
doc目录为发布物文档。文档中包含了对J5芯片的介绍,系统镜像的安装升级方法,开发板的常用命令和工具链开发手册等。
1.2.2.5. ddk¶
1.2.2.5.1. ddk.package¶
ddk.package
目录下包含了发布物运行的一些基础库和组件。
1.2.2.5.1.1. ddk.package.board¶
ddk.package.board
文件夹下为板端可执行程序。
hrt_model_exec
是一个模型执行工具 ,可直接在 开发板上 进行评测模型的推理性能、获取模型信息。工具分别提供了 infer
、模型性能分析 perf
和查看模型信息 model_info
三类功能;
hrt_bin_dump
是ptq debug模型的layer dump工具,工具的输出文件为二进制文件。
install.sh
是一键安装脚本,可以一键将hrt工具安装到指定的开发板。
1.2.2.5.1.2. ddk.package.host¶
ddk.package.host
文件夹下为发布物在x86开发环境下的环境依赖和工具依赖。
通过执行该目录下的脚本 install.sh
即可在开发机上安装程序运行的所有环境和工具依赖。
1.2.2.5.2. ddk.tools¶
ddk.tools
文件夹下包含了交叉编译工具和其他的一些图像处理相关的工具。内容包括:
gcc-ubuntu-9.3.0-2020.03-x86_64-aarch64-linux-gnu.tar.gz;
gdc-tool-gui-0.23.68.zip;
hobotplayerv.1.12.1.rar;
ISP_Calibration_Tool_IV009_v3.38.tar.gz。
1.2.2.5.3. ddk.samples¶
ddk.samples
下包含了 ai_benchmark、ai_toolchain、ai_forward_view_sample、vdsp_rpc_sample和model_zoo 。
ai_benchmark 提供了常见的分类、检测和分割模型的评测示例,包括性能评测和精度评测两部分。
ai_toolchain 提供了一些模型算法的一系列示例。 (其中 horizon_model_train_samples 为浮点模型训练框架示例, horizon_model_convert_sample 为浮点模型转定点模型的转换示例, horizon_runtime_sample 为定点模型的上板示例。)
ai_forward_view_sample 示例展示了如何在J5上运行一个检测模型并展示结果, 结果包括物体框和全图分割数据。
vdsp_rpc_sample 示例展示了如何在j5上使用dsp进行任务处理。
model_zoo 是一个模型库,包含了工具链示例模型编译的源模型和runtime模型。
1.2.3. 关键概念¶
原始浮点模型,指您通过TensorFlow/PyTorch等等DL框架训练得到的可用模型,这个模型的计算精度为float32。
混合异构模型,是一种适合在地平线芯片上运行的模型格式。
模型转换,指的是将原始浮点模型转换为地平线混合异构模型的过程。
模型量化,目前工业界最有效的模型优化方法之一,量化是指定点与浮点等数据之间建立一种数据映射关系,使得以较小的精度损失代价获得了较好的收益,可简单理解为用“低比特”数字表示FP32等数值,如FP32–>INT8可以实现4倍的参数压缩,在压缩内存的同时可以实现更快速的计算。
hbm文件,即Horizon BPU Model,HBDK编译器生成的模型文件,hbm包含BPU指令、模型参数、输入输出描述等信息。
PTQ,即PTQ浮点定点模型转换方案,先训练浮点模型,然后使用校准图片计算量化参数,将浮点模型转为量化模型的量化方法。
QAT,即QAT量化感知训练方案,在浮点训练的时候,就先对浮点模型结构进行干预,使得模型能够感知到量化带来的损失,减少量化损失精度的方案。
还有更多针对文档中缩略词的介绍,请您参考 常用缩略语 章节的介绍。