中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用Mobilenet和Keras進行遷移學習

發布時間:2021-12-23 16:38:39 來源:億速云 閱讀:351 作者:柒染 欄目:互聯網科技

這篇文章將為大家詳細講解有關如何使用Mobilenet和Keras進行遷移學習,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

我將向您展示使用Mobilenet對狗的圖像進行分類的示例。然后,我將向您展示一個例子,它會把藍山雀的圖像錯誤分類。然后,我將重新訓練Mobilenet并使用遷移學習,以便它可以正確地對相同的輸入圖像進行分類。在這個過程中,僅使用了兩個分類器,但是這可以擴展到您想要的數量,僅限于您可用的硬件數量和時間。

Mobilenet的源文件位于:https://arxiv.org/pdf/1704.04861.pdf

MobileNets:用于移動視覺應用的高效卷積神經網絡。

我們使用Mobilenet,是因為它的架構很輕巧。它使用深度可分離的卷積,這基本上意味著它在每個顏色通道上都執行單個卷積,而不是將所有三個卷積相合并展平它。這具有過濾輸入通道的效果。或者正如本文作者清楚地解釋的那樣:“對于MobileNets,深度卷積對每個輸入通道應用單個濾波器。然后,逐點卷積應用1×1卷積來組合輸出深度卷積。標準卷積既可以在一個步驟中過濾并將輸入組合成一組新的輸出。深度可分離卷積將其分成兩層,一個用于過濾的單獨層一個用于組合的單獨層。這種因式分解具有顯著減少計算和模型大小的效果。”

如何使用Mobilenet和Keras進行遷移學習

逐點和深度卷積之間的差異

所以Mobilenet的整體架構如下,有30層

  1. 步長為2的卷積層

  2. depthwise layer

  3. pointwise layer,使通道數加倍

  4. 步長為2的depthwise layer

  5. pointwise layer,使通道數加倍

等等

如何使用Mobilenet和Keras進行遷移學習

Mobilenet完整架構

它的維護成本非常低,在高速下表現也非常好。還有許多類型的預訓練模型,其存儲器中的網絡大小和磁盤上使用的參數數量成比例。網絡的速度和功耗與MACs (Multiply-Accumulates)的數量成正比,后者是融合乘法和加法運算數量的度量。

如何使用Mobilenet和Keras進行遷移學習

現在讓我們來看看代碼!

我的全部代碼:https://github.com/ferhat00/Deep-Learning/tree/master/Transfer%20Learning%20CNN

讓我們加載必要的包和庫。

如何使用Mobilenet和Keras進行遷移學習

我們從Keras輸入預先訓練的模型。

如何使用Mobilenet和Keras進行遷移學習

讓我們嘗試下對不同品種的狗的圖像進行一些測試。

如何使用Mobilenet和Keras進行遷移學習

如何使用Mobilenet和Keras進行遷移學習

如何使用Mobilenet和Keras進行遷移學習

輸出:

如何使用Mobilenet和Keras進行遷移學習

如何使用Mobilenet和Keras進行遷移學習

如何使用Mobilenet和Keras進行遷移學習

如何使用Mobilenet和Keras進行遷移學習

輸出:

如何使用Mobilenet和Keras進行遷移學習

如何使用Mobilenet和Keras進行遷移學習

如何使用Mobilenet和Keras進行遷移學習

如何使用Mobilenet和Keras進行遷移學習

輸出:

如何使用Mobilenet和Keras進行遷移學習

到現在為止還挺好。它很好地分類了每一種狗,那么接下來讓我們試一種鳥類藍色的山雀來看看。

如何使用Mobilenet和Keras進行遷移學習

如何使用Mobilenet和Keras進行遷移學習

藍雀

如何使用Mobilenet和Keras進行遷移學習

輸出:

如何使用Mobilenet和Keras進行遷移學習

你可以看到它無法識別藍山雀。它錯誤地將圖像歸類為小雞。這是一種原產于北美的本土鳥類,并且有微妙的不同:

如何使用Mobilenet和Keras進行遷移學習

山雀

現在讓我們操縱Mobilenet架構,重新訓練前幾個層并使用遷移學習。要做到這一點,我們需要用一些圖像訓練它。在這里,我將用藍山雀和烏鴉的圖像進行訓練。但是,不是手動下載它們的圖像,而是使用谷歌圖像搜索并拉動圖像。要做到這一點,我們可以導入一個很好的包。

查看https://github.com/hardikvasa/google-images-download

如何使用Mobilenet和Keras進行遷移學習

讓我們現在重新使用MobileNet,因為它非常輕巧(17Mb),讓我們添加和訓練前幾個層。注意我只會訓練兩個分類器,藍山雀和烏鴉。

如何使用Mobilenet和Keras進行遷移學習

如何使用Mobilenet和Keras進行遷移學習

讓我們檢查一下模型架構

如何使用Mobilenet和Keras進行遷移學習

我們將使用預先訓練的權重,因為已經在Imagenet數據集上訓練了模型。我們確保所有權重都是不可訓練的,只訓練最后幾層密集層。

如何使用Mobilenet和Keras進行遷移學習

現在讓我們將訓練數據加載到ImageDataGenerator中。指定路徑,它會自動發送批量訓練數據,簡化代碼。

如何使用Mobilenet和Keras進行遷移學習

編譯模型。現在讓我們訓練吧。在GTX1070 GPU上花費不到兩分鐘。

如何使用Mobilenet和Keras進行遷移學習

如何使用Mobilenet和Keras進行遷移學習

該模型現已接受訓練。 現在讓我們測試一些獨立的輸入圖像來檢查預測。

如何使用Mobilenet和Keras進行遷移學習

輸出:

如何使用Mobilenet和Keras進行遷移學習

正如你所看到的,它正確地預測了烏鴉的圖像,因為藍山雀的圖像被注釋掉了。

如何使用Mobilenet和Keras進行遷移學習

烏鴉

這可以進一步擴展到更多的圖像,更多數量的分類器可以更好地推廣,但它是實現CNN遷移學習的最輕量級的方法和最快捷的方式。這當然取決于您想要實現模型的速度、準確程度和硬件,以及您有多少時間可用。

關于如何使用Mobilenet和Keras進行遷移學習就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

黔西| 上思县| 微博| 柞水县| 景宁| 东丰县| 行唐县| 西峡县| 桦甸市| 新邵县| 大厂| 昌江| 伊金霍洛旗| 沙田区| 姜堰市| 隆回县| 上杭县| 临沂市| 南昌市| 靖安县| 双辽市| 吴旗县| 合川市| 长汀县| 廊坊市| 雅安市| 宁津县| 博湖县| 宁都县| 铜山县| 丹巴县| 漳平市| 陆良县| 海淀区| 许昌县| 越西县| 晋州市| 德惠市| 正镶白旗| 江西省| 竹山县|