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

【前言】

  虽然树莓派的速度不如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下载地址

树莓派4B安装Tensorflow(Python3.5和3.7下分别进行安装)_第1张图片

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

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

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

树莓派4B安装Tensorflow(Python3.5和3.7下分别进行安装)_第2张图片

  2.安装tensorflow

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

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的一个依赖

sudo apt install libatlas-base-dev

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

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

sudo pip3 uninstall tensorflow

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

#后面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

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

树莓派4B安装Tensorflow(Python3.5和3.7下分别进行安装)_第3张图片

  3.测试tensorflow

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

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

  可以看到,能够成功调用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,会麻烦一些。

sudo apt-get install python3.5

   安装pip3: 

sudo apt-get install python3-pip

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

pip3 install --upgrade pip

2.更换python3的链接

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

sudo rm /usr/bin/python3

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

sudo ln -s /usr/bin/python3.5 /usr/bin/python3

(3)查看当前版本

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.有的朋友在安装的时候会遇到下载速度很慢最后停止报错,如下图:

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

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

树莓派4B安装Tensorflow(Python3.5和3.7下分别进行安装)_第6张图片

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

树莓派4B安装Tensorflow(Python3.5和3.7下分别进行安装)_第7张图片

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

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

 

你可能感兴趣的:(关于安装,嵌入式)