TensorFlow是Google的神經(jīng)網(wǎng)絡(luò)庫(kù)。鑒于機(jī)器學(xué)習(xí)是當(dāng)前最熱門的事情,因此Google成為這項(xiàng)新技術(shù)的領(lǐng)導(dǎo)者就不足為奇了。
在本文中,您將學(xué)習(xí)如何在Raspberry Pi上安裝TensorFlow,以及在預(yù)先訓(xùn)練的神經(jīng)網(wǎng)絡(luò)上運(yùn)行簡(jiǎn)單的圖像分類。
入門
要開始圖像識(shí)別,您將需要Raspberry Pi(任何模型都可以使用)和SD帶有Raspbian Stretch(9.0+)操作系統(tǒng)的存儲(chǔ)卡(如果您不熟悉Raspberry Pi,請(qǐng)使用我們的安裝指南)。
啟動(dòng)Pi并打開終端窗口。確保您的Pi是最新的,并檢查您的Python版本。
sudo apt-get update
python --version
python3 --version
您可以在本教程中同時(shí)使用Python 2.7或Python 3.4+。此示例適用于Python3。對(duì)于Python 2.7,在整個(gè)過(guò)程中,將 Python3 替換為 Python ,并將 pip3 替換為 pip 教程。
Pip是Python的軟件包管理器,通常在Linux發(fā)行版中作為標(biāo)準(zhǔn)安裝。
如果沒(méi)有,請(qǐng)按照此處的Linux安裝說(shuō)明進(jìn)行操作。
安裝TensorFlow
安裝TensorFlow過(guò)去是一個(gè)令人沮喪的過(guò)程,但是最近的更新使其變得異常簡(jiǎn)單。雖然您可以在沒(méi)有任何先驗(yàn)知識(shí)的情況下閱讀本教程,但是在嘗試之前,可能值得了解機(jī)器學(xué)習(xí)的基礎(chǔ)。
在安裝TensorFlow之前,請(qǐng)安裝 Atlas 庫(kù)。
sudo apt install libatlas-base-dev
完成后,通過(guò)pip3安裝TensorFlow
pip3 install --user tensorflow
這將為登錄用戶安裝TensorFlow。如果您更喜歡使用虛擬環(huán)境,請(qǐng)?jiān)诖颂幮薷拇a以反映這一點(diǎn)。
測(cè)試TensorFlow
一旦安裝,您就可以測(cè)試它是否與TensorFlow等效。 你好,世界!
在命令行中,使用 nano 或 vim 創(chuàng)建新的Python腳本(如果不是, (不確定使用哪一種,它們都有優(yōu)勢(shì)),并給它起一個(gè)易于記憶的名稱。
sudo nano tftest.py
輸入以下由Google提供的用于測(cè)試TensorFlow的代碼:
import tensorflow as tf
hello = tf.constant(‘Hello, TensorFlow!’)
sess = tf.Session()
print(sess.run(hello))
如果您使用的是nano,請(qǐng)?jiān)诔霈F(xiàn)提示時(shí)按 Ctrl + X 退出并通過(guò)鍵入 Y 保存文件。
從終端運(yùn)行代碼:
python3 tftest.py
您應(yīng)該看到打印的“ Hello,TensorFlow”。
如果運(yùn)行Python 3.5,您將收到幾個(gè)運(yùn)行時(shí)警告。 TensorFlow官方教程承認(rèn)發(fā)生了這種情況,建議您忽略它。
它有效!現(xiàn)在,使用TensorFlow做一些有趣的事情。
安裝圖像分類器
在終端中,在您的主目錄中為該項(xiàng)目創(chuàng)建一個(gè)目錄,并導(dǎo)航至該目錄。
mkdir tf1
cd tf1
TensorFlow有一個(gè)git存儲(chǔ)庫(kù),其中包含示例模型供您試用。將存儲(chǔ)庫(kù)克隆到新目錄中:
git clone https://github.com/tensorflow/models.git
您要使用圖像分類示例,可以在 models/tutorials/image/imagenet 中找到該示例。強(qiáng)》。立即導(dǎo)航到該文件夾:
cd models/tutorials/image/imagenet
標(biāo)準(zhǔn)圖像分類腳本與提供的熊貓圖像一起運(yùn)行:
要使用提供的熊貓圖像運(yùn)行標(biāo)準(zhǔn)圖像分類器,請(qǐng)輸入:
python3 classify_image.py
這會(huì)將熊貓圖像饋送到神經(jīng)網(wǎng)絡(luò),該神經(jīng)網(wǎng)絡(luò)返回猜測(cè)值關(guān)于圖像的確定性值。
如輸出圖像所示,神經(jīng)網(wǎng)絡(luò)正確猜出了幾乎90%的確定性。它還認(rèn)為該圖像可能包含一個(gè)南美番荔枝,但對(duì)這個(gè)答案并不十分自信。
使用自定義圖像
熊貓圖像證明TensorFlow可以工作,但這就是考慮到這是該項(xiàng)目提供的示例,也許不足為奇。為了進(jìn)行更好的測(cè)試,您可以將自己的圖像提供給神經(jīng)網(wǎng)絡(luò)進(jìn)行分類。
在這種情況下,您將看到TensorFlow神經(jīng)網(wǎng)絡(luò)是否可以識(shí)別George。
遇到喬治。喬治是恐龍。要將此圖像(此處以裁剪的形式提供)輸入神經(jīng)網(wǎng)絡(luò),請(qǐng)?jiān)谶\(yùn)行腳本時(shí)添加參數(shù)。
python3 classify_image.py --image_file=/home/pi/george.jpg
image_file = 腳本名稱允許按路徑添加任何圖像。讓我們看看這個(gè)神經(jīng)網(wǎng)絡(luò)是怎么做的。
不錯(cuò)!雖然George不是三角恐龍,但與其他選項(xiàng)相比,神經(jīng)網(wǎng)絡(luò)將圖像分類為具有高度確定性的恐龍。
TensorFlow和Raspberry Pi,準(zhǔn)備就緒
TensorFlow的這種基本實(shí)現(xiàn)已經(jīng)具有潛力。該對(duì)象識(shí)別發(fā)生在Pi上,不需要互聯(lián)網(wǎng)連接即可運(yùn)行。這意味著,通過(guò)添加Raspberry Pi攝像頭模塊和適用于Raspberry Pi的電池單元,整個(gè)項(xiàng)目可以變得可移植。
大多數(shù)教程只涉及主題的表面,但從未如此。比這種情況更真實(shí)。機(jī)器學(xué)習(xí)是一門令人難以置信的密集學(xué)科。
責(zé)任編輯:wv
-
樹莓派
+關(guān)注
關(guān)注
117文章
1710瀏覽量
105747 -
tensorflow
+關(guān)注
關(guān)注
13文章
329瀏覽量
60558
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論