九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
一文看懂6個(gè)深度學(xué)習(xí)著名框架,你用過幾個(gè)?

導(dǎo)讀:近幾年,深度學(xué)習(xí)技術(shù)的大爆炸式發(fā)展,除了理論方面的突破外,還有基礎(chǔ)架構(gòu)的突破,這些都奠定了深度學(xué)習(xí)繁榮發(fā)展的基礎(chǔ)。本文將對(duì)其中涌現(xiàn)出的幾個(gè)著名的深度學(xué)習(xí)平臺(tái)進(jìn)行簡要介紹。

作者:魏溪含 涂銘 張修鵬

如需轉(zhuǎn)載請(qǐng)聯(lián)系華章科技

01 Theano

Theano是在BSD許可證下發(fā)布的一個(gè)開源項(xiàng)目,是由LISA集團(tuán)(現(xiàn)MILA)在加拿大魁北克的蒙特利爾大學(xué)開發(fā)的,其是以一位希臘數(shù)學(xué)家的名字命名的。

Theano是一個(gè)Python庫,可用于定義、優(yōu)化和計(jì)算數(shù)學(xué)表達(dá)式,特別是多維數(shù)組(numpy.ndarray)。它的誕生是為了執(zhí)行深度學(xué)習(xí)中的大規(guī)模神經(jīng)網(wǎng)絡(luò)算法,從本質(zhì)上而言,Theano可以被理解為一個(gè)數(shù)學(xué)表達(dá)式的編譯器:用符號(hào)式語言定義程序員所需的結(jié)果,并且Theano可以高效地運(yùn)行于GPU或CPU中。

在過去很長一段時(shí)間內(nèi),Theano是深度學(xué)習(xí)開發(fā)與研究的行業(yè)標(biāo)準(zhǔn)。而且,由于出身學(xué)界,它最初是為學(xué)術(shù)研究而設(shè)計(jì)的,這也導(dǎo)致深度學(xué)習(xí)領(lǐng)域的許多學(xué)者至今仍在使用Theano。

但隨著Tensorflow在Google的支持下強(qiáng)勢崛起,Theano日漸式微,使用Theano的人也越來越少。這個(gè)轉(zhuǎn)變的標(biāo)志性事件是:創(chuàng)始者之一的Ian Goodfellow放棄Theano轉(zhuǎn)而去Google開發(fā)Tensorflow了。

盡管Theano已退出歷史舞臺(tái),但作為Python的第一個(gè)深度學(xué)習(xí)框架,它很好地完成了自己的使命,為深度學(xué)習(xí)研究人員的早期拓荒提供了極大的幫助,同時(shí)也為之后的深度學(xué)習(xí)框架的開發(fā)奠定了基本的設(shè)計(jì)方向:以計(jì)算圖為框架的核心,采用GPU加速計(jì)算。

  • 總結(jié):對(duì)于深度學(xué)習(xí)新手,可以使用Theano來練手;但對(duì)于職業(yè)開發(fā)者,建議使用Tensorflow。

02 Tensorflow

2015年11月10日,Google宣布推出全新的機(jī)器學(xué)習(xí)開源工具Tensorflow。Tensorflow最初是由Google機(jī)器智能研究部門的Google Brain團(tuán)隊(duì)開發(fā),基于Google 2011年開發(fā)的深度學(xué)習(xí)基礎(chǔ)架構(gòu)DistBelief構(gòu)建起來的。

Tensorflow是廣泛使用的實(shí)現(xiàn)機(jī)器學(xué)習(xí)以及其他涉及大量數(shù)學(xué)運(yùn)算的算法庫之一。Google幾乎在所有應(yīng)用程序中都使用Tensorflow來實(shí)現(xiàn)機(jī)器學(xué)習(xí)。例如,如果你使用過Google照片或Google語音搜索,那么你就間接使用了Tensorflow模型。它們?cè)诖笮虶oogle硬件集群上工作,在感知任務(wù)方面,功能非常強(qiáng)大。

Tensorflow在很大程度上可以看作是Theano的后繼者,不僅因?yàn)樗鼈冇泻艽笠慌餐拈_發(fā)者,而且它們還擁有相近的設(shè)計(jì)理念:它們都是基于計(jì)算圖實(shí)現(xiàn)自動(dòng)微分系統(tǒng)。Tensorflow使用數(shù)據(jù)流圖進(jìn)行數(shù)值計(jì)算,圖中的節(jié)點(diǎn)代表數(shù)學(xué)運(yùn)算,圖中的邊則代表在這些節(jié)點(diǎn)之間傳遞的多維數(shù)組(tensor)。

Tensorflow編程接口支持Python和C++。隨著1.0版本的公布,Java、Go、R和Haskell API的alpha版本也得到支持。此外,Tensorflow還可在Google Cloud和AWS中運(yùn)行。

Tensorflow還支持Windows 7、Windows 10和Windows Server 2016。由于Tensorflow使用C++ Eigen庫,所以庫可在ARM架構(gòu)上進(jìn)行編譯和優(yōu)化。這也就意味著用戶可以在各種服務(wù)器和移動(dòng)設(shè)備上部署自己的訓(xùn)練模型,而無須執(zhí)行單獨(dú)的模型解碼器或者加載Python解釋器。

作為當(dāng)前最流行的深度學(xué)習(xí)框架,Tensorflow獲得了極大成功,但在學(xué)習(xí)過程中讀者需要注意下面這些問題。

  • 由于Tensorflow的接口一直處于快速迭代之中,并且版本之間存在不兼容的問題,因此開發(fā)和調(diào)試過程中可能會(huì)出現(xiàn)一些問題(許多開源代碼無法在新版的Tensorflow上運(yùn)行)。
  • 想要學(xué)習(xí)Tensorflow底層運(yùn)行機(jī)制的讀者需要做好準(zhǔn)備,Tensorflow在GitHub代碼倉庫的總代碼量超過100萬行,系統(tǒng)設(shè)計(jì)比較復(fù)雜,因此這將是一個(gè)漫長的過程。
  • 代碼層面,對(duì)于同一個(gè)功能,Tensorflow提供了多種實(shí)現(xiàn),這些實(shí)現(xiàn)良莠不齊,使用中還存在細(xì)微的區(qū)別,請(qǐng)讀者注意,避免入坑。另外,Tensorflow還創(chuàng)造了圖、會(huì)話、命名空間、PlaceHolder等諸多抽象概念,對(duì)普通用戶來說可能會(huì)難以理解。
  • 總結(jié):憑借著Google強(qiáng)大的推廣能力,Tensorflow已經(jīng)成為當(dāng)今最為熱門的深度學(xué)習(xí)框架,雖不完美但是最流行,目前,各公司使用的框架也不統(tǒng)一,讀者有必要多學(xué)習(xí)幾個(gè)流行框架以作為知識(shí)儲(chǔ)備,Tensorflow無疑是一個(gè)不錯(cuò)的選擇。

項(xiàng)目地址:

https://github.com/tensorflow/tensorflow

03 MXNet

MXNet是亞馬遜(Amazon)的李沐帶隊(duì)開發(fā)的深度學(xué)習(xí)框架。它擁有類似于Theano和Tensorflow的數(shù)據(jù)流圖,為多GPU架構(gòu)提供了良好的配置,有著類似于Lasagne和Blocks的更高級(jí)別的模型構(gòu)建塊,并且可以在你想象的任何硬件上運(yùn)行(包括手機(jī))。

對(duì)Python的支持只是其功能的冰山一角,MXNet同樣提供了對(duì)R、Julia、C++、Scala、Matlab、Golang和Java的接口。

MXNet以其超強(qiáng)的分布式支持,明顯的內(nèi)存、顯存優(yōu)化為人所稱道。同樣的模型,MXNet往往占用更小的內(nèi)存和顯存,并且在分布式環(huán)境下,MXNet展現(xiàn)出了明顯優(yōu)于其他框架的擴(kuò)展性能。

MXNet的缺點(diǎn)是推廣不給力及接口文檔不夠完善。MXNet長期處于快速迭代的過程中,其文檔卻長時(shí)間未更新,這就導(dǎo)致新手用戶難以掌握MXNet,老用戶則需要常常查閱源碼才能真正理解MXNet接口的用法。

  • 總結(jié):MXNet文檔比較混亂導(dǎo)致其不太適合新手入門,但其分布性能強(qiáng)大,語言支持比較多,比較適合在云平臺(tái)使用。

項(xiàng)目主頁:

https://mxnet.incubator.apache.org/

04 Keras

Keras是一個(gè)高層神經(jīng)網(wǎng)絡(luò)API,由純Python語言編寫而成,并使用Tensorflow、Theano及CNTK作為后端。Keras為支持快速實(shí)驗(yàn)而生,能夠?qū)⑾敕ㄑ杆俎D(zhuǎn)換為結(jié)果。

Keras應(yīng)該是深度學(xué)習(xí)框架之中最容易上手的一個(gè),它提供了一致而簡潔的API,能夠極大地減少一般應(yīng)用下用戶的工作量,避免用戶重復(fù)造輪子,而且Keras支持無縫CPU和GPU的相互轉(zhuǎn)換。

為了屏蔽后端的差異性,Keras做了層層封裝,導(dǎo)致用戶在新增操作或是獲取底層的數(shù)據(jù)信息時(shí)過于困難。同時(shí),過度封裝也使得Keras的程序過于緩慢,許多bug都隱藏于封裝之中。

另外就是學(xué)習(xí)Keras十分容易,但是很快就會(huì)遇到瓶頸,因?yàn)樗鄙凫`活性。另外,在使用Keras的大多數(shù)時(shí)間里,用戶主要是在調(diào)用接口,很難真正學(xué)習(xí)到深度學(xué)習(xí)的內(nèi)容。

  • 總結(jié):Keras比較適合作為練習(xí)使用的深度學(xué)習(xí)框架,但是因?yàn)槠溥^度的封裝導(dǎo)致并不適合新手學(xué)習(xí)(無法理解深度學(xué)習(xí)的真正內(nèi)涵),故不推薦。

項(xiàng)目主頁:

https://keras.io

05 PyTorch

PyTorch是一個(gè)Python優(yōu)先的深度學(xué)習(xí)框架,能夠在強(qiáng)大的GPU加速的基礎(chǔ)上實(shí)現(xiàn)張量和動(dòng)態(tài)神經(jīng)網(wǎng)絡(luò)。

PyTorch是一個(gè)Python軟件包,其提供了兩種高層面的功能,具體如下。

  1. 使用強(qiáng)大的GPU加速的Tensor計(jì)算(類似于Numpy)。
  2. 構(gòu)建基于tape的autograd系統(tǒng)的深度神經(jīng)網(wǎng)絡(luò)。
  3. 活躍的社區(qū):PyTorch提供了完整的文檔,循序漸進(jìn)的指南,作者親自維護(hù)論壇以供用戶交流和求教問題。Facebook人工智能研究院(FAIR)對(duì)PyTorch提供了強(qiáng)力支持,作為當(dāng)今排名前三的深度學(xué)習(xí)研究機(jī)構(gòu),F(xiàn)AIR的支持足以確保PyTorch獲得持續(xù)的開發(fā)更新,而不至于像許多由個(gè)人開發(fā)的框架那樣曇花一現(xiàn)。

如有需要,你也可以復(fù)用你喜歡的Python軟件包(如Numpy、scipy和Cython)來擴(kuò)展PyTorch。

相對(duì)于Tensorflow,PyTorch的一大優(yōu)點(diǎn)是,它的圖是動(dòng)態(tài)的,而Tensorflow等都是靜態(tài)圖,不利于擴(kuò)展。同時(shí),PyTorch非常簡潔,方便使用。

  • 總結(jié):如果說TensorFlow的設(shè)計(jì)是“Make It Complicated”,Keras的設(shè)計(jì)是“Make It Complicated And Hide It”,那么PyTorch的設(shè)計(jì)真正做到了“Keep it Simple,Stupid”。

項(xiàng)目地址:

http://pytorch.org/

06 Caffe

Caffe是基于C++語言編寫的深度學(xué)習(xí)框架,作者是中國人賈揚(yáng)清。它開放源碼(具有Licensed BSD),提供了命令行,以及Matlab和Python接口,清晰、可讀性強(qiáng)、容易上手。

Caffe是早期深度學(xué)習(xí)研究者使用的框架,由于很多研究人員在上面進(jìn)行開發(fā)和優(yōu)化,因此其現(xiàn)今也是流行的框架之一。Caffe也存在不支持多機(jī)、跨平臺(tái)、可擴(kuò)展性差等問題。初學(xué)者使用Caffe時(shí)還需要注意下面這些問題。

  1. Caffe的安裝過程需要大量的依賴庫,因此會(huì)涉及很多安裝版本問題,初學(xué)者不易上手。
  2. 當(dāng)用戶想要實(shí)現(xiàn)一個(gè)新的層時(shí),需要用C++實(shí)現(xiàn)它的前向傳播和反向傳播代碼,而如果想要新層運(yùn)行在GPU之上,則需要同時(shí)使用CUDA實(shí)現(xiàn)這一層的前向傳播和反向傳播。

Caffe2出自Facebook人工智能實(shí)驗(yàn)室與應(yīng)用機(jī)器學(xué)習(xí)團(tuán)隊(duì),但賈揚(yáng)清仍是主要貢獻(xiàn)者之一。Caffe2在工程上做了很多優(yōu)化,比如運(yùn)行速度、跨平臺(tái)、可擴(kuò)展性等,它可以看作是Caffe更細(xì)粒度的重構(gòu),但在設(shè)計(jì)上,其實(shí)Caffe2與TensorFlow更像。目前代碼已開源。

  • 總結(jié):至今工業(yè)界和學(xué)界仍有很多人在使用Caffe,而Caffe2的出現(xiàn)為我們提供了更多的選擇。

項(xiàng)目地址:

Caffe:http://caffe.berkeleyvision.org/

Caffe2:https://caffe2.ai/

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
如此多的深度學(xué)習(xí)框架,為什么我選擇PyTorch?
詳解 6 大主流深度學(xué)習(xí)框架
「10大深度學(xué)習(xí)框架實(shí)驗(yàn)對(duì)比」Caffe2最優(yōu),TensorFlow排第6
輕松進(jìn)行深度學(xué)習(xí)的11種Python庫和框架
2017 深度學(xué)習(xí)框架發(fā)展大盤點(diǎn)——迎來 PyTorch,告別 Theano
【github干貨】主流深度學(xué)習(xí)開源框架從入門到熟練
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服