在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

分析并比較五種非常有用的深度學習框架的優點及應用。

電子工程師 ? 來源:lq ? 2019-04-24 17:26 ? 次閱讀

概述

從出道起,我就一直是一名程序員。我喜歡從頭開始編寫代碼,這有助于我清楚地理解主題(或技巧)。當我們剛開始學習數據科學時,這種方法尤為有用。

嘗試從無到有地實現一個神經網絡,你將會明白很多有趣的事情。但是當需要為現實世界的數據集構建深度學習模型時,這還是一個不錯的主意嗎?如果你需要幾天或幾周的時間來建立起模型,這是完全不可能的。

對于那些無法訪問無限計算資源的人來說,你們已經來到了正確的地方。

值得慶幸的是,我們現在已經有了易于使用的開源深度學習框架,旨在簡化復雜和大規模深度學習模型的實現。使用這些神奇的框架,我們可以實現諸如卷積神經網絡這樣復雜的模型。

在本文中,將介紹5種非常有用的深度學習框架、它們的優點以及應用。我們將對每個框架進行比較,以了解何時何地可以使用它們。

我們還創建了一個非常酷的針對每個深度學習框架的信息圖表,附在在文章的末尾,為每個數據科學家所必備。

目錄

一、什么是深度學習框架?

二、TensorFlow

三、Keras

四、PyTorch

五、Caffe

六、Deeplearning4j

七、五個深度學習框架之間的對比

一、什么是深度學習框架?

讓我們用一個例子來理解這個概念,來看以下圖像集合:

在這個圖像中有不同的分類:貓,駱駝,鹿,大象等。我們的任務是將這些圖像歸到相應的類(或類別)中。用Google搜索一下就能知道:卷積神經網絡(CNNs)對于這類圖像分類任務十分有效。

我們要做的工作就是實現這個模型,對嗎?如果從頭開始編寫一個卷積神經網絡,則需要幾天(甚至幾周)才能得到一個有效的模型,我們卻沒法等這么長的時間!

這正是深度學習框架真正改變了局面的地方。

深度學習框架是一種界面、庫或工具,它使我們在無需深入了解底層算法的細節的情況下,能夠更容易、更快速地構建深度學習模型。深度學習框架利用預先構建和優化好的組件集合定義模型,為模型的實現提供了一種清晰而簡潔的方法。

利用恰當的框架來快速構建模型,而無需編寫數百行代碼,一個良好的深度學習框架具備以下關鍵特征:

優化的性能

易于理解和編碼

良好的社區支持

并行化的進程,以減少計算

自動計算梯度

這五點也是我用來挑選五大頂級深度學習框架的標準。下面讓我們詳細研究一下它們。

二、TensorFlow

TensorFlow是由谷歌大腦團隊的研究人員和工程師開發的,它是深度學習領域中最常用的軟件庫(盡管其他軟件正在迅速崛起)。

我喜歡TensorFlow的原因有兩點:它完全是開源的,并且有出色的社區支持。TensorFlow為大多數復雜的深度學習模型預先編寫好了代碼,比如遞歸神經網絡和卷積神經網絡。

TensorFlow如此流行的最大原因之一是支持多種語言來創建深度學習模型,比如Python、C和R,并且有不錯的文檔和指南。

TensorFlow有許多組件,其中最為突出的是:

Tensorboard:幫助使用數據流圖進行有效的數據可視化

TensorFlow:用于快速部署新算法/試驗

TensorFlow的靈活架構使我們能夠在一個或多個CPU(以及GPU)上部署深度學習模型。下面是一些典型的TensorFlow用例:

基于文本的應用:語言檢測、文本摘要

圖像識別:圖像字幕、人臉識別、目標檢測

聲音識別

時間序列分析

視頻分析

用例遠遠不止這些,如果你知道TensorFlow還有以上所述之外的其他應用,我很樂意知道!可以在本文的評論部分告訴我,我們再做討論。

安裝TensorFlow也是一個非常簡單的任務。

對于CPU:

pip install tensorflow

對于啟用CUDA的GPU卡:

pip install tensorflow-gpu

通過以下綜合教程了解如何使用TensorFlow建立神經網絡模型:

利用TensorFlow實現神經網絡簡介

https://www.analyticsvidhya.com/blog/2016/10/an-introduction-to-implementing-neural-networks-using-tensorflow/?utm_source=blog&utm_medium=comparison-deep-learning-framework

TensorFlow教程

https://www.tensorflow.org/tutorials

三、Keras

你習慣使用Python嗎?如果是,那么可以立即連接到Keras。這是一個開啟你的深度學習之旅的完美的框架。

Keras用Python編寫,可以在TensorFlow(以及CNTK和Theano)之上運行。TensorFlow的接口具備挑戰性,因為它是一個低級庫,新用戶可能會很難理解某些實現。

而Keras是一個高層的API,它為快速實驗而開發。因此,如果希望獲得快速結果,Keras會自動處理核心任務并生成輸出。Keras支持卷積神經網絡和遞歸神經網絡,可以在CPU和GPU上無縫運行。

深度學習的初學者經常會抱怨:無法正確理解復雜的模型。如果你是這樣的用戶,Keras便是你的正確選擇!它的目標是最小化用戶操作,并使其模型真正容易理解。

可以將Keras中的模型大致分為兩類:

1. 序列化

模型的層是按順序定義的。這意味著當我們訓練深度學習模型時,這些層次是按順序實現的。下面是一個順序模型的示例:

from keras.models import Sequentialfrom keras.layers import Densemodel = Sequential()# we can add multiple layers to the model using .add()model.add(Dense(units=64, activation='relu', input_dim=100))model.add(Dense(units=10, activation='softmax'))

2. Keras 函數API

用于定義復雜模型,例如多輸出模型或具有共享層的模型。請查看下面的代碼來理解這一點:

from keras.layers import Input, Densefrom keras.models import Modelinputs = Input(shape=(100,)) # specify the input shapex = Dense(64, activation='relu')(inputs)predictions = Dense(10, activation='softmax')(x)model = Model(inputs=inputs, outputs=predictions)

Keras有多種架構,如下所述,用于解決各種各樣的問題,其中包括我的最愛之一:圖像分類!

VGG 16

VGG 19

InceptionV 3

Mobilenet及更多

可以參考官方的Keras文檔來詳細了解框架是如何工作的。

Keras官方中文文檔

https://keras.io/zh/

僅需一行代碼即可安裝Keras:

pip install keras

對Keras感興趣?可以繼續學習以下教程,了解如何使用Keras實現神經網絡:

基于Keras的神經網絡優化

https://www.analyticsvidhya.com/blog/2016/10/tutorial-optimizing-neural-networks-using-keras-with-image-recognition-case-study/?utm_source=blog&utm_medium=comparison-deep-learning-framework

四、PyTorch

還記得我們說過TensorFlow是目前最常用的深度學習框架嗎?但是如果考慮到數據科學家和開發者們擁抱Facebook的PyTorch的速度,那它可能很快就要落伍了。

我是PyTorch的擁護者,在我所研究過的框架中,PyTorch最富靈活性。

PyTorch是Torch深度學習框架的一個接口,可用于建立深度神經網絡和執行張量計算。Torch是一個基于Lua的框架,而PyTorch則運行在Python上。

PyTorch是一個Python包,它提供張量計算。張量是多維數組,就像numpy的ndarray一樣,它也可以在GPU上運行。PyTorch使用動態計算圖,PyTorch的Autograd軟件包從張量生成計算圖,并自動計算梯度。

與特定功能的預定義的圖表不同,PyTorch提供了一個框架,用于在運行時構建計算圖形,甚至在運行時也可以對這些圖形進行更改。當不知道創建神經網絡需要多少內存的情況下,這個功能便很有價值。

可以使用PyTorch處理各種來自深度學習的挑戰,包括:

影像(檢測、分類等)

文本(NLP)

增強學習

想知道如何在機器上安裝PyTorch,請稍等片刻。安裝步驟取決于操作系統、需要安裝的PyTorch包、正在使用的工具/語言、CUDA等其他一些因素。

根據此鏈接的內容檢查PyTorch安裝步驟,準備好框架之后,再檢查以下兩個資源,利用PyTorch構建第一個神經網絡:

學習如何使用PyTorch來構建快速和準確的神經網絡-4個不錯的案例研究

https://www.analyticsvidhya.com/blog/2019/01/guide-pytorch-neural-networks-case-studies/https://www.analyticsvidhya.com/blog/2019/01/guide-pytorch-neural-networks-case-studies/?utm_source=blog&utm_medium=comparison-deep-learning-framework

PyTorch教程

https://pytorch.org/tutorials/beginner/deep_learning_60min_blitz.html

五、Caffe

CAFE是另一個面向圖像處理領域的、比較流行的深度學習框架,它是由賈陽青(Yangqing Jia)在加利福尼亞伯克利大學讀博士期間開發的。同樣,它也是開源的!

首先,Caffe對遞歸網絡和語言建模的支持不如上述三個框架。但是Caffe最突出的地方是它的處理速度和從圖像中學習的速度。

Caffe可以每天處理超過六千萬張圖像,只需單個NVIDIA K40 GPU,其中 1毫秒/圖像用于推理,4毫秒/圖像用于學習。

它為C、Python、MATLAB等接口以及傳統的命令行提供了堅實的支持。

通過Caffe Model Zoo框架可訪問用于解決深度學習問題的預訓練網絡、模型和權重。這些模型可完成下述任務:

簡單的遞歸

大規模視覺分類

用于圖像相似性的SiameSE網絡

語音和機器人應用

有關更多細節,您可以查看Caffe相關文檔。

Caffe安裝文檔

http://caffe.berkeleyvision.org/installation.html

Caffe文檔

http://caffe.berkeleyvision.org/

六、Deeplearning4j

我們社區中有Java程序員嗎?這是你理想的深度學習框架!Deeplearning4j是用Java實現的,因此與Python相比效率更高。它使用稱為ND4J的張量庫,提供了處理n維數組(也稱為張量)的能力。該框架還支持CPU和GPU。

Deeplearning4j將加載數據和訓練算法的任務作為單獨的過程處理,這種功能分離提供了很大的靈活性。誰都喜歡這樣,尤其是在深度學習中!

Deeplearning4j也適用于不同的數據類型:

圖像

CSV

純文本等

可以使用Deeplearning4j構建的深度學習模型有:

卷積神經網絡(CNNs)

遞歸神經網絡(RNNs)

長短時記憶(LSTM)等多種結構

閱讀Deeplearning4j的安裝步驟和文檔,開始使用這個框架。

Deeplearning4j安裝步驟

https://deeplearning4j.org/docs/latest/deeplearning4j-config-gpu-cpu

Deeplearning4j文檔

https://deeplearning4j.org/docs/latest/deeplearning4j-quickstart

七、五種深度學習框架之間的對比

上面已經討論了五個最流行的深度學習框架,每一個都獨具特性,那么數據科學家會如何做出選擇呢。

你決定用哪一種了嗎?或者你打算換一個全新的框架?不管是什么情況,了解每個框架的優點和局限性非常重要。如果選對了正確的框架,當遇到錯誤時,便不會感到驚訝了!

某些框架在處理圖像數據時工作得非常好,但無法解析文本數據;某些框架在處理圖像和文本數據時,性能很好,但是它們的內部工作原理很難理解。

在本節中,將使用以下標準比較這五個深度學習框架:

社區支持力度

使用的語言

接口

對預訓練的模型的支持

下表對這些框架進行了比較:

對于選擇使用的框架來說,這是一個非常方便的對比表!

所有這些框架都是開源的,支持CUDA,并有預訓練的模型。但是,應該如何正確開始,應該選擇哪個框架來構建(初始)深度學習模型?讓我們來做詳細的討論!

TensorFlow

我們先來說說TensortFlow。TensorFlow能處理圖像以及基于序列的數據,如果你是深度學習的初學者,或者對線性代數和微積分等數學概念沒有堅實的基礎,那么TensortFlow的學習曲線將會令人畏懼地陡峭。

我完全理解,對于剛起步的人來說,這可能太復雜。但我建議你不斷練習,不斷探索社區,并繼續閱讀文章以掌握TensorFlow的訣竅。一旦對這個框架有了一個很好的理解,實現一個深度學習模型對你來說將是易如反掌。

Keras

Keras是一個非常堅實的框架,可以開啟深度學習之旅。如果你熟悉Python,并且沒有進行一些高級研究或開發某種特殊的神經網絡,那么Keras適合你。

Keras的重點更多地放在取得成果上,而不是被模型的復雜之處所困擾。因此,如果有一個與圖像分類或序列模型相關的項目,可以從Keras開始,很快便可以構建出一個工作模型。

Keras也集成在TensorFlow中,因此也可以使用tf.keras.構建模型。

Caffe

在圖像數據上構建深度學習模型時,Caffe是不錯的選擇。但是,當談到遞歸神經網絡和語言模型時,Caffe落后于我們討論過的其他框架。Caffe的主要優點是,即使沒有強大的機器學習或微積分知識,也可以構建出深度學習模型。

Caffe主要用于建立和部署移動電話和其他計算受限平臺的深度學習模型。

Deeplearning4j

正如之前所述,DeepleEarning4J是Java程序員的天堂。它為CNNS、RNN和LSTMS等不同的神經網絡提供了大量的支持,它在不犧牲速度的情況下可以處理大量數據。聽起來不錯,有機會通過!

后記及圖示信息圖

除了文中提及的五種深度學習框架之外,你有沒有其他的深度學習框架?很想聽聽你的想法和反饋。請在下面的評論部分與我聯系。

記住,這些框架基本上只是幫助我們實現最終目標的工具,正確地選擇它們可以減少大量的精力和時間。

最后附上資訊插圖,詳細介紹了我們所涵蓋的每個深度學習框架。下載它,打印它,并在下次構建深度學習模型時使用它吧!

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 神經網絡
    +關注

    關注

    42

    文章

    4777

    瀏覽量

    100960
  • 數據集
    +關注

    關注

    4

    文章

    1208

    瀏覽量

    24752
  • 深度學習
    +關注

    關注

    73

    文章

    5510

    瀏覽量

    121345

原文標題:數據科學家必知的 5 個深度學習框架

文章出處:【微信號:DBDevs,微信公眾號:數據分析與開發】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    深度學習開源框架,AI從業者的選擇之路

    非常有意思且非常重要的副產物。另一個是深度學習框架的可觸碰深度,這點直接關系到
    發表于 11-26 10:00 ?2414次閱讀

    Nanopi深度學習之路(1)深度學習框架分析

    學習,也就是現在最流行的深度學習領域,關注論壇的朋友應該看到了,開發板試用活動中有【NanoPi K1 Plus試用】的申請,介紹中NanopiK1plus的高大上優點之一就是“可運行
    發表于 06-04 22:32

    主流深度學習框架比較

    DL:主流深度學習框架多個方向PK比較
    發表于 12-26 11:10

    r深度學習算法分析數據 輕易比較中西古典音樂差別

    事實證明,深度學習技術對于分析各種數據(從圖像到文本,在線帖子和錄音)非常有用。這些技術旨在識別大型數據集中的模式,將不同類別的項目分開,
    發表于 03-12 13:37 ?623次閱讀

    機器學習分析地理空間圖像非常有幫助

    機器學習分析地理空間圖像非常有幫助。衛星照片往往會創建大量數據,而AI軟件可以比人類觀察者更快地標記出感興趣的項目。例如,在澳大利亞,消防員定期分析衛星圖像以監測野火的蔓延,
    的頭像 發表于 03-22 16:23 ?2092次閱讀

    17個非常有用的Python技巧

    Python 是一門非常優美的語言,其簡潔易用令人不得不感概人生苦短。在本文中,作者 Gautham Santhosh 帶我們回顧了 17 個非常有用的 Python 技巧,例如查找、分割和合并列表等。這 17 個技巧都非常簡單
    的頭像 發表于 04-10 14:28 ?564次閱讀

    深度學習框架pytorch入門與實踐

    深度學習框架pytorch入門與實踐 深度學習是機器學習中的一個分支,它使用多層神經網絡對大量數
    的頭像 發表于 08-17 16:03 ?1627次閱讀

    深度學習框架是什么?深度學習框架有哪些?

    深度學習框架是什么?深度學習框架有哪些?? 深度
    的頭像 發表于 08-17 16:03 ?2820次閱讀

    深度學習框架區分訓練還是推理嗎

    深度學習框架區分訓練還是推理嗎 深度學習框架是一個非常
    的頭像 發表于 08-17 16:03 ?1413次閱讀

    深度學習框架的作用是什么

    深度學習框架的作用是什么 深度學習是一計算機技術,它利用人工神經網絡來模擬人類的
    的頭像 發表于 08-17 16:10 ?1600次閱讀

    深度學習算法庫框架學習

    深度學習算法庫框架學習 深度學習是一
    的頭像 發表于 08-17 16:11 ?721次閱讀

    深度學習框架對照表

    深度學習框架對它們進行對比。 1. TensorFlow TensorFlow是由Google Brain團隊開發的一款深度
    的頭像 發表于 08-17 16:11 ?835次閱讀

    深度學習框架連接技術

    深度學習框架連接技術 深度學習框架是一個能夠幫助機器學習
    的頭像 發表于 08-17 16:11 ?795次閱讀

    深度學習cntk框架介紹

    深度學習cntk框架介紹? 深度學習是最近幾年來非常熱門的話題,它正在徹底改變我們生活和工作的方
    的頭像 發表于 08-17 16:11 ?1417次閱讀

    TensorFlow與PyTorch深度學習框架比較與選擇

    學習框架,它們各自擁有獨特的特點和優勢。本文將從背景介紹、核心特性、操作步驟、性能對比以及選擇指南等方面對TensorFlow和PyTorch進行詳細比較,以幫助讀者了解這兩個框架的優
    的頭像 發表于 07-02 14:04 ?1018次閱讀
    主站蜘蛛池模板: 人人澡人人草| 色多多视频在线观看免费大全| 日本69av| 5566成人| 国产精品久久在线观看| 在线播放真实国产乱子伦| 亚洲精品美女| 手机在线观看a| 欧美ab在线| 国产精品成人va在线观看入口| 一级毛片免费不卡在线视频| 天天影视网天天影网| 狠狠色噜噜狠狠狠狠米奇777| 日本一级高清不卡视频在线 | 九色视频播放| 国产美女激情视频| 亚洲精品蜜桃久久久久久| 免费中国jlzzjlzz在线播放| 国产精品久久久久久久久久影院 | 日本黄视频在线播放| 国产精品午夜高清在线观看| 国产精品任我爽爆在线播放6080| 色噜噜人体337p人体| 亚州1区2区3区4区产品乱码2021| 欧洲freexxxx性| 国产女乱淫真高清免费视频| 午夜黄色影片| 日本69sex护士www| 99久久精品费精品国产一区二区| 天天摸天天碰色综合网| 免费毛片网站| 午夜久久福利| 免费播放视频| 亚洲电影一区二区| 看真人一一级毛片| 天天综合网天天做天天受| 性xxxx欧美| 一级黄色免费毛片| 美女视频很黄很a免费国产| 99久久精品久久久久久婷婷| 国产小福利|