一开始觉得配置树莓派应该和电脑上差不多,先安装anaconda然后在里面建立tensorflow环境,但这过程比我想的艰难多。下面给出我尝试的三种配置tensoflow的方法,前两种失败了,最后一种成功。(前两种虽然失败但这里也记录一下)
首先要确定我们树莓派的架构,输入uname -a ,可以看到我们是armv7架构。

pi@raspberrypi:~ $ uname -a
Linux raspberrypi 5.10.17-v7l+ #1403 SMP Mon Feb 22 11:33:35 GMT 2021 armv7l GNU/Linux

方法一:miniconda法
先安装miniconda,然后在miniconda里面配置tensorflow环境
根据我的armv7架构去这个清华镜像网站选择对应你操作系统的版本下载nimiconda:
我的对应的版本是:
在这里插入图片描述
于是复制链接然后在终端下载:

wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda-latest-Linux-armv7l.sh

下载完后如果文件在home/pi/Download里,那就cd Download下面,我的就在home/pi下所以直接安装:

pi@raspberrypi:~ $  sudo bash Miniconda3-latest-Linux-armv7l.sh

enter
yes
就安装成功了。
 
添加环境:
sudo nano /home/pi/.bashrc # -> add: export PATH="/home/pi/miniconda3/bin:$PATH"
然后
ctrl+x

安装完成,测试一下(重启后测试):

conda -V

会显示miniconda版本
或者输入:

python

会显示python3.4
到这里miniconda就安装完成了,现在就是去寻找我的armv7对应的tensorflow版本了。各种版本下载地址:

https://github.com/lhelontra/tensorflow-on-arm/releases

在这里插入图片描述

里面有tensorflow1.0~2.4.0之间的版本,但armv7架构的tensorflow2.0以上只支持python3.5或者python3.7(cp35,cp37表示需要python3.5,python3.7),而我们安装的miniconda只能提供最高python3.4版本,所以minconda方法安装失败。也就是说我需要能提供python3.5,或者python3.7的环境,后面的方法2对应提供python3.5,方法3对应提供python3.7

方法2 berryconda法

berryconda 是一款为树莓派定制基于 conda python 发行版的开源软件。我们可以使用它来实现类似 Miniconda 和 Anaconda 的功能。

berryconda 提供了 python2.7 的 Berryconda2 和 python 3.6 的 Berryconda3,同时还支持 树莓派 0 1 2 3各个系列,我们可以根据自己的树莓派版本选择适合的版本安装即可。具体步骤:
下载

wget https://github.com/jjhelmus/berryconda/releases/download/v2.0.0/Berryconda3-2.0.0-Linux-armv7l.sh

安装

bash Berryconda3-2.0.0-Linux-armv7l.sh

安装过程中不需要使用 sudo,程序默认会安装到 /home/pi/berryconda3 中。在安装脚本程序的最后一步,输入 yes,脚本会自动将路径添加到 .bashrc 中。

安装完成后,可以升级一下conda,操作如下:

conda update conda

完成后可以查看以下 conda 的版本:

conda --version
>> conda 4.3.29

下面就可以通过conda来创建tensorflow环境了,具体步骤:
创建名为tensorflow的python=3.5的环境

conda create --name tensorflow python=3.5

然后下载tensorflow,各版本下载地址:
https://github.com/lhelontra/tensorflow-on-arm/releases

我的armv7支持的tensorflow2.4.0 对应python3.5的地址:

https://github.com/lhelontra/tensorflow-on-arm/releases/download/v2.4.0/tensorflow-2.4.0-cp35-none-linux_armv7l.whl`在这里插入代码片`

先激活创建的tensorflow环境:

conda activate tensorflow

下载

wget https://github.com/lhelontra/tensorflow-on-arm/releases/download/v2.4.0/tensorflow-2.4.0-cp35-none-linux_armv7l.whl

安装(安装前先升级一下pip:python -m install --upgrade pip)

pip install tensorflow-2.4.0-cp37-none-linux_armv7l.whl

然后就发现有几个包安装不了导致tensorflow2.4.0安装失败,于是我尝试安装armv7支持的tensorflow 对应python3.5的其他版本…然后发现老是有几个包安装失败,导致tensorflow安装失败,绝望了已经(可能的原因是python3.5已经不维护,现在就只能指望tensorflow对应python3.7版本可以安装了,但barryconda最高只支持到python3.6,所以只能换方法)

方法3 virtualenv和virtualenvwrapper法
通过这连个软件来创建tensorflow所需的python3.7环境。

安装virtualenv和virtualenvwrapper

sudo apt-get install virtualenv
sudo apt-get install virtualenvwrapper

配置virtualenvwrapper

sudo nano ~/.bashrc

将以下命令行加入到加入到~/.bashrc的最后

#export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
export WORKON_HOME=$HOME/.virtualenvs
source /usr/share/virtualenvwrapper/virtualenvwrapper.sh

输入命令运行

source ~/.bashrc

创建虚拟环境(创建在home/pi下名为tensorflow)

virtualenv -p /usr/bin/python3.7 tensorflow

开启虚拟环境

source /home/pi/tensorflow/bin/activate

以后可能用到的指令
退出虚拟环境

deactivate

删除环境:

rmvirtualenv 环境名`)

进入到激活后的tensorflow环境(以下所以步骤(黑底代码)都是在激活后的tensorflow下完成)
在这里插入图片描述
然后在下面这个地址里找到armv7支持的tensorflow2.4.0及对应的python3.7版本

https://github.com/lhelontra/tensorflow-on-arm/releases

下载我需要的版本

wget https://github.com/lhelontra/tensorflow-on-arm/releases/download/v2.4.0/tensorflow-2.4.0-cp37-none-linux_armv7l.whl

安装(安装前先升级pip: python -m install --upgrade pip)

pip install tensorflow-2.4.0-cp37-none-linux_armv7l.whl

测试

python
import tensorflow as tf
不报错

安装完成后需要替换及继续安装一些所需要的包
安装numpy==1.19.2 tensorflow2.4.0支持这个版本,所以环境例numpy版本不对的话就卸载重装指令如下:

pip numpy==1.19.2

这个环境里对应的scipy版本为3.6(我开始安装的3.7.3会与numpy冲突导致没有)

pip install scipy==3.6

如果会用到PIL 里面的Image,不是安装PIL(python2是安装这个)要安装pillow

pip install pillow

我安装后的版本是pillow9.0,实测有用,用法是

from PIL import Image

参考文章:
https://blog.csdn.net/qq_43629743/article/details/105408164
https://blog.csdn.net/weixin_39759247/article/details/107055215
https://www.jianshu.com/p/ccad38dbb897
https://blog.csdn.net/weixin_51331359/article/details/119489940

Logo

更多推荐