玄铁RISC-V处理器入门与实战-平头哥RISC-V 工具链-HHB神经网络模型部署工具

简介: 玄铁RISC-V处理器入门与实战-平头哥RISC-V 工具链


1概述

HHB(Heterogeneous Honey Badger)是针对玄铁全系列处理器、无剑SoC平台的神经网络模型部署工具集,包括了编译优化,性能分析,过程调试,结果模拟等一系列部署时所需的工具。该工具集通过向开发者提供从模型优化到部署调试全过程的辅助工具,简化AI模型应用落地到端侧设备的开发过程,从而缩短AI产品的开发周期。

 

HHB的功能与特性:

支持caffe,tensorflow,onnx和tflite对应格式的模型

支持8/16位定点和16位浮点等数据类型

支持对称和非对称定点量化,支持通道量化

可在部署前优化模型的网络结构

编译生成可在玄铁芯片平台上执行的二进制

支持在主机上做行为模拟

多组件形式的工具集方便二次开发

符合传统习惯的Unix命令行模式

2HHB层次结构

HHB已支持语音和视觉的多种不同业务算法,可导入Caffe和TensorFlow等不同训练框架的模型。

 

HHB以开源项目TVM为基础架构,添加了丰富的命令行选项提供命令模式;预置了多类量化算法适配不同平台可支持的数据类型;根据不同平台特点,输出调用CSI-NN2的C代码,或者直接输出可执行的二进制。

 

image.png 

 

3命令行工具集

HHB工具集包括了如下一些独立命令行工具:

import:模型导入工具,负责将现有的模型转换为HHB私有的格式。

quantize:量化工具,负责将import出来的文件量化,生成量化后的中间文件。

codegen:代码生成工具,调整中间文件为生成二进制做准备。

deploy:特定平台的部署工具,负责生成二进制及配套的头文件和源代码。

simulate:行为模拟工具,负责在主机上模拟模型执行。

profiler:性能分析工具,负责分析网络中的热点子图,以及提供在特定平台上的优化建议。

 

相互关系大致如下图所示,其中deploy和标灰的是暂时还不支持的部分:

 

image.png

 

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用户手册》。

相关文章
|
3月前
|
机器学习/深度学习 PyTorch TensorFlow
卷积神经网络深度解析:从基础原理到实战应用的完整指南
蒋星熠Jaxonic,深度学习探索者。深耕TensorFlow与PyTorch,分享框架对比、性能优化与实战经验,助力技术进阶。
|
3月前
|
监控 Linux 测试技术
C++零拷贝网络编程实战:从理论到生产环境的性能优化之路
🌟 蒋星熠Jaxonic,技术宇宙中的星际旅人。深耕C++与零拷贝网络编程,从sendfile到DPDK,实战优化服务器性能,毫秒级响应、CPU降60%。分享架构思维,共探代码星辰大海!
|
7月前
|
运维 Kubernetes 前端开发
如何用 eBPF 实现 Kubernetes 网络可观测性?实战指南
本文深入探讨了Kubernetes网络观测的挑战与eBPF技术的应用。首先分析了传统工具在数据碎片化、上下文缺失和性能瓶颈上的局限性,接着阐述了eBPF通过零拷贝观测、全链路关联和动态过滤等特性带来的优势。文章进一步解析了eBPF观测架构的设计与实现,包括关键数据结构、内核探针部署及生产环境拓扑。实战部分展示了如何构建全栈观测系统,并结合NetworkPolicy验证、跨节点流量分析等高级场景,提供具体代码示例。最后,通过典型案例分析和性能数据对比,验证了eBPF方案的有效性,并展望了未来演进方向,如智能诊断系统与Wasm集成。
341 0
|
3月前
|
机器学习/深度学习 数据采集 人工智能
深度学习实战指南:从神经网络基础到模型优化的完整攻略
🌟 蒋星熠Jaxonic,AI探索者。深耕深度学习,从神经网络到Transformer,用代码践行智能革命。分享实战经验,助你构建CV、NLP模型,共赴二进制星辰大海。
|
4月前
|
机器学习/深度学习 人工智能 算法
卷积神经网络深度解析:从基础原理到实战应用的完整指南
蒋星熠Jaxonic带你深入卷积神经网络(CNN)核心技术,从生物启发到数学原理,详解ResNet、注意力机制与模型优化,探索视觉智能的演进之路。
505 11
|
6月前
|
机器学习/深度学习 人工智能 PyTorch
零基础入门CNN:聚AI卷积神经网络核心原理与工业级实战指南
卷积神经网络(CNN)通过局部感知和权值共享两大特性,成为计算机视觉的核心技术。本文详解CNN的卷积操作、架构设计、超参数调优及感受野计算,结合代码示例展示其在图像分类、目标检测等领域的应用价值。
390 7
|
7月前
|
存储 监控 网络协议
HarmonyOS NEXT实战:网络状态监控
本教程介绍如何在HarmonyOS Next中使用@ohos.net.connection模块实现网络状态监控,并通过AppStorage进行状态管理,适用于教育场景下的网络检测功能开发。
299 2
|
7月前
|
机器学习/深度学习 移动开发 供应链
基于时间图神经网络多的产品需求预测:跨序列依赖性建模实战指南
本文展示了如何通过学习稀疏影响图、应用图卷积融合邻居节点信息,并结合时间卷积捕获演化模式的完整技术路径,深入分析每个步骤的机制原理和数学基础。
280 1
|
7月前
|
JavaScript 前端开发 开发工具
HarmonyOS NEXT实战:加载网络页面资源
本课程讲解如何在HarmonyOS SDK中使用Web组件加载网络页面,包括权限配置、页面加载及动态切换。适合教育场景下开发具备网页浏览功能的应用。
210 0
|
7月前
|
开发者
HarmonyOS NEXT实战:网络图片加载和失败占位图
本教程介绍如何在HarmonyOS应用中实现网络图片加载时显示加载图、加载完成后显示图片、加载失败时显示占位图的功能。内容涵盖Image组件的alt、onComplete、onError等接口使用,适用于教育和实战开发场景。
317 0