介绍
本页将指导您在Raspberry Pi 4 64位操作系统Bullseye 上安装 TensorFlow 2.10.0 或更早版本。
TensorFlow是一个专门为深度学习开发的大型软件库。它消耗大量资源。你可以在Raspberry Pi 4上执行TensorFlow,但不要指望奇迹。它可以运行您的模型,如果不是太复杂,但它将无法训练新模型。它也不能执行所谓的迁移学习。除了运行预先构建的深度学习模型外,您还可以使用该库将所谓的冻结 TensorFlow 模型转换为 TensorFlow Lite 平面缓冲区模型。
如果你只是想对深度学习有一些印象,请考虑安装TensorFlow Lite。它的速度要快得多,使用的资源要少得多,因为它是为Raspberry Pi等小型计算机设计的。您可以使用许多现成的生成模型。在此处查看我们的 64 位 Raspberry 安装指南。
路线图TensorFlow继续增长。每个新版本都需要更多的资源、支持软件和库。它越来越多地给你的树莓派带来了沉重的负担。它解释了为什么最新版本在具有“过时”操作系统的“旧”Raspberry Pis上不能很好地运行。
另一方面,不建议在最新的Bullseye上安装非常旧的TensorFlow版本。您将被迫降级某些系统库,这将阻止其他软件运行。这里最好遵循:“顺其自然”。
以下是概述。绿色复选标记表示有版本可用。空的绿色盒子意味着没有版本,但仍然可以安装。灰色框指定不允许“正常”安装的硬件或软件限制。
提示通常,我们会收到一个问题,如果我们有一个带有预装框架和深度学习示例的 Raspberry Pi 4 的 SD 图像。
我们很乐意遵守这一要求。请在我们的GitHub页面上找到一个完整的Raspberry Pi 4,专门用于深度学习。 从我们的GDrive网站下载zip文件,解压缩并在16 GB SD卡上刷新图像,然后开始吧!
我们讨论了两个安装,一个用于 Python 3,一个用于 API 库C++。 不幸的是,没有官方的 aarch64 pip3 轮可用于 2.7、2.6 或 2.5 版本。但是,为了您的方便,我们使用 Bazel 创建了我们的轮子并将它们放在 GitHub 上。
本指南的最后一部分讨论了Keras的安装。
Numpy
Tensorflow在最新版本的numpy中遇到了问题。将 TensorFlow 移植到 numpy 1.20 变得非常困难。现在,随着TensorFlow版本2.8.0的出现,它终于成功了。最后,安装TensorFlow时不再有numpy版本冲突。
但是,TensorFlow 2.7.0仍然报告了一些问题。为了安全起见,请使用 numpy 版本 1.19.5为了TF 2.7.0 以确保一切正常。
libclang 9.0.1
TensorFlow 2.7.0 依赖于 libclang 9.0.1。没有适用于 Debian 10 的发行版。这就是为什么只有TensorFlow 2.7安装在Debian11Bullseye上,。你可以从头开始在Buster RPi上安装libclang 9.0.1,这样你就可以安装TensorFlow了。请注意,clang构建需要大量资源,超过5 GB。最好切换到Bullseye,并在半小时内启动并运行TensorFlow
Protobuffer 4.21
最新版本的Protobuffer 4.21.0与以前的版本3.20.1相比有一些重大改进。但是,TensorFlow尚不支持这些更改。为了使 TensorFlow 正常工作,如果您安装了4.21 ,则需要将 Protobuf 降级到 3.20版本。
有关如何降级的更多信息,请访问我们的 GitHub 页面。
Tensorflow-io-gcs-filesystem
所有依赖项都可以只用一个命令安装,除了 tensorflow-io-gcs 文件系统。由于没有 aarch64 机器的发行版,我们必须从头开始构建 tensorflow-io-gcs 文件系统。整个过程可以在下面找到,应该在安装TensorFlow本身之前完成。如果让TensorFlow安装io-gcs,它将选择错误的版本并且不起作用。
# get a fresh start $ sudo apt-get update $ sudo apt-get upgrade # install pip3 $ sudo apt-get install git python3-pip # install correct version protobuf $ sudo -H pip3 install --upgrade protobuf==3.20.0 Method 1 # download tensorflow io $ git clone -b v0.23.1 --depth=1 --recursive https://github.com/tensorflow/io.git $ cd io $ python3 setup.py -q bdist_wheel --project tensorflow_io_gcs_filesystem $ cd dist $ sudo -H pip3 install tensorflow_io_gcs_filesystem-0.23.1-cp39-cp39-linux_aarch64.whl $ cd ~ Method 2 # or download wheel $ git clone https://github.com/Qengineering/Tensorflow-io.git $ cd Tensorflow-io $ sudo -H pip3 install tensorflow_io_gcs_filesystem-0.23.1-cp39-cp39-linux_aarch64.whl $ cd ~
Python 3.9 的 TensorFlow wheels
TensorFlow由一个名为Bazel的Google软件安装程序安装。最后,Bazel生成一个轮子来安装TensorFlow Python版本,或者在安装C++版本时生成一个压缩包。这两种方法都是树莓派用户所熟知的。我们已经在GitHub页面上发布了Bazel的结果。随意使用这些轮子。整个 TensorFlow 安装过程从头到尾需要很多小时(Python ±64,C++库±1)。完成所有繁琐的工作后,只需几分钟即可在Raspberry 64位Bullseye上安装TensorFlow。对于很难完成的部分,本手册稍后将介绍完整的程序。
整个快捷方式过程如下。wheels太大,无法存储在GitHub上,因此使用Google驱动器代替。
TensorFlow 2.10.0
# install gdown to download from Google drive $ sudo -H pip3 install gdown # download the wheel $ gdown https://drive.google.com/uc?id=1G2P-FaHAXJ-UuQAQn_0SYjNwBu0aShpd # install TensorFlow 2.10.0 $ sudo -H pip3 install tensorflow-2.10.0-cp39-cp39-linux_aarch64.whl
TensorFlow 2.9.1
# install gdown to download from Google drive $ sudo -H pip3 install gdown # download the wheel $ gdown https://drive.google.com/uc?id=1xP6ErBK85SMFnQamUh4ro3jRmdCV_qDU # install TensorFlow 2.9.1 $ sudo -H pip3 install tensorflow-2.9.1-cp39-cp39-linux_aarch64.whl
TensorFlow 2.8.0
# install gdown to download from Google drive $ sudo -H pip3 install gdown # download the wheel $ gdown https://drive.google.com/uc?id=1YpxNubmEL_4EgTrVMu-kYyzAbtyLis29 # install TensorFlow 2.8.0 $ sudo -H pip3 install tensorflow-2.8.0-cp39-cp39-linux_aarch64.whl
TensorFlow 2.7.0
# utmost important: use only numpy version 1.19.5 # check the version first $ pip3 list | grep numpy # if not version 1.19.5, update! $ sudo -H pip3 install numpy==1.19.5 # (re)install termcolor at the correct location $ python3 -m pip install termcolor # install gdown to download from Google drive $ sudo -H pip3 install gdown # download the wheel $ gdown https://drive.google.com/uc?id=1FdVZ1kX5QZgWk2SSgq31C2-CF95QhT58 # install TensorFlow 2.7.0 $ sudo -H pip3 install tensorflow-2.7.0-cp39-cp39-linux_aarch64.whl
安装成功后,应获得以下屏幕输出。
TensorFlow 2.8.0 C++ API
如果你打算用C++编程,你将需要TensorFlow的C++API版本,而不是Python版本。使用我们 GitHub 页面中的预构建压缩包安装 C++ 库可以为您节省大量时间。 请按照以下步骤操作。
TensorFlow 2.10.0
# get a fresh start $ sudo apt-get update $ sudo apt-get upgrade # remove old versions (if found) $ sudo rm -r /usr/local/lib/libtensorflow* $ sudo rm -r /usr/local/include/tensorflow # the dependencies $ sudo apt-get install wget curl libhdf5-dev libc-ares-dev libeigen3-dev $ sudo apt-get install libatomic1 libatlas-base-dev zip unzip # install gdown to download from Google drive (if not already done) $ sudo -H pip3 install gdown # download the tarball $ gdown https://drive.google.com/uc?id=1GOC5CiT5Ws2NpiBem4K3g3FRqmGDRcL7 # unpack the ball $ sudo tar -C /usr/local -xzf libtensorflow_cp39_64OS_2_10_0.tar.gz
TensorFlow 2.9.1
# get a fresh start $ sudo apt-get update $ sudo apt-get upgrade # remove old versions (if found) $ sudo rm -r /usr/local/lib/libtensorflow* $ sudo rm -r /usr/local/include/tensorflow # the dependencies $ sudo apt-get install wget curl libhdf5-dev libc-ares-dev libeigen3-dev $ sudo apt-get install libatomic1 libatlas-base-dev zip unzip # install gdown to download from Google drive (if not already done) $ sudo -H pip3 install gdown # download the tarball $ gdown https://drive.google.com/uc?id=1Z83_RQTvCb2jL2BO1Zdez3x4Qx-XheRk # unpack the ball $ sudo tar -C /usr/local -xzf libtensorflow_cp39_64OS_2_9_1.tar.gz
TensorFlow 2.8.0
# get a fresh start $ sudo apt-get update $ sudo apt-get upgrade # remove old versions (if found) $ sudo rm -r /usr/local/lib/libtensorflow* $ sudo rm -r /usr/local/include/tensorflow # the dependencies $ sudo apt-get install wget curl libhdf5-dev libc-ares-dev libeigen3-dev $ sudo apt-get install libatomic1 libatlas-base-dev zip unzip # install gdown to download from Google drive (if not already done) $ sudo -H pip3 install gdown # download the tarball $ gdown https://drive.google.com/uc?id=1dmJKIk8lUi_XCzlVnRgL-UvfVFriRmCG # unpack the ball $ sudo tar -C /usr/local -xzf libtensorflow_cp39_64OS_2_8_0.tar.gz
TensorFlow 2.7.0
# get a fresh start $ sudo apt-get update $ sudo apt-get upgrade # remove old versions (if found) $ sudo rm -r /usr/local/lib/libtensorflow* $ sudo rm -r /usr/local/include/tensorflow # the dependencies $ sudo apt-get install wget curl libhdf5-dev libc-ares-dev libeigen3-dev $ sudo apt-get install libatomic1 libatlas-base-dev zip unzip # install gdown to download from Google drive (if not already done) $ sudo -H pip3 install gdown # download the tarball $ gdown https://drive.google.com/uc?id=1kScCKyj0pr265XbCgYmXqXs77xJFe6p1 # unpack the ball $ sudo tar -C /usr/local -xzf libtensorflow_cp39_64OS_2_7_0.tar.gz
你最终应该将 TensorFlow 库安装在 /usr/local/lib 位置,并将头文件安装在文件夹 usr/local/include/tensorflow/c 中。
转载来自:rpideveloper.com/topic/18
https://www.edatec.cn/cn/ WX:上海晶珩电子