1)概述
HHB(Heterogeneous Honey Badger)是针对玄铁全系列处理器、无剑SoC平台的神经网络模型部署工具集,包括了编译优化,性能分析,过程调试,结果模拟等一系列部署时所需的工具。该工具集通过向开发者提供从模型优化到部署调试全过程的辅助工具,简化AI模型应用落地到端侧设备的开发过程,从而缩短AI产品的开发周期。
HHB的功能与特性:
● 支持caffe,tensorflow,onnx和tflite对应格式的模型
● 支持8/16位定点和16位浮点等数据类型
● 支持对称和非对称定点量化,支持通道量化
● 可在部署前优化模型的网络结构
● 编译生成可在玄铁芯片平台上执行的二进制
● 支持在主机上做行为模拟
● 多组件形式的工具集方便二次开发
● 符合传统习惯的Unix命令行模式
2)HHB层次结构
HHB已支持语音和视觉的多种不同业务算法,可导入Caffe和TensorFlow等不同训练框架的模型。
HHB以开源项目TVM为基础架构,添加了丰富的命令行选项提供命令模式;预置了多类量化算法适配不同平台可支持的数据类型;根据不同平台特点,输出调用CSI-NN2的C代码,或者直接输出可执行的二进制。
3)命令行工具集
HHB工具集包括了如下一些独立命令行工具:
● import:模型导入工具,负责将现有的模型转换为HHB私有的格式。
● quantize:量化工具,负责将import出来的文件量化,生成量化后的中间文件。
● codegen:代码生成工具,调整中间文件为生成二进制做准备。
● deploy:特定平台的部署工具,负责生成二进制及配套的头文件和源代码。
● simulate:行为模拟工具,负责在主机上模拟模型执行。
● profiler:性能分析工具,负责分析网络中的热点子图,以及提供在特定平台上的优化建议。
相互关系大致如下图所示,其中deploy和标灰的是暂时还不支持的部分:
4)获取安装
HHB版本发布时,提供独立的可执行程序包,也提供包含示例的完整docker环境。
推荐使用docker,docker安装参考附录《Docker安装和导入镜像》。
从OCC站点下载:AI部署工具
环境要求
推荐使用已测试过的执行环境:
● 可执行程序包:ubuntu 18.04
● docker:Docker version 19.03.4
HHB默认以docker镜像的方式发布,最简单的获取方式是docker官方的镜像仓库:dockerhub。
获取HHB 2.0可以使用命令:
docker push hhb4tools/hhb:lastest
如果未安装docker,可以参考附录《Docker安装和导入镜像》先安装docker。更多关于HHB神经网络模型部署工具相关内容可以参考《HHB用户手册》。