日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

想嘗試搭建圖像識別系統(tǒng)?這里有一份TensorFlow速成教程

 timtxu 2017-05-31

李林 編譯整理

量子位 出品 | 公眾號 QbitAI

從我們見到的各種圖像識別軟件來看,機(jī)器似乎能認(rèn)出人臉、貓、狗、花草、各種汽車等等日常生活中出現(xiàn)的物體,但實(shí)際上,這有一個前提:你要用這些類別的圖像,對它進(jìn)行過訓(xùn)練。

確切地說,該叫它“圖像分類”。

建立一個圖像分類器并不復(fù)雜,技術(shù)博客Source Dexter上最近發(fā)表的一篇文章,介紹了該如何快速用TensorFlow實(shí)現(xiàn)圖像分類。

以下是量子位節(jié)選自這篇文章的內(nèi)容:

在進(jìn)入正題之前,我們先講一些基本概念。

圖像分類是怎樣實(shí)現(xiàn)的?

向一個訓(xùn)練過的系統(tǒng)輸入圖像,我們會得到一組概率值:每個訓(xùn)練過的類別都有一個,然后,系統(tǒng)會將圖像歸到概率最高的類。

比如說你訓(xùn)練了一個系統(tǒng),來識別貓和狗。當(dāng)你輸入一張圖像時,系統(tǒng)會輸出這張圖像屬于貓的概率和屬于狗的概率。

不過,這種分類器也有一個缺陷:如果你輸入一張蛇的圖片,它也只能判斷這張圖片包含貓的概率高,還是包含狗的概率高一點(diǎn)。

神經(jīng)網(wǎng)絡(luò)和深度神經(jīng)網(wǎng)絡(luò)

概括地說,神經(jīng)網(wǎng)絡(luò)是計算單元的連接,能夠從提供給它的一組數(shù)據(jù)中進(jìn)行學(xué)習(xí)。

把多層神經(jīng)網(wǎng)絡(luò)堆疊在一起,我們就得到了深度神經(jīng)網(wǎng)絡(luò)。建立、訓(xùn)練和運(yùn)行深度神經(jīng)網(wǎng)絡(luò)的過程,稱為深度學(xué)習(xí)。

量子位之前發(fā)布的文章詳細(xì)介紹了包括神經(jīng)網(wǎng)絡(luò)在內(nèi)的《25個深度學(xué)習(xí)基礎(chǔ)概念》,可以點(diǎn)擊查看。

TensorFlow

TensorFlow是一個數(shù)學(xué)庫,也是深度學(xué)習(xí)領(lǐng)域使用最廣的開源框架,由Google開發(fā)。

在這篇文章中,我們將用TensorFlow預(yù)訓(xùn)練模型來設(shè)置我們的分類器。

想要設(shè)置這個分類器,還有幾個先決條件:

  • 你的機(jī)器上安裝并設(shè)置好了TensorFlow;

  • 你會用Python。

從零開始訓(xùn)練一個深度學(xué)習(xí)的分類器需要幾周、甚至幾個月的時間,這取決于你用什么硬件。為了避免這種麻煩,我們將使用預(yù)先訓(xùn)練的模型。 Tensorflow預(yù)訓(xùn)練的模型通常能夠識別大約1000類不同的物體。

接下來,我們開始設(shè)置自己的圖像分類器

第1步:下載預(yù)訓(xùn)練模型、計算圖和腳本

clone這個存儲區(qū),并用以下命令進(jìn)入:

git clone https://github.com/akshaypai/tfClassifier cd tfClassifier第2步:運(yùn)行腳本找到最佳預(yù)測

你可以提供要分類的圖像,來運(yùn)行這個腳本。默認(rèn)情況下,將顯示概率最高的結(jié)果。

Python classifier.py --image_file file_path_to_image

如果想獲得前幾個分類結(jié)果,可以使用以下參數(shù)。

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

示例:以下是我們輸入石榴圖像,獲得的結(jié)果。

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

分類器說,這個圖像是石榴,可能性是98%。

第3步:運(yùn)行腳本來獲取前n個識別出的類

現(xià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)

從上面的結(jié)果可以看出,分類器認(rèn)為這張圖片中包含柵欄的可能性是95%,還有可能包含另一個柵欄、庭院/露臺等。

用TensorFlow預(yù)訓(xùn)練的模型對圖像進(jìn)行分類,就是這么簡單。不過,預(yù)訓(xùn)練模型能識別的類是有限的,如果你希望分類器來區(qū)分你需要的類別,需要重新訓(xùn)練這個模型。

下面,我們再介紹一下如何對模型進(jìn)行重新訓(xùn)練。

第1步:設(shè)置圖像文件夾

這一步涉及設(shè)置文件夾結(jié)構(gòu),好讓TensorFlow能輕松獲取這些類別。比如說你想訓(xùn)練神經(jīng)網(wǎng)絡(luò),識別5種花:玫瑰、郁金香、蒲公英、可可花、萬壽菊。

創(chuàng)建文件夾結(jié)構(gòu)時:

為每種花創(chuàng)建一個文件夾,該文件夾的名稱是類別的名稱(在我們舉的例子中,是這種花的名稱);

將花的圖像添加到其各自的文件夾中。例如把玫瑰的所有圖像放進(jìn)“玫瑰”文件夾。

將所有文件夾添加到另一個父文件夾中,比如說“花”。

添加完之后,你將看到這樣的文件夾結(jié)構(gòu):

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

所有文件夾都這樣設(shè)置,文件夾結(jié)構(gòu)就準(zhǔn)備好了。

第2步:運(yùn)行重新訓(xùn)練腳本

用下面的命令來運(yùn)行腳本:

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

命令行參數(shù):

-model_dir:該參數(shù)給出了預(yù)訓(xùn)練模型的位置。預(yù)先訓(xùn)練的模型存儲在git存儲庫的inception文件夾下。

-image_dir:在上一步中創(chuàng)建的圖像文件夾的路徑。

-output_graph:存儲新訓(xùn)練圖的位置。

-how_many_training_steps:training steps表示要執(zhí)行的迭代次數(shù),默認(rèn)是4000。找到正確的次數(shù)需要經(jīng)過不斷試錯,一旦找到最好設(shè)置,就可以開始用了。

下列參數(shù)可以用來提高模型的準(zhǔn)確度:

random_crop:隨機(jī)裁剪能夠讓你專注于圖像的主要部分。

Random_scale:和裁剪類似,但可以隨機(jī)擴(kuò)展圖像大小。

flip_left_right:翻轉(zhuǎn)。

以上,就是重新訓(xùn)練深度學(xué)習(xí)模型所需的步驟,這樣就可以識別自定義的物體了。

【完】

招聘

我們正在招募編輯記者、運(yùn)營等崗位,工作地點(diǎn)在北京中關(guān)村,期待你的到來,一起體驗人工智能的風(fēng)起云涌。

相關(guān)細(xì)節(jié),請在公眾號對話界面,回復(fù):“招聘”兩個字。

One More Thing…

今天AI界還有哪些事值得關(guān)注?在量子位(QbitAI)公眾號會話界面回復(fù)“今天”,看我們?nèi)W(wǎng)搜羅的AI行業(yè)和研究動態(tài)。筆芯~

另外,,如果你研究或者從事AI領(lǐng)域,小助手會把你帶入量子位的交流群里。

掃碼強(qiáng)行關(guān)注『量子位』

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多