==前言==:本人现在也是一头雾水,忙活了一天终于把环境装好了,闲来无事,突发奇想,总结一下经验,让后人少走弯路
T-T

1.树莓派的相关准备

  1. 已经装完系统的树莓派一个,本人用的官方2017-09-07-raspbian-stretchsd卡最好16G以上,网速较好
  2. 为了方便最好把树莓派连上显示屏,没有的可以用Windows自带远程桌面连接【具体方法请看从零(一)】
  3. ==你要有一个github账号,大神必备==

2.开始安装

  1. **tensorflow的安装共有两种方法**
  2. 1pip 法,抱着SamAbrahams的大腿就是好,不过烦心事也不少,本人采用的就是这种方法;
  3. 2)源代码安装法
  4. 这种方法比较难,下面连接里有英文的介绍,不过听过来人一句劝,还是用pip吧。
  5. [大佬的git](https://github.com/samjabrahams/tensorflow-on-raspberry-pi)
  6. 【大佬的github如果本文没解决你的问题可以从这里寻找灵感,不过是纯英文的哦(⊙o⊙)?】

==pip法==(版本号根据情况自己改)

1)首先安装tensorflow需要的一些依赖和工具。
  1. sudo apt-get update
  2. # For Python 2.7
  3. sudo apt-get install python-pip python-dev
  4. # For Python 3.3+
  5. sudo apt-get install python3-pip python3-dev

2)下载安装tensorflow,注意,划重点了

方法一:
  1. wget https://github.com/samjabrahams/tensorflow-on-raspberry-pi/releases/download/v1.1.0/tensorflow-1.1.0-cp27-none-linux_armv7l.whl
  2. sudo pip install tensorflow-1.1.0-cp27-none-linux_armv7l.whl
  3. wget https://github.com/samjabrahams/tensorflow-on-raspberry-pi/releases/download/v1.1.0/tensorflow-1.1.0-cp34-cp34m-linux_armv7l.whl
  4. sudo pip3 install tensorflow-1.1.0-cp34-cp34m-linux_armv7l.whl

尝试以下,如果你的网够好,或者会翻墙,那么你就轻松不少,下面一大段都可以跳过去了(好羡慕ToT),如果你发现自己下载失败,就可以尝试一下下面的歪门邪道了。

方法二:(我才没有幸灾乐祸?雾)

首先复制这个网址,就是上面的下载地址

  1. https://github.com/samjabrahams/tensorflow-on-raspberry-pi/releases/download/v1.1.0/tensorflow-1.1.0-cp27-none-linux_armv7l.whl

你可以先尝试用浏览器下载,如果失败,那就把网址用手机浏览器打开,我用的百度浏览器,访问该地址自动下载,转眼间下好,再把文件发送给电脑。如果这也失败,出门右转,不送:)。这是无意间找到的邪道,没想到还挺好用。

==接下来==,便是把下载的文件【tensorflow-1.1.0-cp27-none-linux_armv7l.whl】发送给树莓派,我是用的是Filezilla软件,安利一下。使用方法很简单,不会就百度一下。把文件随便放在一个地方,然后安装,方法同上。

  1. sudo pip install tensorflow-1.1.0-cp27-none-linux_armv7l.whl

如果你成功了,那么恭喜你,你离成功又进了一步,如果失败那么就无能为力了TT。

3)卸载,重装mock,我也不知道为什么,不过照着做准没错。
  1. sudo pip uninstall mock
  2. sudo pip install mock
  3. sudo pip3 uninstall mock
  4. sudo pip3 install mock

4)来一个小测试,识别国宝大熊猫

我们可以查看Tensorflow的文件目录:/usr/local/lib/python2.7/dist-packages/tensorflow,在该目录的models/image/imagenet目录下,存放了用于图像识别的代码classify_image.py。

==问题又来了==

如果你和我安装的一样是tensorflowv1.1.0,你会发现你没有models,更别说classify_image.py了。因为1.0版本以后models就被SamAbrahams大佬独立出来了,不在放在一个压缩包里了,那我们去哪找呢? 当然是大佬的git了
link,classify_image.py就在models/tutorials/image/imagenet/里。抱歉不知道怎样下载git里的单个文件,也为了以防万一,我把整个models都clone()到了自己的电脑里,然后用filezilla传到树莓派上。

完成上面的准备工作后,我们就可以进入下一个步骤。
首先我们在/home/pi目录下建立一个目录用于测试,如tensorflow_test。
然后,我们在该目录/home/pi/tensorflow_test下使用python来运行该代码:
python /usr/local/lib/python2.7/dist-packages/tensorflow/models/image/imagenet/classify_image.py。
执行上述指令下,程序自动下载Tensorflow深度学习图像识别库:inception-2015-12-05.tgz。另外,也可以手动下载该图像识别库文件:
wget http://download.tensorflow.org/models/image/imagenet/inception-2015-12-05.tgz
最后,我们用指令tar解压该图像识别库:tar xf inception-2015-12-05.tgz。解压后,可以看到目录下存放了一张实例图片cropped_panda.jpg。识别它。

  1. python /usr/local/lib/python2.7/dist-packages/tensorflow/models/image/imagenet/classify_image.py –-image_file cropped_panda.jpg

其中,–image_file 后是待识别的图片的路径。
回车,等待几秒钟,显示:

  1. giant panda, panda, panda bear, coon bear, Ailuropoda melanoleuca (score = 0.89107)
  2. indri, indris, Indri indri, Indri brevicaudatus (score = 0.00779)
  3. lesser panda, red panda, panda, bear cat, cat bear, Ailurus fulgens (score = 0.00296)
  4. custard apple (score = 0.00147)
  5. earthstar (score = 0.00117)

该识别的结果:图片是大熊猫的概率是89%
图片是大弧猴的概率是0.7%

  1. == !!! 成功了!!!==

再见,希望本文对你有所帮助。