树莓派4B处理机器学习任务的算力超过树莓+的4倍

元人民币左右,也算能接受得了啦),让树莓派一直以来都是学校和计算机爱好者手中的“神器”。TensorFlow,搞了一把机器学习模型的性能评测,真的这么神吗!带来的新能提升,使得树莓派成为了相当有竞争力的前沿机器学习处理平台。

树莓派4B处理机器学习任务的算力超过树莓+的4倍

树莓派4B的各种接口,图片来源:

树莓派4B主要硬件参数如下:

不仅如此,最近有人在Raspberry Pi 4上成功运行TensorFlow,并对机器学习模型进行了性能评估。 真的有这么神奇吗?

让我们来看看!

使用最新的TensorFlow Lite后,运行相同数据集的速度达到了之前使用TensorFlow的3到4倍。 Raspberry Pi 4B处理机器学习任务的计算能力是Raspberry Pi 3B+的4倍以上,已经可以与NVIDIA Jetson Nano竞争。 如果加上Coral USB加速器,处理速度甚至可以与谷歌的Coral开发板相媲美,而且总价格更便宜。

树莓派4B处理机器学习任务的算力超过树莓+的4倍

新款Raspberry Pi 4b的机器学习任务基准测试结果。单位:毫秒

本次测试中,使用MobileNet v1 SSD 0.75深度模型和MobileNet v2 SSD模型在新款Raspberry Pi 4b上进行基准测试。 两者均使用 Common Objects in Context (COCO) 数据集进行训练,输入图像分辨率为 300×300,使用 TensorFlow 时的运行时间分别为 263.9 毫秒和 483.5 毫秒,使用 TensorFlow Lite 时的运行时间分别为 82.7 毫秒和 122.6 毫秒。毫秒。 图片来源:hackster.io

第 1 部分 基准测试详细信息 设备、模型和数据集

我们在Raspberry Pi 3b+、Raspberry Pi 4B(4G内存版本)和其他一些设备上进行了测试。 测试的模型均为MobileNet v2 SSD和MobileNet v1 0.75深度SSD模型,并且均使用COCO数据集进行。 火车。

我们使用的其他设备包括 Coral 开发板、NVIDIA Jetson Nano、带 Coral USB 加速器的 Raspberry Pi、第一代 Movidus 神经网络计算棒、第二代 Intel 神经网络计算棒和 MacBook Pro。 此外,我们还添加了在Raspberry Pi上运行Xnor.ai的AI2GO平台,使用Xnor的私有卷积网络程序。

ℹ️注意:Raspberry Pi 3B+ 没有 USB 3 端口,因此无法使用 USB 3 版本的 Coral USB 加速器。 由于Intel OpenVINO不支持Python 3.7,第一代Movidus神经网络计算棒和第二代Intel神经网络计算棒尚无法在Raspberry Pi 4上正常工作。不过,随着新设备的普及,官方可能会推出适配在不久的将来适用于 Raspberry Pi 4。

在完全依赖树莓派算力的测试中,我们还对TensorFlow和TensorFlow Lite进行了对比测试(模型进行了转换)。

对于机器学习任务,我准备了一张分辨率为3888×2916的待识别图片。 图片包含两个可识别的物体:一根香蕉和一个苹果。 在输入模型之前,图像将缩小至 300×300 像素。 每个模型会执行10000次,丢弃第一个处理结果(可能存在加载瓶颈造成的延迟),其余处理结果取平均速度。

树莓派4B处理机器学习任务的算力超过树莓+的4倍

程序需要识别的是这张图,图片来源:hackster.io详细数据

我们先来看看各设备上的详细运行数据:

树莓派4B处理机器学习任务的算力超过树莓+的4倍

测试结果,单位:毫秒。 Xnor.ai的AI2GO平台上运行的程序使用他们私有的卷积网络程序模型,因此MobileNet v1和v2没有区别。 图片来源:hackster.io

⚠️注意:根据我们之前对Raspberry Pi 4的评测结果,您需要在板上添加一个由Raspberry Pi GPIO端口驱动的散热风扇,以保持CPU温度稳定,避免CPU因高温而出现保护性减慢。

一开始,在TensorFlow测试中,我们发现Raspberry Pi 4的处理速度比上一代大约提高了一倍。 这几乎是因为新款 ARM Cortex-A72 处理器对 NEON 指令集的处理能力比上一代增加了近 1%。 次。 也就是说,如果能够使用更高效的NEON内核代码,这个速度还有提升的空间。

然后,我们发现使用TensorFlow Lite时,整体速度有了明显的提升,总速度达到了TensorFlow测试的3到4倍。 有趣的是,在Raspberry Pi 3上,TensorFlow Lite的提升比较有限,只能达到原来的2倍左右。

树莓派4B处理机器学习任务的算力超过树莓+的4倍

各设备计算时间的横向比较。 单位:毫秒。 图片来源:hackster.io

上图是各设备计算时间的横向对比。 每个设备有两组数据。 左边使用MobileNet v1 SSD 0.75深度模型,右边使用MobileNet v2 SSD模型。 Xnor AI2GO 平台(Raspberry Pi 3/4)的两款设备仅使用 Xnor 专有的权重模型。 所有测试结果在 Raspberry Pi 3B+ 上以黄色显示,在 Raspberry Pi 4B 上以红色显示。 其他不依赖Raspberry Pi的独立平台以绿色显示。

得益于 TensorFlow Lite,Raspberry Pi 4 的计算时间已降低到可以与 NVIDIA Jetson Nano 和 Intel Movidius 系列硬件竞争的程度。

⚠️注意:Movidius 神经网络计算棒和 Intel 神经网络计算棒第二代只能在 USB 2 下工作,因为 Raspberry Pi 3 没有 USB 3 接口,因此速度受到一定限制。 但目前这两款设备无法在Raspberry Pi 4上正常工作,因此无法进行相应的测试。 也许这要等到 OpenVINO 框架支持 Python 3.7 了。

如果您准备购买 NVIDIA Jetson Nano 来进行机器学习工作,我个人认为您不妨考虑一下 Raspberry Pi 4,它的价格只有一半。

结果总结

全新Raspberry Pi 4带来的全新性能提升,使Raspberry Pi成为极具竞争力的前沿机器学习处理平台。 使用TensorFlow Lite技术后,Raspberry Pi 4的处理能力得到了大幅提升,可以与专业的NVIDIA Jetson Nano和Intel神经网络计算棒2代竞争。

新款 Raspberry Pi 4 比上述两款设备便宜得多,1GB 版本的售价为 35 美元,4GB 版本的售价为 55 美元,而 NVIDIA Jetson Nano 和英特尔神经计算棒 2 Gen 2 的售价均为 35 美元。 价格均为99美元。 具体来说,对于Compute Stick,你还需要购买Raspberry Pi来使用它,所以总成本为134美元。

虽然 Google 的 Coral 开发板仍然是同类产品中功能最强大的板子,但既然有了 USB 3 支持,那么 Raspberry Pi 4 + Coral USB 加速器的组合价格仅为 109.99 美元左右。 与单价 149 美元的 Coral 开发板相比,仍然便宜了 39.01 美元,甚至在性能方面还略微超越了 Coral 开发板。

第 2 部分 测试方法和代码 在 Raspberry Pi 上安装 TensorFlow Lite

过去,在 Raspberry Pi 上安装 TensorFlow 是一个困难的过程,但从去年年底开始,整个过程变得简单多了。 幸运的是,在社区的帮助下,安装 TensorFlow Lite 现在变得容易多了。 您甚至不需要从源代码重新编译。

树莓派4B处理机器学习任务的算力超过树莓+的4倍

树莓派4B,图片来源:

首先,您需要下载最新的 Raspbian Lite 并安装和设置您的 Raspberry Pi。 除非您已有有线网络或显示器/键盘,否则您至少需要设置 Wi-Fi 和 SSH。

准备好设备后,您需要在计算机上打开命令行窗口并通过 SSH 连接到 Raspberry Pi:

% ssh pi@raspberrypi.local

幸运的是,虽然官方的 TensorFlow 二进制发行版不包含 TensorFlow Lite,但有第三方 TensorFlow Lite 发行版,这意味着我们不需要从源代码编译和安装。

通过 SSH 连接到 Raspberry Pi 后,在安装 TensorFlow Lite 之前,需要更新软件包并安装基本编译工具:

$ sudo apt-get update 
$ sudo apt-get install build-essential 
$ sudo apt-get install git

ℹ️注意:如果您是在现有系统上安装并且已经安装了 TensorFlow 官方版本,则需要先将其删除,然后才能继续下一步。 删除的命令是 sudo pip3 uninstall tensorflow。

虽然目前还没有专门为 Python 3.7 构建的 TensorFlow Lite,但可以使用基于 Python 3.5 的版本。 但安装前需要进行一些调整:

$ sudo apt-get install libatlas-base-dev
$ sudo apt-get install python3-pip
$ git clone https://github.com/PINTO0309/Tensorflow-bin.git
$ cd Tensorflow-bin
$ mv tensorflow-1.14.0-cp35-cp35m-linux_armv7l.whl tensorflow-1.14.0-cp37-cp37m-linux_armv7l.whl
$ pip3 install --upgrade setuptools
$ pip3 install tensorflow-1.14.0-cp37-cp37m-linux_armv7l.whl

安装过程需要一些时间。 您可以放松一下,喝杯咖啡什么的,然后在安装完成后回来。 安装完成后,可以使用以下代码进行简单的测试,看看安装是否正确:

$ python3 -c "import tensorflow as tf; tf.enable_eager_execution(); print(tf.reduce_sum(tf.random_normal([1000, 1000])))"

⚠️注意:当你导入tensorflow时,可能会出现一些运行时警告(Runtime warning),你可以忽略它,因为它基本上只是提醒你这个库是在Python 3.5上编译的,当前运行环境是Python 3.7。

因此,您现在应该已经安装了 TensorFlow Lite。 接下来,您需要安装 OpenCV 库、Pillow(Python 图像处理库 (PIL) 的一个分支)和 NumPy:

$ sudo apt-get install python3-opencv 
$ pip3 install Pillow 
$ pip3 install numpy

上述安装成功完成后,您可以尝试下载并运行我们的测试代码。

测试代码及数据下载

测试代码和模型总大小约425M。 翻译者上传至百度网盘:

链接:/s/1DzUpkF89bYGccMXExXJMNQ 提取码:e7fr 结论

总的来说,很难在相对平等的基础上对这些机器学习设备进行横向比较。 但有一点是显而易见的,Raspberry Pi 4 确实是一个很好的机器学习平台。

那么,您打算利用 Raspberry Pi 4 的机器学习功能来做一些新奇的事情吗? 欢迎留言分享!

(本文已投稿至《Udacity》,原作者:Alasdair Allan,译者:欧莎,转载请保留此信息)

编译来源:blog.hackster.io/benchmarking-tensorflow-lite-on-the-new-raspberry-pi-4-model-b-3fd859d05b98

知乎组织账号:Udacity(优达学城),来自硅谷的终身学习平台,专注于技能提升和求职规则,让你在家关注Google、Facebook、IBM等行业领袖,掌握数据分析、前沿技术机器学习、深度学习、人工智能、无人驾驶等技术激发未来无限可能!

知乎专栏:优达技术流,每天分享行业专家和工程师的必备技术资讯

单片机

单片机的优点有哪些?这些优点使它们在各种嵌入式系统中得以广泛应用

2024-2-4 20:01:58

单片机

单片机的特点和应用范围有哪些?有什么区别?

2024-2-4 21:03:59

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索