介绍
本页将指导您在RaspberryPi位操作系统Bullseye上安装TensorFlow2.10.0或更早版本。
TensorFlow是一个专门为深度学习开发的大型软件库。它消耗大量资源。你可以在RaspberryPi4上执行TensorFlow,但不要指望奇迹。它可以运行您的模型,如果不是太复杂,但它将无法训练新模型。它也不能执行所谓的迁移学习。除了运行预先构建的深度学习模型外,您还可以使用该库将所谓的冻结TensorFlow模型转换为TensorFlowLite平面缓冲区模型。
如果你只是想对深度学习有一些印象,请考虑安装TensorFlowLite。它的速度要快得多,使用的资源要少得多,因为它是为RaspberryPi等小型计算机设计的。您可以使用许多现成的生成模型。在此处查看我们的64位Raspberry安装指南。
路线图
TensorFlow继续增长。每个新版本都需要更多的资源、支持软件和库。它越来越多地给你的树莓派带来了沉重的负担。它解释了为什么最新版本在具有“过时”操作系统的“旧”RaspberryPis上不能很好地运行。
另一方面,不建议在最新的Bullseye上安装非常旧的TensorFlow版本。您将被迫降级某些系统库,这将阻止其他软件运行。这里最好遵循:“顺其自然”。
以下是概述。绿色复选标记表示有版本可用。空的绿色盒子意味着没有版本,但仍然可以安装。灰色框指定不允许“正常”安装的硬件或软件限制。
提示
通常,我们会收到一个问题,如果我们有一个带有预装框架和深度学习示例的RaspberryPi4的SD图像。我们很乐意遵守这一要求。请在我们的GitHub页面上找到一个完整的RaspberryPi4,专门用于深度学习。从我们的GDrive网站下载zip文件,解压缩并在16GBSD卡上刷新图像,然后开始吧!
我们讨论了两个安装,一个用于Python,一个用于API库C++。不幸的是,没有官方的aarch64pip轮可用于2.7、2.6或2.5版本。但是,为了您的方便,我们使用Bazel创建了我们的轮子并将它们放在GitHub上。本指南的最后一部分讨论了Keras的安装。
准备
Numpy
Tensorflow在最新版本的numpy中遇到了问题。将TensorFlow移植到numpy1.20变得非常困难。现在,随着TensorFlow版本2.8.0的出现,它终于成功了。最后,安装TensorFlow时不再有numpy版本冲突。但是,TensorFlow2.7.0仍然报告了一些问题。为了安全起见,请使用numpy版本1.19.5为了TF2.7.0以确保一切正常。
libclang9.0.1
TensorFlow2.7.0依赖于libclang9.0.1。没有适用于Debian10的发行版。这就是为什么只有TensorFlow2.7安装在Debian11Bullseye上,。你可以从头开始在BusterRPi上安装libclang9.0.1,这样你就可以安装TensorFlow了。请注意,clang构建需要大量资源,超过5GB。最好切换到Bullseye,并在半小时内启动并运行TensorFlow
Protobuffer4.21
最新版本的Protobuffer4.21.0与以前的版本.20.1相比有一些重大改进。但是,TensorFlow尚不支持这些更改。为了使TensorFlow正常工作,如果您安装了4.21,则需要将Protobuf降级到.20版本。
有关如何降级的更多信息,请访问我们的GitHub页面。
Tensorflow-io-gcs-filesystem
所有依赖项都可以只用一个命令安装,除了tensorflow-io-gcs文件系统。由于没有aarch64机器的发行版,我们必须从头开始构建tensorflow-io-gcs文件系统。整个过程可以在下面找到,应该在安装TensorFlow本身之前完成。如果让TensorFlow安装io-gcs,它将选择错误的版本并且不起作用。
#getafshstart$sudoapt-getupdate$sudoapt-getupgrade#installpip$sudoapt-getinstallgitpython-pip#installcorctversionprotobuf$sudo-Hpipinstall--upgradeprotobuf==.20.0Method1#downloadtensorflowio$gitclone-bv0.2.1--depth=1--cursive