本文中的环境: 树莓派4b(armv7l) win10,与树莓派通过网线进行连接
树莓派原本已经安装了python3.9,但是在: https://github.com/lhelontra/tensorflow-on-arm/releases 发现针对arm的wheel文件才支持到python3.7。尝试直接使用apt安装,但是发现apt无法安装相对较老的python版本(也许用apt把python3.9删除之后可以通过apt来安装python3.7,但是我没有尝试这样) 所以又参照: Linux下安装Python3.6和第三方库 本地编译安装了python3.7
python3.7安装完成之后发现pip命令没有更新,需要重新建立软链接:
sudo rm /usr/bin/pip
sudo ln -s /usr/local/python3/bin/pip3.7 /usr/bin/pip3.7
sudo ln -s /usr/bin/pip3.7 /usr/bin/pip
实际上tensorflow官方提供了在树莓派上编译的方法,比较复杂,以后会进行尝试,本次为了方便就使用了现成的wheel文件
树莓派无法从github上下载wheel文件,所以在本地下载之后通过ftp传给树莓派: 在windows与树莓派之间进行文件传输(vnc viewer不可用的情况)
之后就利用pip安装tensorflow即可:
pip install tensorflow-2.4.0-cp37-none-linux_armv7l.whl
使用pip时发现pip报错,主要是编译安装python3.7时遗留下来的问题,然后自己通过在/usr/bin中重新建立pip的软链接,解决了问题; 期间还遇到了报错: Command ‘(‘lsb_release’, ‘-a’)’ returned non-zero exit status 1. 直接将/usr/bin/下的lsb_release删除即可(当然为了保险,先用mv把lsb_release移走试试)
最后跑代码时出现了: AttributeError: module ‘tensorflow.keras.utils’ has no attribute ‘image_dataset_from_directory’ 我的解决方法: AttributeError: module ‘tensorflow.keras.utils‘ has no attribute image_dataset_from_directory——解决方法
参考: 树莓派上如何安装 tensorflow 搭建深度学习环境 https://github.com/lhelontra/tensorflow-on-arm/releases
|