當前位置:
首頁 > 最新 > TensorFlow入門,零基礎到精通只需3分鐘!

TensorFlow入門,零基礎到精通只需3分鐘!

TensorFlow是Google的開源深度學習庫,你可以使用這個框架以及Python編程語言,構建大量基於機器學習的應用程序。而且還有很多人把TensorFlow構建的應用程序或者其他框架,開源發布到GitHub上。2015年11月9日,Google正式發布並開源TensorFlow,目前官方正式版本為TensorFlow 1.2。下面這段視頻,是當年TensorFlow剛發布時,Google發布的一個官方介紹短片,Jeff Dean等出鏡講述。

入門項目:圖像分類/物體識別

圖像分類,也就是訓練系統識別貓貓狗狗,或者車道、海灘、天際線等場景。計算機視覺是一個範圍巨大的領域,從面部識別到情感識別,甚至可以進行視覺氣體泄漏檢測。雖然實現流程各異,但底層系統是相通的。

GIF

有作者創建了一個TensorFlow GitHub庫,其中包括兩個相互關聯的部分。第一部分:能夠識別1000個對象的TensorFlow圖像分類器。第二部分:創建並訓練一個全新的圖像分類器。

Google的TensorFlow圖像識別系統是目前最準確的圖像分類軟體。所謂圖像識別,就是對圖片中的內容進行識別,然而這並非對任意圖片都能識別。

只有被訓練過的對象,系統才能識別。例如,我們用三個類型訓練分類器:貓、狗和牛。三個分類器只能識別相應類別中的一個。如果給出一張駱駝的圖片會怎樣?圖片仍會通過一個分類器,但是置信率會非常的低。

如何快速創建一個TensorFlow圖像分類器?只需要簡單的三步。當然前提是你已經裝好了TensorFlow,而且懂編程、會用Python。

GIF

第一步:下載

下載預訓練的模型、圖片和腳本。使用如下命令即可。

git clone https://github.com/akshaypai/tfClassifiercd tfClassifier

第二步:運行腳本找到最佳預測

給定一個圖片,運行腳本來進行分類。默認情況下,會顯示最佳預測。

Python classifier.py --image_file file_path_to_image

為了獲得top n分類,可以使用如下參數。

Python classifier.py --image_file file_path_to_image --num_top_predictions number_of_top_results

示例:比方我們給出這樣一張圖片。

python classifier.py --image_file ~/Pictures/fruit.jpgpomegranate (score = 0.98216)

分類器表示:這是石榴,準確率98%。

第三步:運行腳本獲得top n識別分類

現在我們嘗試給出一個具有更多屬性的圖像,如下圖的房子。

python classifier.py --image_file ~/Pictures/house.jpg --num_top_predictions 5picket fence, paling (score = 0.95750)worm fence, snake fence, snake-rail fence, Virginia fence (score = 0.03615)beacon, lighthouse, beacon light, pharos (score = 0.00018)boathouse (score = 0.00013)patio, terrace (score = 0.00007)

從上面的結果可以看出,分類器以95%的可能性預測圖片中有一個柵欄,另外分類器還發現了其他圍欄、庭院、露台等。

到此為止,你已經學到如何設置TensorFlow圖像識別系統。雖然,這個系統被限制在預訓練模型的幾個分類器之間。

那麼我們接下來看看第二部分,如何增加一些新的分類器。

也是三個步驟。

第一步:下載預訓練模型以及所需腳本

我已經把全部所需的文件整合進一個git倉庫里。使用下面的命令可以下載。

git clone https://github.com/akshaypai/tfClassifiercd tfClassifier

第二步:設置圖像文件夾

這個步驟用於設置文件夾結構,以便數據流圖可以簡單地拾取分類。假設,你想重新訓練五種新的花朵分類器:玫瑰、鬱金香、蒲公英、五月花和萬壽菊,那麼需要如下的三個步驟來創建相應的文件夾結構:

1、為每種花型創建一個文件夾,文件夾的名稱就是類型的名稱

2、將花的所有圖像添加到各自的文件夾中,所有的玫瑰放入玫瑰花文件夾

3、將所有的文件夾,添加到一個父文件夾中,可以命名為:花

然後我們就得到如下的結構:

~/flowers~/flowers/roses/img1.jpg~/flowers/roses/img2.jpg...~/flowers/tulips/tulips_img1.jpg~/flowers/tulips/tulips_img2.jpg~/flowers/tulips/tulips_img3.jpg...

這樣,文件夾結構已經OK了。

第三步:運行預訓練腳本

使用如下命令運行腳本。

python retrain.py --model_dir ./inception --image_dir ~/flowers --output_graph ./output --how_many_training_steps 500

部分命令行參數:

-model_dir這個參數給出了預訓練模型的位置。

-image_dir在步驟二中創建的文件夾路徑

-output_graph存儲新訓練圖的位置

-how_many_training_steps這代表要執行的迭代次數,默認為4000

以上就是如何重新訓練一個TensorFlow Inception模型。一旦你有了模型,就能開始用來進行分類處理。那麼如何來動手實踐一下自己的掌握程度呢?可以試試谷歌的AIY視覺套件——AIY Vision Kit。

GIF

AIY Vision Kit 是AIY Projects的第二個產品。谷歌AIY Vision Kit(視覺套件)可以處理圖像識別和計算機視覺, 支持離線識別上千種常見物體(動物、植物)以及人臉、面部表情等。AIY Vision Kit包括紙板外殼、按鈕、揚聲器、以及Raspberry Pi Zero WH,Raspberry Pi 相機,SD卡等等。這款酷炫的盒子套件的計算機視覺功能均由附帶的Vision Bonnet板控制。

VisionBonnet板是該項目的核心,採用Intel Movidius MA2450晶元。 這種低功率視覺處理單元能夠運行神經網路模型來識別物體。

附帶的軟體運行三個基於TensorFlow的神經網路。 其中一個基於谷歌的MobileNets平台,能夠識別超過1,000個日常物品。 第二個可以在圖像中發現面部和表情。 最後一個是專門用於識別貓,狗和人的神經網路。 Google還為AIY Vision創建了一個工具,允許您使用TensorFlow訓練新模型。 該套件支持Python API以進行基本更改,例如更改按鈕LED的顏色,調整揚聲器音量等。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 引力空間站 的精彩文章:

與谷歌AI玩你畫我猜,根本停不下來!
Google I/O 大會上的 Android Things 亮點匯總

TAG:引力空間站 |