從零開始:在樹莓派上構建tensorflow——詳細至極

==前言==:本人現在也是一頭霧水,忙活了一天終於把環境裝好了,閒來無事,突發奇想,總結一下經驗,讓後人少走彎路
T-T

1.樹莓派的相關準備

已經裝完系統的樹莓派一個,本人用的官方2017-09-07-raspbian-stretch,sd卡最好16G以上,網速較好
爲了方便最好把樹莓派連上顯示屏,沒有的可以用Windows自帶遠程桌面連接【具體方法請看從零(一)】
==你要有一個github賬號,大神必備==

2.開始安裝

 **tensorflow的安裝共有兩種方法**
 1)pip 法,抱着SamAbrahams的大腿就是好,不過煩心事也不少,本人採用的就是這種方法;
 2)源代碼安裝法
 這種方法比較難,下面連接裏有英文的介紹,不過聽過來人一句勸,還是用pip吧。
 [大佬的git](https://github.com/samjabrahams/tensorflow-on-raspberry-pi)
【大佬的github如果本文沒解決你的問題可以從這裏尋找靈感,不過是純英文的哦(⊙o⊙)?】

==pip法==(版本號根據情況自己改)

1)首先安裝tensorflow需要的一些依賴和工具。
sudo apt-get update

# For Python 2.7
sudo apt-get install python-pip python-dev

# For Python 3.3+
sudo apt-get install python3-pip python3-dev
2)下載安裝tensorflow,==注意,劃重點了==
方法一:
# For Python 2.7
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

# For Python 3.4
wget https://github.com/samjabrahams/tensorflow-on-raspberry-pi/releases/download/v1.1.0/tensorflow-1.1.0-cp34-cp34m-linux_armv7l.whl
sudo pip3 install tensorflow-1.1.0-cp34-cp34m-linux_armv7l.whl

嘗試以下,如果你的網夠好,或者會翻牆,那麼你就輕鬆不少,下面一大段都可以跳過去了(好羨慕ToT),如果你發現自己下載失敗,就可以嘗試一下下面的歪門邪道了。

方法二:(我纔沒有幸災樂禍?霧)

首先複製這個網址,就是上面的下載地址

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==軟件,安利一下。使用方法很簡單,不會就百度一下。把文件隨便放在一個地方,然後安裝,方法同上。

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

如果你成功了,那麼恭喜你,你離成功又進了一步,如果失敗那麼就無能爲力了TT。

3)卸載,重裝mock,我也不知道爲什麼,不過照着做準沒錯。
# For Python 2.7
sudo pip uninstall mock
sudo pip install mock

# For Python 3.3+
sudo pip3 uninstall mock
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。識別它。

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

其中,–image_file 後是待識別的圖片的路徑。
回車,等待幾秒鐘,顯示:

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

該識別的結果:圖片是==大熊貓的概率是89%==
圖片是大弧猴的概率是0.7%

          == !!! 成功了!!!==

再見,希望本文對你有所幫助。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章