前言
笔者之前在自己的笔记本(ubuntu系统)上已经安装过一次tensorflow了,之前笔记本上的python版本是2.7的,而最新树莓派自带系统是预装了python2.7和python3.5的。
题外:关于2.7和3.5版本各有利弊,2.7经典版本,基于它的现成资源积累的更多,然而2.7在2020年就要停止维护了(详见https://www.python.org/dev/peps/pep-0373/),因此有些新的资源直接就只有基于3.5版本的了。
tensorflow安装
github上有国外友人制作的现成教程(详见https://github.com/samjabrahams/tensorflow-on-raspberry-pi),指引如何在树莓派安装tensorflow。
我们这里就按照上面的方法进行安装,以结果为导向,站在前人的肩膀上,能够省去很多麻烦。
这个教程对应的树莓派版本相对较低,python3是3.4版本的,而我们这边是3.5的,因此我们先选择安装基于python2.7版本的安装版tensorflow(也就是帮我们编译打包好的版本,就像安装一个应用那么简单)。
- 找一下最新的版本:
https://github.com/samjabrahams/tensorflow-on-raspberry-pi/releases - 下载:
wget https://github.com/samjabrahams/tensorflow-on-raspberry-pi/releases/download/v1.1.0/tensorflow-1.1.0-cp27-none-linux_armv7l.whl
- 安装:
sudo pip install tensorflow-1.1.0-cp27-none-linux_armv7l.whl
从安装过程日志可以看到期间下载安装了一些依赖包,funcsigs, pbr, mock, protobuf
yinan@raspberrypi:~/install/tensorflow $ sudo pip install tensorflow-1.1.0-cp27-none-linux_armv7l.whl
Processing ./tensorflow-1.1.0-cp27-none-linux_armv7l.whl
Requirement already satisfied: werkzeug>=0.11.10 in /usr/lib/python2.7/dist-packages (from tensorflow==1.1.0)
Requirement already satisfied: six>=1.10.0 in /usr/lib/python2.7/dist-packages (from tensorflow==1.1.0)
Requirement already satisfied: wheel in /usr/lib/python2.7/dist-packages (from tensorflow==1.1.0)
Collecting mock>=2.0.0 (from tensorflow==1.1.0)
Downloading mock-2.0.0-py2.py3-none-any.whl (56kB)
100% |████████████████████████████████| 61kB 261kB/s
Requirement already satisfied: numpy>=1.11.0 in /usr/lib/python2.7/dist-packages (from tensorflow==1.1.0)
Collecting protobuf>=3.2.0 (from tensorflow==1.1.0)
Downloading protobuf-3.5.2.post1-py2.py3-none-any.whl (388kB)
100% |████████████████████████████████| 389kB 425kB/s
Collecting funcsigs>=1; python_version < "3.3" (from mock>=2.0.0->tensorflow==1.1.0)
Downloading funcsigs-1.0.2-py2.py3-none-any.whl
Collecting pbr>=0.11 (from mock>=2.0.0->tensorflow==1.1.0)
Downloading pbr-3.1.1-py2.py3-none-any.whl (99kB)
100% |████████████████████████████████| 102kB 1.6MB/s
Requirement already satisfied: setuptools in /usr/lib/python2.7/dist-packages (from protobuf>=3.2.0->tensorflow==1.1.0)
Installing collected packages: funcsigs, pbr, mock, protobuf, tensorflow
Successfully installed funcsigs-1.0.2 mock-2.0.0 pbr-3.1.1 protobuf-3.5.2.post1 tensorflow-1.1.0
- 验证一下:
yinan@raspberrypi:~/install/tensorflow $ python
Python 2.7.13 (default, Nov 24 2017, 17:33:09)
[GCC 6.3.0 20170516] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow
>>>
没有错误说明安装完毕,接下来安装python版本的opencv,用于进行一些图像方面的处理,方便给tensorflow喂数据。