0%

Tensorflow

Tensorflow一个强大的工具,安装过程很简单,但是还是踩了不少坑,这里仅作记录。

在树莓派上安装TensoFlow

环境描述

树莓派安装了2016.12月的jessie版本,并保证sudo apt-get update,后更新所有软件。

安装

按照官网的描述,Linux通过命令

1
2
3
$sudo pip install tensorflow (For python 2)

$sudo pip3 install tensorflow (For python 3)

第一个问题————pip版本过低

即可安装。遇到的第一个问题,是pip版本太低,可通过命令

1
2
3
$sudo pip install --upgrade pip
或者
$sudo pip3 install --upgrade pip

来安装TensorFlow,在输入以上命令之前,你可能需要先输入

1
2
3
$sudo apt-get install python-pip python-dev (For python 2)

$sudo apt-get install python3-pip python3-dev (For python 3)

来安装依赖包。

第二个问题————软件源

然后,是遇到的第二个问题,遇到错误提示————cannot fetch index base url https //pypi.python.org/simple/,这个错误完全是网络不通畅导致的,pip默认软件源是pypi.python.org,这个时候就需要更换国内的软件源。
在Linux中,更换软件源,需要在root用户的家目录下新建.pip文件夹,在该文件夹内新建文件pip.conf,其内容为

1
2
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple

或者也可以通过临时指定软件源

1
$sudo pip install tensorflow -i https://pypi.tuna.tsinghua.edu.cn

来进行安装。

第四个问题————软件源内没有相应软件包

以上所说,适用于X86平台的Linux,然而raspberry是ARM平台,国内的源似乎没有ARM平台的软件包,所以必须得指定软件包来安装了。
在Github上已经有人编译好了树莓派对应的tensorflow包,我在这里也备份了一下,下载文件tensorflow-1.1.0-cp27-none-linux_armv7l.whl,使用命令pip install tensorflow-1.1.0-cp27-none-linux_armv7l.whl就可以安装了,在rasperry上安装时间还是挺长的。
这里需要注意,tensorflow有其它的依赖包,所以最好先更换软件源,再进行安装,否则若是依赖包安装失败,tensorflow也没法装好。

验证安装

安装好之后,在终端输入python(若使用python3版本的pip安装的tensorflow,则需要输入python3)来进入,依次输入以下命令

一点点说明

  1. 在Windows和Linux上的安装都很方便,配置好软件源之后基本上没什么问题,树莓派因为软件源本身并不具备相应版本的TensorFlow,所以得手动下载相应的TensorFlow,在http://118.89.31.219/src/tensorflow/所留的软件包中,python3对应版本的无法安装,会提示不适用于此平台,目测要么是系统把硬件识别错了,要么就是包本身有问题;
  2. 在官方的验证示例中,python2和python3的示范结果不一样,python2的示范结果为Hello,TensorFlow,而python3的示范结果为b'Hello,TensorFlow'
  3. Windows平台只能通过python3安装TensorFlow,python3的print被当作一个函数了,与python2不一样,python3的printf后面需要加括号。

    生命重在折腾