程序聚合 软件案例 卷积神经网络稀疏计算优化

卷积神经网络稀疏计算优化

2026-01-26 20:21:04
行业:电商、人工智能
载体:嵌入式软件、硬件
技术:C、C/C++、VHDL/Verilog

业务和功能介绍

在这个项目中,我们三人一组,主要实现的功能是利用Vivado软件操作平台在ZedBoard-zynq-7000c484开发板平台上实现卷积神经网络算法优化的目标。
通过上述优化,在相同硬件资源条件下,最终实现的运算速度比传统计算快183倍,比硬件优化方法快20%。这个项目获得了全国集成电路创新创业大赛二等奖。
我们的总体设计方法是这样的,首先在 C++平台上实现卷积核算法和反卷积算法,然后通过 vivado HLS 仿真进行总线带宽、pipeline、内部缓存、计算单元等方面硬件的优化,仿真波形和实际相符后,生成相应的 IP 核,vivado 导入 IP 核和 zynq7000 进行实物仿真,经过验证正确后烧入 fpga。图像从电脑端通过串口输入开发板,由于片内缓存不足以一次性存储1024个channel的150*150的图像,所以采用动态缓存的办法,Zynq 边对图像进行卷积处理,边从特征 cache 读取图像数据,一个 channel 处理完成后立即输出至 SDSDRAM(输出数据量较小),并空出相应的缓存资源供后续 channel的图像使用。我们将开发板的 8 个 LED 设置为输出结果,板上运行时,可通过 LED判断输出波形。

项目实现

Vivado HLS 开创了一种全新理念,那就是用户可以通过 C/C++代码即可直接生成硬件执行文件,这使得很多用户不需要掌握特别深入的硬件知识也可进行硬件开发,降低了硬件开发的瓶颈,同时使得开发者把精力集中在优化算法和数据结构上,节省了大量时间。同时 vivado HLS 可以智能地进行内部资源分配,实现硬件优化。
遇到的问题:
传统的卷积神经网络计算电路存在一系列问题。第一,传统方法未考虑大量的0,导致算法低效、硬件利用效率低;第二,硬件计算单元任务量各异,不同单元间存在“等待”,时间冗余;第三,反卷积网络稀疏率极高,未避免计算资源浪费。
针对上面这几点问题,我们进行了相应的优化。
第一,稀疏矩阵处理:对稀疏矩阵采用稀疏处理,跳过含0项的计算,可以大大减少程序的运行时间,且稀疏率越大,效果越显著。
第二,负载均衡:对稀疏不均矩阵采用负载均衡处理,在并行的前提下可以提高运行速度,且不均匀程度越大,提高程度越大。
第三,并行计算:构建卷积核内并行计算机制,大大提高计算速度。在算法级,采用unroll实现。
第四,数据复用:卷积的过程对输入数据的采集存在重复的情况,引入数据复用机制,可以节省读取输入数据的时间。
第五,反卷积运算:反卷积稀疏率更大,因此优化效果更好。

示例图片视频


春和景明
30天前活跃
方向: 后端-C++、嵌入式-嵌入式应用开发、
交付率:100.00%
相似推荐
自行开发监控软件-监控软件
1,立项背景:在医院信息部门工作,负责医院系统开发和运维工作,传统的监控软件很难实现全范围监控,如网络,接口,业务系统,服务器cpu、内存、存储,院内核心业务,数据库等,并且出现问题不能及时预警,漏报误报占比太高,就从核心业务开始自己写监控,逐步扩展到数据库,接口,总线平台,数据中心等其他模块,现在院内运维基本依赖这套监控系统,运行很多年,功能也比较完善。 2,核心功能:实现网络,接口,业务系统,服务器cpu、内存、存储,院内核心业务,数据库,通过钉钉,小程序,短信,电话,工单系统等方式,及时把预警消息推送到个人和群,督促系统管理员及时处理。 3,业务流程:任务监控,没隔三分钟跑一次所有监控列表,记录数据到数据库了日志,有问题节点间隔30秒再跑一次监控,自定义每个节点监控次数,达到设定上限开始推送预警消息到个人和运维群,防止误报,个人未处理第二次预警时推送工单,拨打电话。
智慧医生
•患者信息全景查看:支持医生一键调取患者完整就诊数据,涵盖门诊 / 住院就诊记录、检验检查报告、医学影像、住院生命体征数据、门诊开药记录、手术记录、住院病程记录、护理记录等多类型医疗信息,实现患者诊疗数据一站式整合查看 •跨端医疗协作会诊:深度对接钉钉、浙政钉、企业微信生态,医生可通过系统快速发起患者会诊,通过建立专属群组开展线上多学科 / 跨机构会诊业务;同时与院内核心系统打通,会诊结论、处理意见等关键数据可实时回流至院内会诊系统,保障医疗数据闭环与院内业务衔接 •影像调阅系统:支持调阅Jpg、Dicom格式的影像文件,同时支持对影像数据进行反相、文字标注、测量、基础标注等功能 •基于阿里云视觉智能开放平台的痤疮等级检测 •基于PaddleOCR的图片文字OCR识别功能,从骨密度报告中提取关键信息
省级疾控健康管理平台-老年疾病信息管理系统大框架(认知筛查子系统)
服务于省级疾控中心,面向全省基层医疗机构,用于老年人群的认知障碍筛查与健康管理。核心业务流程包括:基层医护人员通过系统对辖区内老年居民进行认知功能评估,填写标准化认知筛查量表(如MMSE、MoCA等国际通用量表及本土化量表);系统根据量表得分自动判定认知障碍风险等级(正常/轻度/中重度),生成个性化随访建议;省级疾控中心汇总全省筛查数据,进行认知障碍患病率统计、流行病学分析和资源调配决策。 系统涉及多种认知筛查量表,每种量表包含数十个评估条目,且条目间存在复杂的联动规则:如某个条目得分异常时,需自动触发补充评估模块;不同年龄段、教育程度的受试者,其评分标准和风险阈值不同;量表填写过程中需实时校验数据的完整性和逻辑合理性。
医疗级复杂表单解决方案-DynamicFormEngine
为解决医疗场景下复杂量表的填报、校验与数据管理难题,独立设计并开源了一套规则驱动的动态表单引擎。该系统可广泛应用于医院HIS系统、公共卫生数据采集、临床试验数据管理等场景,能处理多量表联级、复杂逻辑校验、大数据量渲染等高难度需求。
透析管理系统
目前大部分医院血液净化中心都是采取传统手工作业方式,每天需要收集大量数据,导致工作效率低下。日常的血透管理过程繁琐且复杂,中间不能出现任何差错,对于医院透析中心来说,数字化管理是必然趋势,传统的血透管理不仅不利于持续追踪患者的透析质量情况,也不利于全科的医疗质量安全管理。透析管理系统能彻底提高了各大医院血液透析工作效率 1.设备管理记录,透析记录,设备档案记录 2.人脸识别患者身份 2.读卡身份验证 3.串口读取体重秤数据解释显示 4.扫码核对信息 5.耗材扫码出库入库 6.语音播报 7.图表可视化展示数据 8.websocket监听消息推送 9.上传文件,下载文件,安装更新
帮助文档   Copyright @ 2021-2024 程聚宝 | 浙ICP备2021014372号
人工客服