0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

树莓派5 + Hailo AI加速器:工业级数值数据处理实战,打通SQLite与机器学习全链路

上海晶珩电子科技有限公司 2025-03-25 09:22 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

本文讨论了在工业自动化背景下,开发者利用树莓派5和Hailo AI加速器进行工业级数值数据处理实战,打通SQLite与机器学习全链路时遇到的问题及解决方案。关键要点包括:

1.开发者需求:构建能从SQLite数据库提取数值数据、用优化模型分析数据、将结果保存回数据库的高效数据处理流程。

2.基准性能:Hailo-8L模块推理吞吐量为15万次/秒(INT8),SQLite批处理延迟<5ms/批次(100条/批次)。

3.面临挑战:HailoRT版本不包含编译器;Hailo Model Zoo在Python 3.11环境安装失败;工作流模型与数值特征不兼容。

4.社区提问:询问数值数据模型与加速器集成示例、Python版本处理方案、非图像数据处理工作流及工具等。

5.解决方案:下载Dataflow Compiler (DFC),在带GPU的x86机器上进行模型编译。

6.参考实现:可查看树莓派示例适应数值数据处理

7.启发思考:体现社区力量、清晰表达问题、开发者与社区互动的重要性。

导语

在工业自动化的浪潮中,数据就是力量!树莓派5凭借其强大的性能和丰富的接口,成为了开发者手中的“瑞士军刀”。而Hailo AI加速器的加入,更是为这把“刀”装上了“火箭助推器”!

你是否遇到过这样的难题:海量的数值数据从传感器涌入,传统的计算方法跟不上节奏,数据处理成了瓶颈。别担心,本文将带你走进一个真实的开发故事,看开发者如何用树莓派5和Hailo AI加速器,打造出一个从数据读取到分析,再到结果回写的高效流水线。

开发者的需求:我们想实现什么?

978174b0-0917-11f0-9434-92fbcf53809c.png

在Hailo的开发者社区里面,有一位叫walter.richtscheid的工程师提出一个开发中的问题:

他的目标是构建一个高效的数据处理流程,能够:

1. 从SQLite数据库中提取数值数据。

2. 使用针对Hailo AI加速器优化的机器学习模型对数据进行分析。

3. 将分析结果保存回SQLite数据库。

9795e3be-0917-11f0-9434-92fbcf53809c.png

基准性能:

Hailo-8L模块推理吞吐量: 15万次/秒(INT8)

SQLite批处理延迟: <5ms/批次(100条/批次)

面临的挑战

1、编译器缺失

我们安装的HailoRT版本(4.19.0)不包含TensorFlow-to-HEF编译器。

像以下这样的命令无法使用:

hailortclicompile-tensorflow

2、Hailo Model Zoo安装问题

在我们的Python 3.11环境中,安装Hailo Model Zoo 2.13.0(Python包)时失败,出现以下错误:

fatalerror: longintrepr.h: No such file or directory

lap依赖项似乎与Python 3.11不兼容。

3、工作流模型兼容性

示例HEF中的当前VStreams是基于图像的(NHWC 416x416x3),不适合我们的数值特征(每行3个值)。

我们不确定如何调整管道以适应数值数据处理。

社区提问

由于无法解决,所以这位开发者在社区里提出了自己的问题并寻求Hailo官方的帮助:

1. 是否有关于将数值数据模型(例如DNN)与Hailo AI加速器集成的示例或模板?

2. 我们是否应该将Python版本降级到3.9以确保Model Zoo的兼容性,还是有其他替代方案?

3. 是否有推荐的工作流或编译工具用于非图像数据处理?

4. TAPPAS是否可以用于简化这种数值数据管道?

附加信息

运行64位Raspberry Pi OS的Raspberry Pi 5。

已在虚拟环境中安装并运行TensorFlow 2.18.0。

已经验证了SQLite数据库的输入和输出批处理。

技术支持与解决方案

Hailo的官方在了解到开发者的需求和问题后,迅速做出了回复:

1、下载Dataflow Compiler (DFC)

首先,从我们的开发者区域下载Dataflow Compiler (DFC):

https://hailo.ai/developer-zone/software-downloads/

(需要注册/登录才能访问下载)

2、模型编译(在带有GPU的x86机器上)

将TensorFlow模型转换为ONNX格式:

python -m tf2onnx.convert--saved-modelyour_model_dir--outputmodel.onnx

然后使用DFC编译:

完整的数值数据处理管道实现

importnumpyasnpimportsqlite3fromhailo_platformimportHEF, VDevicefromhailo_rpi_commonimportapp_callback_classclassNumericalDataCallback(app_callback_class): def__init__(self): super().__init__() self.db_path ="results.db" defsave_to_db(self, data): conn = sqlite3.connect(self.db_path) cursor = conn.cursor() cursor.execute('CREATE TABLE IF NOT EXISTS results (id INTEGER PRIMARY KEY, value REAL)') cursor.executemany('INSERT INTO results (value) VALUES (?)', [(value,)forvalueindata]) conn.commit() conn.close()classNumericalDataApp: def__init__(self, callback, user_data): self.callback = callback self.user_data = user_data self.hef_path ="model.hef" withVDevice()asvdevice: hef = HEF(self.hef_path) self.network_group = vdevice.configure(hef) defrun_inference(self, data): withself.network_group.create_vstreams()asvstreams: returnvstreams[0].infer(data) defrun(self): input_data = np.random.rand(1,3).astype(np.float32) # 替换为实际数据 results = self.run_inference(input_data) self.user_data.save_to_db(results) print(f"Pipeline run complete. Results saved:{results}")if__name__ =="__main__": user_data = NumericalDataCallback() app = NumericalDataApp(app_callback, user_data) app.run()

参考实现

请查看我们的树莓派的示例,这些示例可以适应数值数据处理。

https://github.com/hailo-ai/hailo-rpi5-examples

开发者的回应

由于官方的有力支持,开发者的工作有了很大的进展:

我们非常感谢你提供的关于使用Hailo AI加速器处理数值数据的详尽回复和清晰的分步指导。我们真切地感受到你为分享这一全面解决方案所投入的时间和精力!

目前,我们正在梳理工作流程,并准备实施你建议的步骤,包括数据流编译器和基于Python的管道。在完成测试后,我们将毫无保留地与社区分享我们的成果和任何额外的见解。

再次感谢你的支持和专业知识——在我们持续推进这个项目的过程中,它们简直是无价之宝。

最好的祝福,”

结语:启发与思考

在这个充满挑战的开发过程中,我们学到了很多宝贵的经验。遇到问题并不可怕,关键是如何快速有效地找到解决方案。正如这位开发者所展示的,当你遇到难题时,选择一个合适的渠道寻求帮助是非常重要的。

他选择了Hailo的社区,清晰地描述了自己的问题,并分享了自己的疑问和进展。这种清晰的表达使得Hailo官方能够迅速理解他的需求,并提供正确的建议。结果,问题得到了有效的解决。

这给我们带来了几个重要的启发:

社区的力量:Hailo社区证明了其在技术支持方面的价值。这样的社区不仅是解决问题的地方,更是学习和成长的平台。

清晰的表达:在寻求帮助时,清晰地描述问题和自己的尝试是非常重要的。这有助于他人快速理解并提供帮助。

互动的重要性:开发者与社区的互动是解决问题的关键。通过分享和讨论,我们可以更快地找到答案。

对于树莓派开发者来说,这些经验是非常有参考意义的。它们提醒我们,在开发过程中遇到问题时,不要犹豫寻求帮助,同时也要学会如何有效地利用社区资源。

希望这些思考能够引发你的共鸣,让我们在开发的道路上共同成长,不断探索新的可能性。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 加速器
    +关注

    关注

    2

    文章

    836

    浏览量

    39712
  • 机器学习
    +关注

    关注

    66

    文章

    8541

    浏览量

    136236
  • 树莓派
    +关注

    关注

    122

    文章

    2069

    浏览量

    109713
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    边缘计算中的AI加速器类型与应用

    人工智能正在推动对更快速、更智能、更高效计算的需求。然而,随着每秒产生海量数据,将所有数据发送至云端处理已变得不切实际。这正是边缘计算中AI加速器
    的头像 发表于 11-06 13:42 424次阅读
    边缘计算中的<b class='flag-5'>AI</b><b class='flag-5'>加速器</b>类型与应用

    搭载树莓CM5:Sfera Labs 工业控制

    搭载树莓计算模块5工业计算机:快速、灵活且可靠!为更好地满足工业客户的需求,SferaLabs对StratoPiMax平台进行了升级,利
    的头像 发表于 07-01 17:41 541次阅读
    搭载<b class='flag-5'>树莓</b><b class='flag-5'>派</b>CM<b class='flag-5'>5</b>:Sfera Labs <b class='flag-5'>工业</b>控制<b class='flag-5'>器</b>!

    完整指南:如何使用树莓5Hailo AI Hat、YOLO、Docker进行自定义数据集训练?

    今天,我将展示如何使用令人印象深刻的HailoAIHat在树莓5上训练、编译和部署自定义模型。注意:文章内的链接可能需要科学上网。HailoAIHat根据你的设置,在树莓
    的头像 发表于 06-28 08:23 3465次阅读
    完整指南:如何使用<b class='flag-5'>树莓</b><b class='flag-5'>派</b><b class='flag-5'>5</b>、<b class='flag-5'>Hailo</b> <b class='flag-5'>AI</b> Hat、YOLO、Docker进行自定义<b class='flag-5'>数据</b>集训练?

    树莓分类:用树莓识别不同型号的树莓

    在本教程系列的第一部分中,您将学习如何使用树莓AI摄像头来检测不同的树莓型号。本系列由Dav
    的头像 发表于 06-13 16:39 994次阅读
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b>分类<b class='flag-5'>器</b>:用<b class='flag-5'>树莓</b><b class='flag-5'>派</b>识别不同型号的<b class='flag-5'>树莓</b><b class='flag-5'>派</b>!

    关于 树莓5 超频:你需要知道的一切!

    摘要树莓5可通过超频提升性能,对于机器学习处理器密集型任务尤为有用。超频
    的头像 发表于 06-10 17:29 2369次阅读
    关于 <b class='flag-5'>树莓</b><b class='flag-5'>派</b><b class='flag-5'>5</b> 超频:你需要知道的一切!

    树莓5树莓4:深度对比与独特优势!

    和专业人士都好奇它与前代产品树莓4相比表现如何。本文将深入对比这两款机型,突出它们的差异和独特优势,帮助您做出明智的决策。1.处理器树莓
    的头像 发表于 05-21 13:15 2074次阅读
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b><b class='flag-5'>5</b> 与 <b class='flag-5'>树莓</b><b class='flag-5'>派</b>4:深度对比与独特优势!

    能够精准定位的树莓机器人!

    我为我的自制机器人BigRob(同样由树莓驱动)配备了基于树莓的精准GPS导航系统。本项目所用组件硬件组件NV08C-CSMx1NV08
    的头像 发表于 05-17 08:33 842次阅读
    能够精准定位的<b class='flag-5'>树莓</b><b class='flag-5'>派</b><b class='flag-5'>机器</b>人!

    解锁树莓集群:一步步打造你的超级计算阵列!

    数据处理和云原生计算学习等多种任务。什么是树莓集群?在树莓集群中,每台
    的头像 发表于 04-25 16:17 1941次阅读
    解锁<b class='flag-5'>树莓</b><b class='flag-5'>派</b>集群:一步步打造你的超级计算阵列!

    **【技术干货】Nordic nRF54系列芯片:传感数据采集与AI机器学习的完美结合**

    和更多外设接口。无论是运行还是休眠状态,功耗表现都非常出色! 3. 在传感数据采集与AI机器学习中的优势? 答:主频高、功耗低,内置专用核
    发表于 04-01 00:00

    树莓5终极开发方案:VSCode Server避坑实战指南

    导语:你是否想过将信用卡大小的树莓5打造成随身携带的云端开发神器?开发者RaduZaharia历经反复试验,终于突破性实现VSCodeServer在树莓
    的头像 发表于 03-25 16:39 1233次阅读
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b><b class='flag-5'>5</b>终极开发方案:VSCode Server避坑<b class='flag-5'>实战</b>指南

    树莓 AI HAT+ !到手了!我来教你安装!

    RaspberryPiAIHAT+附加板内置与RaspberryPi5兼容的HailoAI加速器。AIHAT+中的NPU可用于过程控制、安防、家庭自动化和机器人等应用。AIHAT+围绕
    的头像 发表于 03-25 09:39 1082次阅读
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b> <b class='flag-5'>AI</b> HAT+ !到手了!我来教你安装!

    树莓AI套件:如何将混乱的数据变成有序的魔法

    使用RaspberryPiAI套件进行非结构化数据处理——Hailo边缘AI非结构化数据处理、RaspberryPi5、RaspberryP
    的头像 发表于 03-25 09:37 766次阅读
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b><b class='flag-5'>AI</b>套件:如何将混乱的<b class='flag-5'>数据</b>变成有序的魔法

    4台树莓5跑动大模型!DeepSeek R1分布式实战

    导语“用4台树莓5组网,轻松运行大模型——这可能是2025年最颠覆认知的开源AI项目!”GitHub明星项目distributed-llama最新
    的头像 发表于 03-24 14:50 1073次阅读
    4台<b class='flag-5'>树莓</b><b class='flag-5'>派</b><b class='flag-5'>5</b>跑动大模型!DeepSeek R1分布式<b class='flag-5'>实战</b>!

    AI Agent 应用与项目实战》----- 学习如何开发视频应用

    学习、自然语言处理(NLP)、计算机视觉(CV)等先进技术提供的强大的数据处理和分析能力。 在视频应用开发中,AI Agent可以用于视频内容分析、推荐、编辑等。 下面跟随作者的指导,
    发表于 03-05 19:52

    FPGA+AI王炸组合如何重塑未来世界:看看DeepSeek东方神秘力量如何预测......

    现出色,例如在机器学习和深度学习中。 • 工业自动化:用于实现复杂的控制逻辑和实时数据处理。 • 视频
    发表于 03-03 11:21