当前位置: 首页 > news >正文

三种 Badcase 精度验证便捷的方案详解与 hbm_infer 部署实录

三种 Badcase 精度验证便捷的方案详解与 hbm_infer 部署实录

在模型结构优化与部署量化过程中,开发者往往会遇到一个关键任务:​基于历史 Badcase 数据验证模型精度变化​,确保模型修改不会引入明显性能退化。 这类验证常见于感知、预测、行为识别等任务,尤其在客户交付或精度回归过程中十分关键。

但实际场景中,Badcase 的来源和管理非常复杂:

  • 数据常常​分散在客户服务器​;
  • 有些数据是​动态生成、无法导出​;
  • 板端资源有限,难以长期驻留模型或数据。

为此,地平线工具链围绕量化后的模型,提供了三种可选的精度验证方案,分别适配不同类型的项目需求。

一、三种 Badcase 精度验证方案

1.1 方案一:仿真推理(Simulate Inference)

使用量化过程生成的与 hbm 等效的 .bc 模型,在服务端模拟 BPU 行为进行推理,无需依赖硬件设备。

适用场景​:早期算法开发、模型结构调整的初步验证。

1.2 方案二:本地数据,远程推理(hbm_infer 协同执行)

基于 hbm_infer 模块,服务端将输入数据通过 RPC 接口发送至板端,调用 HBM 模型进行真实硬件推理,结果再返回服务端进行分析。

  • 优点​:
    • 数据留在服务端,可动态调度;
    • 使用板端 硬件推理,速度较快,且度评估基于真实 BPU,结果可靠;
  • 缺点​:
    • 网络带宽影响推理效率;
    • 需依赖板端资源;

适用场景​:Badcase 动态生成、服务端数据不便迁移、对验证速度存在较大需求 、真实精度验证。

1.3 方案三:板端本地验证(纯离线推理)

通过 NFS 或本地挂载方式将全部数据传输到板端,在板端离线完成所有推理与验证工作。

  • 优点​:
    • 推理速度最快,完全无网络瓶颈;
    • 精度结果与部署完全一致;
  • 缺点​:
    • 需预先准备所有测试数据;
    • 动态输入或在线调试能力较弱
    • 重度需依赖板端资源;

适用场景​:静态 Badcase 精度评估、大规模离线验证、交付测试。

二、三方案对比一览

image.png

三、为什么重点介绍方案二?

尽管三种方案各有应用空间, 在目前发布的 OE 包与官方示例中,​对方案一/三已有说明与案例​,而​方案二虽然支持面广、功能强大,却缺少系统化教程​,另外方案二 ​hbm_infer​ 是目前唯一能同时满足以下需求的解决方案​:

  1. 数据无需迁移​:Badcase 可在服务器本地组织;
  2. 推理结果真实可信​:完全基于硬件板端执行;
  3. 部署过程存在一定复杂度​:但可高度自动化,适合通用集成;

本文将聚焦方案二的 hbm_infer 使用流程,提供完整、可运行的代码模板,帮助你快速构建服务端 + 板端协同验证框架。

四、 hbm_infer 使用指南(方案二)

4.1 安装依赖

# 安装核心组件
1. hbm_infer的使用依赖算法工具发布的docker环境,因此在使用hbm_infer前需要先构建后DOCKER环境,然后在容器中安装hbm_infer组件
2. 在NDA支持下获取hbm_infer python安装包,进入docker环境后使用pip install 安装后使用

4.2 常规模式示例:开发调试推荐

import torch
import time
from hbm_infer.hbm_rpc_session import HbmRpcSession
def test_hbm_infer():hbm_model = HbmRpcSession(host="192.168.1.100",  # 板端 IPlocal_hbm_path="./model.hbm")hbm_model.show_input_output_info()data = {"input_0_y": torch.randint(0, 256, (1, 512, 960, 1), dtype=torch.uint8),"input_0_uv": torch.randint(0, 256, (1, 256, 480, 2), dtype=torch.uint8),}begin = time.time()for _ in range(10):outputs = hbm_model(data)print({k: v.shape for k, v in outputs.items()})print(f"Avg time: {round((time.time()-begin)*1000 / 10, 2)} ms")hbm_model.close_server()
if __name__ == "__main__":test_hbm_infer()

4.3 Flexible 模式示例:多线程/多模型推荐

from hbm_infer.hbm_rpc_session_flexible import (HbmRpcSession, init_server, deinit_server, init_hbm, deinit_hbm
)
import torch, time
def test_flexible():server = init_server(host="192.168.1.100")handle = init_hbm(hbm_rpc_server=server, local_hbm_path="./model.hbm")hbm_model = HbmRpcSession(hbm_rpc_server=server, hbm_handle=handle)data = {"input_0_y": torch.randint(0, 256, (1, 512, 960, 1), dtype=torch.uint8),"input_0_uv": torch.randint(0, 256, (1, 256, 480, 2), dtype=torch.uint8),}begin = time.time()for _ in range(10):outputs = hbm_model(data)print({k: v.shape for k, v in outputs.items()})print(f"Avg time: {round((time.time()-begin)*1000 / 10, 2)} ms")hbm_model.close_server()deinit_hbm(handle)deinit_server(server)
if __name__ == "__main__":test_flexible()

五、小贴士:提高推理效率的建议

  • 板端与服务端建议处于​同网段或直连​,降低传输延迟;
  • 对于批量推理任务,可提前批量加载数据并串行发送;
  • 支持 with_profile=True 打开性能日志分析;

六、总结建议

image.png

http://www.jsqmd.com/news/338079/

相关文章:

  • 【运维自动化-标准运维】快捷键使用技巧(上)
  • 华清远见第33届高校具身智能机器人师资班圆满落幕,虚拟仿真破局,AI前沿赋能!
  • 徐州市英语雅思培训机构推荐;2026权威测评出国雅思辅导机构口碑榜单 - 老周说教育
  • 学霸同款9个降AI率平台 千笔·降AIGC助手帮你解决论文AI痕迹
  • 元气AI Bot深度评测:手机操控电脑+飞书深度集成的国产智能办公革命 - PC修复电脑医生
  • 详细介绍:Python 高手编程系列一十三:现实例子 — 延迟求值属性
  • 基于STM32的疫情医护人员安全管理系统的设计实现
  • 2026年断桥铝门窗厂家最新推荐:隔音窗、隔音门窗、断桥铝门窗、定制门窗、窄边门窗、系统门窗、铝合金门窗、高端门窗选择指南 - 优质品牌商家
  • 全栈工程师用 XinServer 实现多租户后台管理
  • 练车
  • TestMu AI(原LambdaTest)获得2025年第四季度针对自主测试平台的独立研究的认可
  • 遂宁市英语雅思培训机构推荐 2026权威测评出国雅思辅导机构口碑榜单 - 老周说教育
  • 绵阳市英语雅思培训机构推荐;2026权威测评出国雅思辅导机构口碑榜单 - 老周说教育
  • 我读博从不拖延的原因:
  • 徐州市英语雅思培训机构推荐:2026权威测评出国雅思辅导机构口碑榜单 - 老周说教育
  • 遂宁市英语雅思培训机构推荐,2026权威测评出国雅思辅导机构口碑榜单 - 老周说教育
  • 基于STM32的行车安全保障装置的设计与实现
  • 2026年冷喂料橡胶挤出机厂家权威推荐榜:复合橡胶挤出机、冷喂料橡胶挤出机选择指南 - 优质品牌商家
  • leetcode 894. All Possible Full Binary Trees 所有可能的真二叉树-耗时100
  • 我是如何用寒假7天写完初稿的
  • 科研新手如何读文献?从“乱读”到“会读”
  • 小程序定制开发公司哪家好?2026年主流服务商盘点(电商小程序、投票小程序、快速开发小程序公司推荐) - 品牌2025
  • 2026年浙江不锈钢管及加工服务厂家推荐:异型不锈钢管、201不锈钢管、304不锈钢管、316L不锈钢管、不锈钢管弯圆加工、浙江佳麒不锈钢、以专业品质适配多元场景需求 - 海棠依旧大
  • 【毕业设计】基于Python计算机视觉答题卡的设计与实现
  • 博士日常:其实再大的困难也就几个小时
  • 2026白转黑加盟项目解析:创业选择需关注哪些核心要素 - 品牌排行榜
  • 绵阳市英语雅思培训机构推荐:2026权威测评出国雅思辅导机构口碑榜单 - 老周说教育
  • 【毕业设计】python基于模板的药品名称识别系统
  • 2026年杉德斯玛特服务卡回收平台哪家好(多方面评测) - 淘淘收小程序
  • 硕士/博士研究生避坑指南