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

树莓派4B安装Tensorflow(Python3.5和3.7下分别进行安装)【前言】虽然树莓派的速度不如PC,但是它功耗小、价格便宜,很多同学都用来学习机器学习的相关课程,而且tensorflow官方是支持树莓派,我们可以直接在树莓派上进行学习。网上的现在树莓派已经发布4B,新版本的rasbian系统全面采用了python3.7,但是网上大多数教程还是基于树莓派3的,使用python3.5进行安装。我使用的是树莓派4B和2019-06-20-raspb…

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

【前言】

  虽然树莓派的速度不如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图和曲线图。

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

 


【正式安装】

  一、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)中间的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.安装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.测试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下分别进行安装)

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

  可以看到,能够成功调用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下分别进行安装)

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

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

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

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

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

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

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

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • win7下虚拟显示器完成记(virtual monitor)——VDI显卡透传场景「建议收藏」

    win7下虚拟显示器完成记(virtual monitor)——VDI显卡透传场景「建议收藏」背景本次使用wddm过滤驱动的应用场景是VDIGPU透传场景,我这边运用WDDM过滤驱动,也有人叫wddmhook,主要有如下功能:(1)给透传显卡虚拟出一个显示器,因为透传显卡都是插在服务器上,一台服务器需要插十几张显卡(消费级显卡),不可能给每个显卡插一个显示器,不插显示器又会存在分辨率无法设置,分辨率过低的问题,为此需要自己虚拟一个显示器“插”在透传显卡上。(2)我们VDI使…

  • mysql时区设置_oracle数据库时区设置

    mysql时区设置_oracle数据库时区设置方法一:通过mysql命令行模式下动态修改1.1查看mysql当前时间,当前时区>selectcurtime(); #或selectnow()也可以+———–+|curtime()|+———–+|15:18:10|+———–+>showvariableslike"%time_zone%";+————–…

    2022年10月23日
  • 细说php读书笔记_细说php自测题

    细说php读书笔记_细说php自测题今天我们来读这本书是兄弟连出版社出版的《细说PHP》,买它的原因是,我的PHP是跟着网上视频自学的。后来第一份工作是使用早些年流行的PHPCMS开发。phpcms并不是一款产品,它是一系列产品,当时市场对于cms这个概念其实不是太严谨,因为除了phpcms、dedecms、连discuz、ecshop也都被归类进去了。哦,还有帝国cms,它出品的火车头采集器当时可以说相当好用,后来因为工作需求,就自己写采集器了。正式因为这些cms系统的出现,再加上php语言本身易学易入门的特…

    2022年10月30日
  • Webserver管理系列:11、注意默认的隐含共享

    Webserver管理系列:11、注意默认的隐含共享

  • 查看服务器的外网地址[通俗易懂]

    查看服务器的外网地址[通俗易懂]服务器上执行以下命令:curlmembers.3322.org/dyndns/getip转载于:https://blog.51cto.com/zhenfen/2106824

  • python-opencv2利用cv2.findContours()函数来查找检测物体的轮廓

    python-opencv2利用cv2.findContours()函数来查找检测物体的轮廓转自http://blog.csdn.net/sunny2038/article/details/12889059相比C++而言,Python适合做原型。本系列的文章介绍如何在python中用OpenCV图形库,以及与C++调用相应opencv函数的不同之处。这篇文章介绍在Python中使用OpenCV检测并绘制轮廓。提示:转载请详细注明原作者及出处,谢谢! 本文介绍在OpenCV…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号