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

小模型在昇腾NPU上的推理部署:【AISBENCH】

作者昇腾实战派小模型在NPU上的推理部署【知识地图】引言在边缘计算和端侧AI应用蓬勃发展的今天如何在资源有限的设备上实现高效、低延迟的模型推理成为开发者面临的关键挑战。昇腾AscendNPU 作为国产AI硬件的代表以其高能效比备受关注。而AISBENCH正是华为为昇腾平台量身打造的轻量级推理工具链特别适合小模型在边缘设备上的部署。本文将带你从零开始一步步完成 YOLOv5 模型在昇腾 NPU 上的完整部署流程并提供可直接运行的代码示例。什么是 AISBENCHAISBENCH是昇腾平台面向轻量级模型推出的端侧推理工具集它集成了模型转换、图优化、量化压缩与运行时调度等核心功能。与通用的推理框架相比AISBENCH 专门针对小模型的特点进行了深度优化极轻量内存占用与二进制体积极小适合嵌入式场景低延迟优化数据流与算子调度推理速度更快易用性提供一键式编译工具简化部署流程高能效支持功耗与性能的平衡调节延长设备续航环境准备与版本配套重要提示ais_bench 推理工具包含两个部分aclruntime包和ais_bench推理程序包。安装前请务必注意以下事项确保网络畅通CentOS 平台默认的 gcc 4.8 可能无法安装建议升级 gcc 版本推荐安装方式对于大多数开发者建议直接使用昇腾官方镜像可省去复杂的环境配置更多安装说明建议访问 ais_bench 官方仓库 获取最新安装指南。部署实战YOLOv5 模型部署全流程步骤1模型准备与转换获取原始模型# 克隆 YOLOv5 官方仓库gitclone https://github.com/ultralytics/yolov5.gitcdyolov5# 导出 ONNX 格式python export.py--weightsyolov5s.pt--includeonnx--imgsz640转换为昇腾 OM 格式使用昇腾 ATC 工具将 ONNX 转为 OMatc--modelyolov5s.onnx\--framework5\--outputyolov5s\--input_shapeimages:1,3,640,640\--soc_versionAscend310P3\--loginfo步骤2AISBENCH Python API 推理实现完整示例代码importcv2importnumpyasnpimporttorchfromais_bench.infer.interfaceimportInferSessionfromultralytics.data.augmentimportLetterBoxclassYOLOv5NPUInference:def__init__(self,model_path,device_id0): 初始化 NPU 推理会话 Args: model_path: OM 模型路径 device_id: NPU 设备ID self.sessionInferSession(device_id,model_path)defpreprocess(self,image_path,target_size(640,640)): 图像预处理保持 YOLOv5 原始预处理逻辑 # 读取图像imgcv2.imread(image_path)ifimgisNone:raiseValueError(f无法读取图像:{image_path})original_imgimg.copy()# 使用 LetterBox 进行预处理保持长宽比imgLetterBox(target_size,autoFalse)(imageimg)# 转换通道顺序 HWC - CHWimgimg.transpose(2,0,1)imgnp.ascontiguousarray(img)# 归一化并添加 batch 维度imgtorch.from_numpy(img).float()/255.0imgimg.unsqueeze(0)returnimg.numpy(),original_imgdefinference(self,image_path): 执行推理 # 1. 预处理input_data,original_imgself.preprocess(image_path)# 2. NPU 推理outputsself.session.infer([input_data])# 3. 后处理示例需根据实际模型输出调整predictionsself.postprocess(outputs[0],original_img.shape)returnpredictions,original_imgdefpostprocess(self,output,img_shape): 后处理将输出转换为检测结果 注此处为简化示例实际需根据 YOLOv5 输出格式完整实现 # 获取原始图像尺寸original_h,original_wimg_shape[:2]# 示例假设输出格式为 [batch, num_detections, 6]# 其中最后维度为 [x1, y1, x2, y2, confidence, class]detections[]fordetinoutput[0]:ifdet[4]0.25:# 置信度阈值# 将归一化坐标转换回原始图像尺寸x1int(det[0]*original_w)y1int(det[1]*original_h)x2int(det[2]*original_w)y2int(det[3]*original_h)detections.append({bbox:[x1,y1,x2,y2],confidence:float(det[4]),class_id:int(det[5])})returndetections更多学习资源AISBENCH 官方文档昇腾 ModelZoo昇腾 ATC 工具总结本文详细介绍了使用AISBENCH在昇腾 NPU 上部署轻量化模型的完整流程从环境配置到实际推理提供了代码示例。主要步骤包括环境准备选择合适的安装方式推荐使用官方镜像模型转换使用 ATC 工具将 ONNX 转为 OM 格式推理实现利用 AISBENCH Python API 加载并执行模型性能优化通过基准测试和参数调优提升推理效率随着昇腾边缘计算生态的不断完善AISBENCH 将成为轻量化模型在国产 AI 硬件上部署的重要选择。无论是智能制造、自动驾驶还是智能安防、物联网设备这种高能效的部署方案都能为边缘 AI 应用提供坚实的技术支撑。

相关文章:

小模型在昇腾NPU上的推理部署:【AISBENCH】

作者:昇腾实战派 小模型在NPU上的推理部署: 【知识地图】 引言 在边缘计算和端侧AI应用蓬勃发展的今天,如何在资源有限的设备上实现高效、低延迟的模型推理,成为开发者面临的关键挑战。昇腾(Ascend)NPU …...

小模型在NPU上的推理部署:【知识地图】

作者:昇腾实战派 概述 当前,人工智能应用正加速从云端向边缘侧与终端设备渗透。在这一趋势下,计算效率高、延迟低、隐私性好的本地化推理成为关键需求。专为神经网络计算设计的NPU(神经网络处理单元) 因其在能效比上…...

[ZXMOTO 820RR-RS] [Ducati Panigale V2] [Yamaha YZF-R9]

ZXMOTO 820RR-RS Ducati Panigale V2 Yamaha YZF-R9...

3大核心功能:让AirPods在Windows系统上发挥全部潜力

3大核心功能:让AirPods在Windows系统上发挥全部潜力 【免费下载链接】AirPodsDesktop ☄️ AirPods desktop user experience enhancement program, for Windows and Linux (WIP) 项目地址: https://gitcode.com/gh_mirrors/ai/AirPodsDesktop AirPodsDeskto…...

代码补全已进入“语义理解临界点”?——SITS2026核心论文深度拆解(含LLM+AST+IDE三栈协同架构图)

第一章:SITS2026深度解读:代码补全技术演进 2026奇点智能技术大会(https://ml-summit.org) SITS2026(Smart Intelligent Text Synthesis Summit 2026)首次系统性地将代码补全技术划分为三代范式:基于规则的模板填充、…...

高效显卡配置指南:NVIDIA Profile Inspector开源工具的完整使用方案

高效显卡配置指南:NVIDIA Profile Inspector开源工具的完整使用方案 【免费下载链接】nvidiaProfileInspector 项目地址: https://gitcode.com/gh_mirrors/nv/nvidiaProfileInspector 在游戏优化和显卡性能调校领域,NVIDIA Profile Inspector&am…...

Python爬虫实战:手把手教你构建结构化宠物疫苗科普字典库 (Python 实战)!

㊗️本期内容已收录至专栏《Python爬虫实战》,持续完善知识体系与项目实战,建议先订阅收藏,后续查阅更方便~ ㊙️本期爬虫难度指数:⭐ (基础入门篇) 🉐福利: 一次订阅后,专栏内的所有…...

Python爬虫实战:手把手教你智慧场馆工程 - 构建全球会展功能分区结构化词表!

㊗️本期内容已收录至专栏《Python爬虫实战》,持续完善知识体系与项目实战,建议先订阅收藏,后续查阅更方便~ ㊙️本期爬虫难度指数:⭐ (基础入门篇) 🉐福利: 一次订阅后,专栏内的所有…...

为什么很多企业买了大模型,最后还是落不了地?

很多企业花重金采购了大模型的 API,甚至买了昂贵的算力服务器,满心欢喜地以为迎来了生产力革命,结果三个月后,系统却沦为员工写请假条和废话周报的“高级打字机”。为什么技术如此先进,在企业内部却寸步难行&#xff1…...

终极指南:如何用UnrealPakViewer深度解析UE4 Pak文件结构

终极指南:如何用UnrealPakViewer深度解析UE4 Pak文件结构 【免费下载链接】UnrealPakViewer 查看 UE4 Pak 文件的图形化工具,支持 UE4 pak/ucas 文件 项目地址: https://gitcode.com/gh_mirrors/un/UnrealPakViewer UnrealPakViewer是一款专为虚幻…...

2026年学Java的4个网站对比:慕课网、CSDN、牛客网、黑马,一张表看懂

开篇选对学习平台,Java学习效率提升3倍。本文用5个核心指标快速对比四大平台。一、速览对比表对比项🏆 慕课网CSDN牛客网黑马程序员成立时间2013年1999年2014年2006年Java课程数500门博客为主题库为主100门讲师背景一线大厂(1800位&#xff0…...

STM32嵌入AI模型全流程指南

将AI大模型嵌入STM32单片机以实现智能化&#xff0c;本质是将大型AI模型压缩、量化、编译为可在资源受限MCU&#xff08;通常仅数百KB RAM、几MB Flash&#xff09;上实时运行的C代码。所谓“大模型”在STM32语境中实为轻量化AI模型&#xff08;<1MB参数量&#xff0c;INT8精…...

别再死记硬背MobileNet了!用GhostNet+SE模块在树莓派上部署轻量级图像识别模型

在树莓派上实战GhostNetSE&#xff1a;轻量级图像识别的工程优化指南 当你在树莓派的资源限制下挣扎着运行MobileNet时&#xff0c;是否想过还有更优雅的解决方案&#xff1f;GhostNet的出现彻底改变了我们对轻量化网络的认知——它不再只是简单地削减参数&#xff0c;而是通过…...

SpringBoot+Redis 点赞系统源码:高并发写入削峰实现

点赞这个功能&#xff0c;代码写起来不复杂&#xff0c;但一旦出现热点内容&#xff0c;很容易把数据库拖垮。接口延迟抖动、慢SQL堆积、连接池打满&#xff0c;这些问题基本都出在“写路径没有控制”。 在“仿小红书”这类内容社区里&#xff0c;点赞属于典型的高频操作。湖南…...

Spring Boot 3.x 开发中缓存淘汰策略与业务访问模式不匹配问题详解

目录Spring Boot 3.x 开发中缓存淘汰策略与业务访问模式不匹配问题详解引言1. 问题表现&#xff1a;淘汰策略失配的典型症状2. 原因分析&#xff1a;淘汰策略与访问模式的错位2.1 常见淘汰策略及其适用场景2.2 业务模式复杂多变2.3 Spring Boot 3.x 中的默认行为2.4 配置与业务…...

鸿蒙Flutter混合开发实战:跨平台UI无缝集成

鸿蒙应用采用混合开发模式集成 Flutter Module&#xff0c;主要是为了解决代码复用、跨平台一致性以及利用 Flutter 丰富的 UI 生态。对于已有 Flutter 业务&#xff08;如复杂动画、图表组件&#xff09;或需要同时覆盖 Android、iOS 和鸿蒙的场景&#xff0c;直接复用 Flutte…...

如何用免费开源工具轻松将航拍照片转化为三维模型?OpenDroneMap终极指南

如何用免费开源工具轻松将航拍照片转化为三维模型&#xff1f;OpenDroneMap终极指南 【免费下载链接】ODM A command line toolkit to generate maps, point clouds, 3D models and DEMs from drone, balloon or kite images. &#x1f4f7; 项目地址: https://gitcode.com/g…...

零基础入门鸿蒙NEXT开发实战

鸿蒙 HarmonyOS NEXT&#xff08;星河版&#xff09;作为华为最新的纯血鸿蒙系统&#xff0c;彻底剥离了安卓代码&#xff0c;基于自研内核&#xff0c;标志着鸿蒙生态进入了一个全新的独立阶段。对于零基础的小白来说&#xff0c;从入门到实战需要掌握开发环境搭建、UI基础语法…...

Gopher360:3步让游戏手柄变身PC遥控器的实用工具

Gopher360&#xff1a;3步让游戏手柄变身PC遥控器的实用工具 【免费下载链接】Gopher360 Gopher360 is a free zero-config app that instantly turns your Xbox 360, Xbox One, or even DualShock controller into a mouse and keyboard. Just download, run, and relax. 项…...

Applite:让Mac应用管理效率倍增的图形化工具终极指南

Applite&#xff1a;让Mac应用管理效率倍增的图形化工具终极指南 【免费下载链接】Applite User-friendly GUI macOS application for Homebrew Casks 项目地址: https://gitcode.com/gh_mirrors/ap/Applite 你是否还在为Mac上繁琐的软件安装和管理而烦恼&#xff1f;告…...

小白也能玩转SAM3!Gradio交互界面一键部署,文字描述精准分割图片

小白也能玩转SAM3&#xff01;Gradio交互界面一键部署&#xff0c;文字描述精准分割图片 1. 什么是SAM3图像分割模型 Segment Anything Model 3&#xff08;简称SAM3&#xff09;是Meta最新发布的第三代万物分割模型。与传统的图像分割技术不同&#xff0c;SAM3最大的特点是支…...

WarcraftHelper:让经典魔兽争霸3在现代电脑上重获新生

WarcraftHelper&#xff1a;让经典魔兽争霸3在现代电脑上重获新生 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 你是否还记得第一次进入艾泽拉斯大陆…...

子网掩码(Subnet Mask)是与IP地址搭配使用的32位二进制数,用于区分IP地址中的网络号部分和主机号部分

子网掩码&#xff08;Subnet Mask&#xff09;是与IP地址搭配使用的32位二进制数&#xff0c;用于区分IP地址中的网络号部分和主机号部分。其编码规则为&#xff1a; 所有对应网络号的位设为二进制1所有对应主机号的位设为二进制0 A、B、C三类IP地址的默认子网掩码如下&#xf…...

GetQzonehistory:3步永久备份你的QQ空间记忆,告别数据丢失焦虑

GetQzonehistory&#xff1a;3步永久备份你的QQ空间记忆&#xff0c;告别数据丢失焦虑 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 你是否担心那些珍贵的QQ空间说说会随着时间流逝而…...

A.每日一题:2946. 循环移位后的矩阵相似检查

题目链接&#xff1a;2946. 循环移位后的矩阵相似检查&#xff08;简单&#xff09; 算法原理&#xff1a; 解法&#xff1a;模拟 1ms击败100.00% 时间复杂度O(mn) 针对每一行a 首先我们要找到左移和右移k次后的位置在哪&#xff1a; n为该行一维数组的长度 右移k次&#xff1a…...

java对数据库的增删改查

查询步骤1.准备连接数据库需要的变量 &#xff08;库名称&#xff0c;库用户名&#xff0c;库密码&#xff09; 2.提前写好查询数据库的命令 3.声明一个存参数的list 4.连接数据库&#xff08;创建连接&#xff0c;准备指令&#xff0c;连接&#xff09; …...

AMD Ryzen终极调试指南:如何精准控制硬件性能与稳定性

AMD Ryzen终极调试指南&#xff1a;如何精准控制硬件性能与稳定性 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https://gi…...

权重的基本概念

在机器学习和统计学中&#xff0c;权重 是一个非常核心的概念。你可以把它理解为模型中各个特征或参数的重要性系数。 为了更直观地理解&#xff0c;我们用最简单的线性回归公式来说明&#xff1a; [ \hat{y} w_1x_1 w_2x_2 … w_nx_n b ] ( x_1, x_2, … ) 是输入的特征&…...

Element UI el-upload 多文件上传 on-success 回调触发机制深度解析与实战优化

1. 多文件上传的常见痛点与 el-upload 行为解析 在实际开发中&#xff0c;文件上传功能几乎是每个Web应用都绕不开的需求。Element UI的el-upload组件因其开箱即用的特性&#xff0c;成为很多Vue开发者的首选。但当你需要处理多文件上传时&#xff0c;可能会遇到一个让人困惑的…...

Flask为什么仍然值得学

Flask 为什么仍然值得学&#xff1f; 每隔一段时间&#xff0c;总会有人问一句&#xff1a; “FastAPI 都这么火了&#xff0c;现在学 Flask 还有必要吗&#xff1f;” 这个问题之所以反复出现&#xff0c;并不奇怪。因为很多人一接触 Python Web&#xff0c;就会先看到这些信…...