树莓派4B安装Tensorflow(Python3.5和3.7下分别进行安装)

2022-09-05 09:53:03 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

【前言】

虽然树莓派的速度不如PC,但是它功耗小、价格便宜,很多同学都用来学习机器学习的相关课程,而且tensorflow官方是支持树莓派,我们可以直接在树莓派上进行学习。

网上的现在树莓派已经发布4B,新版本的rasbian系统全面采用了python3.7,但是网上大多数教程还是基于树莓派3的,使用python3.5进行安装。 我使用的是树莓派4B和2019-06-20-raspbian-buster系统版本, 尝试安装3.5和3.7两个Python环境下的tensorflow。

【tensorflow使用示例】

这是在树莓派中安装好tensorflow并使用训练好的VGG19模型进行风格转换的一个程序,并生成损失值得3D图和曲线图。


【正式安装】

一、python3.7 tensorflow

这种方式不用更改python版本,可以直接安装,出的问题比较少,因为更改为python3.5版本进行安装时往往会出现其他依赖的版本高低问题,没有特殊要求推荐这种安装方式。

1.更改下载源为国内源。如果有没更改的先移步这里更改下,提高下载速度。换源方法

我是直接在windows中下载tensorflow安装包,然后放到树莓派中,可以通过GitHub下载,也可以通过piwheels下载官方安装包,可以比较下, 基本上没什么差别,不过piwheels中的安装包更全一些,对于1.13.1版本,Github中没有python3.7的版本,但是piwheels中有,这就比较有意思了。

(1)Github下载地址

(2)piwheels下载地址

下载的时候要注意下载对应的版本:

(1)中间的CPXX,代表python版本,选错了无法安装。例如python3.5,应该选择CP35,pytho2.7就选择CP27

(2)如果是pi1或者pizero(包括zerow),选择结尾是armv6l的;如果是树莓派2/3/4就选择结尾是armv7l.whl的。(可使用命令 uname -a 查看系统信息,如下图)

2.安装tensorflow

(1)首先安装tensorflow需要的一些依赖和工具

代码语言:javascript复制
sudo apt-get update

# For Python 2.X
sudo apt-get install python-pip python-dev
 
# For Python 3.X
sudo apt-get install python3-pip python3-dev

(2)解决numpy的一个依赖

代码语言:javascript复制
sudo apt install libatlas-base-dev

如果在安装过程中如果被打断,可以看一下具体是缺少了哪个包,然后手动安装上。

(3)若之前安装过其他tensorflow版本,需要先卸载

代码语言:javascript复制
sudo pip3 uninstall tensorflow

(4)进入tensorflow安装包路径下,进行安装

代码语言:javascript复制
#后面install的文件名按照自己下载的文件名来更改
# For Python 2.X
sudo pip install tensorflow-1.13.1-cp27-none-linux_armv7l.whl
 
# For Python 3.X
sudo pip3 install tensorflow-1.13.1-cp37-none-linux_armv7l.whl

如果顺利的话,等一会儿就能看到安装成功的提示了,如下图:

3.测试tensorflow

代码语言:javascript复制
#进入对应的python
python3
#在python3界面中输入以下代码
import tensorflow as tf
hello = tf.constant('Hello!')
sess = tf.Session()
print(sess.run(hello))

可以看到,能够成功调用tensorflow打印出“Hello!”,不过在python调用tensorflow的时候出现了一些WARNING,意思是有些方法已经被弃用了,不过没有提示错误的话也不用管,如果出现ERROR的话,那就说明该程序和当前的tensorflow版本不兼容,尤其是最新的2.0版本,有些方法已经改动了,查一下文档改下函数就行。


二、python3.5 tensorflow

如果需要python3.5的安装环境,也可以实现。

【注意】最好不要卸载系统系统自带的python3.7,因为有好多依赖会在卸载的时候一起卸载,到时候可能连系统也进不去了,在Ubuntu系统中是这样的,树莓派中我还没有试,不过python2.7应该可以卸载,现在基本不学python2了。

pip是python包的管理工具,通过它你可以很好的下载python包,注意python解释器版本不同对应的pip版本不同,如果你使用的是系统默认的python2.7的话,就要用pip安装。python3用pip3。

1.安装python3.5(会安装在/usr/local/lib路径下),这里直接进行安装,也可编译安装python,会麻烦一些。

代码语言:javascript复制
sudo apt-get install python3.5

安装pip3:

代码语言:javascript复制
sudo apt-get install python3-pip

如果版本过低,可以考虑升级pip3

代码语言:javascript复制
pip3 install --upgrade pip

2.更换python3的链接

(1)删除原有的python3 链接:

代码语言:javascript复制
sudo rm /usr/bin/python3

(2)建立指向Python3.5的链接

代码语言:javascript复制
sudo ln -s /usr/bin/python3.5 /usr/bin/python3

(3)查看当前版本

代码语言:javascript复制
python3 -V

也可以将python链接为python3.5

3.安装 tensorflow步骤和上面的相同

【补充】

1.完全卸载python,系统自带的python建议不要卸载,因为系统内的应用需要依赖该版本的python,可以卸载掉你多安装的python版本。

(1)卸载python3.5 sudo apt-get remove python3.5

(2)卸载python3.5及其依赖 sudo apt-get remove –auto-remove python3.5

(3)清除python3.5 sudo apt-get purge python3.5 or sudo apt-get purge –auto-remove python3.5

【问题&解决】

1.有的朋友在安装的时候会遇到下载速度很慢最后停止报错,如下图:

下载速度十几k,这种情况直接用下载软件或者浏览器下载,例如上图,直接浏览器打开https://www.piwheels.org/simple/grpcio/,然后下载对应的安装包,或者选择你要安装的包,如图:

下载好之后传到树莓派中,直接安装即可解决

再重新运行命令安装tensorflow,即可成功安装,如下图

为了复现问题,我重新烧了遍系统,希望能帮到你们,谢谢。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/135720.html原文链接:https://javaforall.cn

0 人点赞