国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

測試對比TensorFlow、MXNet、CNTK、Theano四個框架

hiYoHoo / 2862人閱讀

摘要:相比于直接使用搭建卷積神經網絡,將作為高級,并使用作為后端要簡單地多。測試一學習模型的類型卷積神經網絡數據集任務小圖片數據集目標將圖片分類為個類別根據每一個的訓練速度,要比快那么一點點。

如果我們對 Keras 在數據科學和深度學習方面的流行還有疑問,那么考慮一下所有的主流云平臺和深度學習框架的支持情況就能發現它的強大之處。目前,Keras 官方版已經支持谷歌的 TensorFlow、微軟的 CNTK、蒙特利爾大學的 Theano,此外,AWS 去年就宣布 Keras 將支持 Apache MXNet,上個月發布的 MXNet 0.11 就新增 Core ML 和 Keras v1.2 的支持。不過到目前為止 MXNet 好像只支持 Keras v1.2.2 而不是版 2.0.5。

盡管我們可以使用任何 Keras 所支持的后端部署模型,但開發者和方案架構師應該了解 Keras 作為各深度學習庫的高級 API,其本質上是不支持各個庫所提供的全部基本參數微調。因此如果我們想要精細調整后端框架所提供的所有參數,那么我們較好直接使用深度學習框架而不是使用 Keras。當然這個情況會隨著各種工具添加到 Keras 和深度學習框架中而得到改善,但現在 Keras 仍是一個十分優秀的工具,它能極好地適應于深度學習開發的早期階段,并且為數據科學家和算法工程師快速構建與測試復雜的深度學習模型提供了強大的工具。

機器之心也嘗試使用 TensorFlow 作為后端測試了 Keras,我們發現整個模型的搭建非常簡潔,連入門者都能輕松讀懂整個網絡的架構。相比于直接使用 TensorFlow 搭建卷積神經網絡,將 Keras 作為高級 API,并使用 TensorFlow 作為后端要簡單地多。后面我們將會把 Keras 實現 CNN 的代碼與注釋上傳至機器之心 GitHub 項目中,下圖是我們使用 TensorFlow 作為后端初始化訓練的情況:

以下是整個卷積網絡的架構:

上面的代碼清晰地定義了整個網絡疊加所使用的層級。Sequential 代表序貫模型,即多個網絡層的線性堆疊。在建立序貫模型后,我們可以從輸入層開始依次添加不同的層級以實現整個網絡的構建。上面的架構首先使用的是 2 維卷積層 Conv2D,卷積核大小為 3*3,激活函數為 ReLU,其中第一個參數 32 代表卷積核數目。此外,該卷積網絡還使用了較大池化層 MaxPooling2D,pool_size=(2,2) 為兩個方向(豎直,水平)上的下采樣因子;Dropout 層,以 0.25 的概率在每次更新參數時隨機斷開輸入的神經元;Dense 層,即全連接層;還有 Flatten 層,即將輸入「壓平」,也就是把多維的輸入一維化,常用在從卷積層到全連接層的過渡。以上是該架構的基本層級,更詳細的代碼及注釋請查看機器之心 GitHub 項目。

下面是 Jasmeet Bhatia 測評的具體情況。

Keras 后端框架性能測試

Keras 還能使開發人員快速測試使用不同深度學習框架作為 Keras 后端的相對性能。Keras 配置文件中有一個參數決定了使用哪一個深度學習框架作為后端,因此我們可以構建一個相同的模型在不同的深度學習框架(如 TensorFlow、CNTK、Theano)上直接運行。而對于 MXNet 來說,由于目前只支持 Keras ver1.2.2,所以我們需要對代碼做一點點修改就行。當然這個模型可以根據各個深度學習框架中的不同庫而進行微調以實現更好的性能,不過 Keras 仍然提供了很好的機會來比較這些基本庫之間的性能。

早先已經有一些文章比較了 Keras 所支持后端框架的相對性能,但是對比的時間都比較早,且主要是以 TensorFlow 和 Theano 作為后端的對比。因此本文根據 Keras 和深度學習框架的版本在更大的范圍內做了一次對比。

我們首先了解一下用于測試的配置。所有的性能測試都在 Azure NC6 VM 上使用 Nvidia Tesla K80 GPU 執行,使用的 VM 鏡像是 Ubuntu 上的 Azure DSVM(數據科學虛擬機)。除了其他數據科學工具,我們還預安裝了 Keras、TensorFlow、Theano 和 MXNet。對于測試來說,所有的軟件包都是用的版,但因為 MXNet 只支持 Keras 1.2.2,所以其使用的舊版。

配置

因為每一個深度學習框架的依賴項不同,我們的測試在下面三種配置中運行:

性能測試

為了比較 DL 框架不同的性能,我們如下所述使用了 5 種不同的測試模型。為了確保沒有特定的框架得到任何特定的處理,所有模型都來自 GitHub Keras/examples 倉庫中所維護的。

模型源代碼地址:https://github.com/fchollet/keras/tree/master/examples

測試的代碼可以在作者的 GitHub 項目中找到:https://github.com/jasmeetsb/deep-learning-keras-projects

注意:有兩個測試 MXNet 并沒有參與,因為 MXNet 并不支持版的 Keras,且 MXNet 作為后端運行該模型需要調整大量代碼。在其他三個測試中以 MXNet 作為后端也需要進行一些細微的調整,主要是新版本的 Keras 重命名了一些函數。

測試一:CIFAR-10 & CNN

學習模型的類型:卷積神經網絡(CNN)

數據集/任務:CIFAR-10 小圖片數據集

目標:將圖片分類為 10 個類別

根據每一個 epoch 的訓練速度,TensorFlow 要比 MXNet 快那么一點點。

而按照準確度/收斂速度來說,CNTK 在前 25 個 epoch 中領先一點,而在 50 個 epoch 后,其他框架都到達相近的準確度,而 CNTK 卻略微下降。

測試二:MNIST & CNN

學習模型的類型:CNN

數據集/任務:MNIST 手寫數字數據集

目標:將圖片分類為 10 類手寫數字

在該測試中,TensorFlow 明顯要在訓練時間上更加優秀,但在準確度/收斂速度上所有框架都有相似的特征。

測試三:MNIST&MLP

學習模型的類型:多層感知機/深度神經網絡

數據集/任務:MNIST 手寫數字數據集

目標:將圖片分類為 10 類手寫數字

在使用 MNIST 數據集執行標準的神經網絡測試中,CNTK、TensorFlow 和 Theano 實現了相似的分數(2.5 – 2.7 s/epoch),而 MXNet 卻只需要 1.4s/epoch。此外,MXNet 同樣在準確度/收斂速度上有一點點優勢。

測試四:MNIST&RNN

學習模型的類型:層級循環神經網絡(HRNN)

數據集/任務:MNIST 手寫數字數據集

目標:將圖片分類為 10 類手寫數字

在訓練時間上,CNTK 和 MXNet 有相似的性能(162 – 164 s/epoch),TensorFlow 的時間為 179s/epoch,而 Theano 所需的時間則顯著地增多。

測試五:BABI & RNN

學習模型的類型:循環神經網絡(RNN)

數據集/任務:bAbi Project (https://research.fb.com/downloads/babi/)

目標:分別根據故事(story)和問題訓練兩個循環神經網絡,致使合并的向量可以回答一系列 bAbi 任務。

該測試并沒有使用 MXNet,TensorFlow 和 Theano 在每一個 epoch 上要比 CNTK 要快了一倍多。

結語

TensorFlow 在 CNN 測試中表現都是較好的,但是在 RNN 測試中表現并不太好。

CNTK 在 Babi RNN 和 MNIST RNN 測試上要比 TensorFlow 和 Theano 好得多,但是在 CNN 測試上要比 TensorFlow 差一些。

MXNet 在 RNN 測試上要比 CNTK 和 TensorFlow 要好一點,此外它在 MLP 上要比所有框架的性能都要好。不過 MXNet 并不支持 Keras v2 函數,所以我們并不能在沒有修正代碼的情況下直接測試,因此可能會有一點偏差。

Theano 在深度神經網絡(MLP)中要比 TensorFlow 和 CNTK 好一點。

從上面的結果可以看出來,所有的深度學習框架都有其擅長的領域,并沒有哪個框架一定要比其他框架好。CNTK 可作為 Keras 后端并用于 RNN 的使用案例,TensorFlow 可用于 CNN,而 MXNet 雖然顯示了性能上非常大的潛力,但仍然還是讓人期待其支持所有 Keras 函數的時候。在開源社區中,這些框架都在不斷擴展與增強,從而提供更好的性能并輕松地部署到產品中。在考慮使用這些深度學習框架投入生產時,性能是首要的。在大多數情況下,我們還需要考慮部署的難易度和其他輔助工具,它們都將幫助我們管理產品化的機器學習模型。最后,所有的框架性能都是在作為 Keras 后端時測評的,所以會有一點誤差,不過本文至少可以幫助大家對這些框架的性能有一定了解。此外本文在大家采用不同后端時可以給出一點相對客觀的建議。

原文鏈接:http://www.datasciencecentral.com/profiles/blogs/search-for-the-fastest-deep-learning-framework-supported-by-keras

歡迎加入本站公開興趣群

商業智能與數據分析群

興趣范圍包括各種讓數據產生價值的辦法,實際應用案例分享與討論,分析工具,ETL工具,數據倉庫,數據挖掘工具,報表系統等全方位知識

QQ群:81035754

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/4607.html

相關文章

  • 【10大深度學習框架實驗對比】Caffe2最優,TensorFlow排第6

    摘要:表示,的賈揚清對他的這一項目給予了很多幫助,賈揚清告訴他,的好幾個網絡,較大瓶頸都是,如果想要實現一流的性能,賈揚清建議較好使用異步,這樣會有很大的幫助。,和則是默認啟用這項功能。 微軟數據科學家Ilia Karmanov做了一個項目,使用高級API測試8種常用深度學習框架的性能(因為Keras有TF,CNTK和Theano,所以實際是10種)。Karmanov希望這個項目能夠幫助數據科學家...

    import. 評論0 收藏0
  • 基準評測TensorFlow、Caffe等在三類流行深度神經網絡上的表現

    摘要:在兩個平臺三個平臺下,比較這五個深度學習庫在三類流行深度神經網絡上的性能表現。深度學習的成功,歸因于許多層人工神經元對輸入數據的高表征能力。在年月,官方報道了一個基準性能測試結果,針對一個層全連接神經網絡,與和對比,速度要快上倍。 在2016年推出深度學習工具評測的褚曉文團隊,趕在猴年最后一天,在arXiv.org上發布了的評測版本。這份評測的初版,通過國內AI自媒體的傳播,在國內業界影響很...

    canopus4u 評論0 收藏0
  • ArXiv最受歡迎開源深度學習框架榜單:TensorFlow第一

    摘要:但年月,宣布將在年終止的開發和維護。性能并非最優,為何如此受歡迎粉絲團在過去的幾年里,出現了不同的開源深度學習框架,就屬于其中典型,由谷歌開發和支持,自然引發了很大的關注。 Keras作者Fran?ois Chollet剛剛在Twitter貼出一張圖片,是近三個月來arXiv上提到的深度學習開源框架排行:TensorFlow排名第一,這個或許并不出意外,Keras排名第二,隨后是Caffe、...

    trilever 評論0 收藏0
  • 最新Github上各DL框架Star數量大PK

    摘要:下圖總結了絕大多數上的開源深度學習框架項目,根據項目在的數量來評級,數據采集于年月初。然而,近期宣布將轉向作為其推薦深度學習框架因為它支持移動設備開發。該框架可以出色完成圖像識別,欺詐檢測和自然語言處理任務。 很多神經網絡框架已開源多年,支持機器學習和人工智能的專有解決方案也有很多。多年以來,開發人員在Github上發布了一系列的可以支持圖像、手寫字、視頻、語音識別、自然語言處理、物體檢測的...

    oogh 評論0 收藏0
  • 23種深度學習庫排行榜:TensorFlow最活躍、Keras最流行

    摘要:我們對種用于數據科學的開源深度學習庫作了排名。于年月發布了第名,已經躋身于深度學習庫的上半部分。是最流行的深度學習前端第位是排名較高的非框架庫。頗受對數據集使用深度學習的數據科學家的青睞。深度學習庫的完整列表來自幾個來源。 我們對23種用于數據科學的開源深度學習庫作了排名。這番排名基于權重一樣大小的三個指標:Github上的活動、Stack Overflow上的活動以及谷歌搜索結果。排名結果...

    princekin 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<