【深度学习】树莓派Zero w深度学习模型Python推理

本文介绍了如何在树莓派Zero w开发板上进行深度学习模型的推理。首先,讨论了边缘计算的重要性,然后详细阐述了从选择推理框架TensorFlow Lite,解决ARMv6架构的安装问题,到准备Python3.7的操作系统,烧录SD卡,远程连接树莓派,以及安装和验证TensorFlow Lite和OpenCV的过程。最后,通过摄像头进行图像捕获,并进行了模型推理的演示。
摘要由CSDN通过智能技术生成

在机器学习开发过程中,当模型训练好后,接下来就要进行模型推理了,根据部署环境可分为三类场景:

边缘计算:一般指手机,嵌入式设备,直接在数据生成的设备上进行推理,因为能避免将采集到的数据上传到云端,所以实时性非常好。

端计算:介于云和边缘设备之间的计算平台,个人PC可以归为这一类。

云计算:指云计算平台,具有强大的计算和存储能力,通过服务释放AI能力。

在之前跟大家分享的AI工具中,都是在PC上进行推理,也就是属于端设备推理。

基于深度学习的抠图工具
https://github.com/AIDajiangtang
基于深度学习的图像拼接工具
https://github.com/AIDajiangtang/Superpoint-LightGlue-Image-Stiching
基于大模型的分割工具
https://github.com/AIDajiangtang/Segment-Anything-CPP
https://github.com/AIDajiangtang/Segment-Anything-CSharp

今天,我将为大家演示如何在边缘设备上进行推理。

要准备毕业设计的小伙伴可以作为参考。

我选择的边缘设备是树莓派的Zero w开发板,硬件配置参数如下:

1GHz single-core CPU ARM11 ARMv6

512MB RAM

Mini HDMI® port

Micro USB OTG port

Micro USB power

HAT-compatible 40-pin header

Composite video and reset headers

CSI camera connector (v1.3 only)

这里多说一点,对于ARM芯片,要区分芯片系列与CPU架构。不同的CPU架构对应不同的指令集,如果涉及从源码编译需要考虑CPU架构。

ARM7:
时间点:ARM7系列处理器于1994年发布。
特点:ARM7系列处理器是ARM架构的早期版本,采用32位RISC架构,主要用于嵌入式系统和低功耗设备。它具有较低的功耗和成本,适用于资源受限的应用。
CPU架构:ARMv4T架构。

ARM9:
时间点:ARM9系列处理器于1997年发布。
特点:ARM9系列处理器也是基于32位RISC架构,用于多种应用,包括嵌入式系统、移动设备和数字音频。它具有较高的性能和灵活性,适用于中等功耗和性能需求的应用。
CPU架构:ARMv5TE架构。


ARM11:
时间点:ARM11系列处理器于2002年发布。
特点:ARM11系列处理器同样采用32位RISC架构,主要应用于移动设备和数字媒体领域。它具有更高的性能和计算能力,支持多媒体处理和浮点运算。
CPU架构:ARMv6架构。

ARM Cortex-A:
时间点:ARM Cortex-A系列处理器于2005年发布。
特点:Cortex-A系列面向高性能应用,用于智能手机、平板电脑、服务器和其他需要较高处理性能的设备。它具有更强大的处理能力、更高的频率和更复杂的功能。
CPU架构:基于ARMv7-A或ARMv8-A架构。

ARM Cortex-R:
时间点:ARM Cortex-R系列处理器于2004年发布。
特点:Cortex-R系列面向实时应用,用于嵌入式系统、汽车电子、工业控制等需要快速响应和可靠性的应用。它具有较低的延迟和更可靠的实时性能。
CPU架构:基于ARMv7-R或ARMv8-R架构。

ARM Cortex-M:
时间点:ARM Cortex-M系列处理器于2004年发布。
特点:Cortex-M系列面向低功耗嵌入式系统,用于微控制器、传感器、物联网设备等资源受限的应用。它具有较低的功耗、小尺寸和高效的实时性能。
CPU架构:基于ARMv6-M或ARMv7-M架构。

常见ARM芯片系列和架构

我们选择的Raspberry Zero w属于ARM11系列,ARMv6 CPU架构,支持wifi。

Raspberry Pi 1 Model A/B/A+/B+:
CPU系列:ARM11系列
CPU架构:ARMv6架构

Raspberry Pi 2 Model B:
CPU系列:ARM Cortex-A系列
CPU架构:ARMv7-A架构

Raspberry Pi 3 Model B/B+:
CPU系列:ARM Cortex-A系列
CPU架构:ARMv8-A架构

Raspberry Pi 4 Model B:
CPU系列:ARM Cortex-A系列
CPU架构:ARMv8-A架构

Raspberry Pi Zero/Zero W:
CPU系列:ARM11系列
CPU架构:ARMv6架构

Raspberry Pi Compute Module 3/3+:
CPU系列:ARM Cortex-A系列
CPU架构:ARMv8-A架构

Raspberry Pi Compute Module 4:
CPU系列:ARM Cortex-A系列
CPU架构:ARMv8-A架构

常见树莓派开发板CPU型号

由于本项目涉及到的软件比较多,我帮大家整理到一起了。

关注微信公众号:人工智能大讲堂,后台回复【rsb】获取模型和所有安装包。

开始吧。

准备硬件

除了开发板外,还需要USB电源,摄像头,miscro SD卡,以及读卡器。某宝上可以买到,然后按下图连接

在这里插入图片描述

准备推理框架

按理讲,硬件就绪后,接下来应该安装操作系统了,为什么要先说推理框架呢?也是出于无奈啊!

我选择的推理框架是tensorflow lite,但它对于ARMv6没有现成的pip安装包,也就是没办法通过下面的命令安装推理运行时。

python3 -m pip install tflite-runtime

有两种解决方法。

第一种是安装好树莓派操作系统后自己准备编译环境,然后从源码编译tensorflow lite whl安装包。

https://www.tensorflow.org/lite/guide/build_cmake_pip

第二种则是去网上找现成的针对ARM v6架构的安装包。

我选择了第二种。

开源的力量是强大的,我在Github上真就找到了一个针对ARM v6架构的whl安装包,虽然是完整的tensorflow安装包,但可以通过导出tensorflow lite来使用推理功能。

import tensorflow as tf
interpreter = tf.lite.Interpreter(model_path=args.model_file
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值