999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于TensorFlow和PyTorch的深度學(xué)習(xí)框架對(duì)比分析

2020-07-31 09:31:55黃玉萍梁煒萱肖祖環(huán)
現(xiàn)代信息科技 2020年4期
關(guān)鍵詞:深度學(xué)習(xí)

黃玉萍 梁煒萱 肖祖環(huán)

摘 ?要:深度學(xué)習(xí)框架是實(shí)現(xiàn)機(jī)器學(xué)習(xí)的關(guān)鍵工具,合適的深度學(xué)習(xí)框架可以達(dá)到事半功倍的效果。為助力研究者選擇合適的框架,在回顧近十種常見(jiàn)框架的基礎(chǔ)上,聚焦當(dāng)前受眾最廣、熱度最高的兩種深度學(xué)習(xí)框架TensorFlow和PyTorch,從歷程、現(xiàn)狀、機(jī)制、訓(xùn)練模式、可視化、工業(yè)部署等角度對(duì)兩者進(jìn)行比對(duì)分析,并歸類對(duì)應(yīng)適用場(chǎng)景的建議,為框架選擇提供思路參考。

關(guān)鍵詞:深度學(xué)習(xí);TensorFlow;PyTorch;適用場(chǎng)景

中圖分類號(hào):TP181;TP391.41 ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2096-4706(2020)04-0080-04

Abstract:A deep learning framework is a key tool for implementing machine learning. A suitable deep learning framework can achieve more results with less effort. In order to help researchers choose the appropriate framework,based on reviewing nearly ten common frameworks,focus on the two deep learning frameworks (TensorFlow and PyTorch) that are currently the most widely used and most popular. From history,status,mechanism,training mode,visualization,industrial deployment and other perspectives compare and analyze the two,and categorize suggestions corresponding to applicable scenarios,providing a reference for framework selection.

Keywords:deep learning framework;TensorFlow;PyTorch;application scene

0 ?引 ?言

早在1956年就被提出的人工智能,得益于計(jì)算機(jī)網(wǎng)絡(luò)科技飛速發(fā)展帶來(lái)的數(shù)據(jù)量激增、運(yùn)算力增強(qiáng)、機(jī)器學(xué)習(xí)能力的提升,在2012年后再次成為研究熱點(diǎn),并實(shí)現(xiàn)了質(zhì)的飛躍,眾多人工智能技術(shù)在工業(yè)、安防、日常生活等領(lǐng)域的應(yīng)用,深入地改變了原有的方式,給社會(huì)的發(fā)展帶來(lái)極大的促進(jìn)作用。

人工智能的飛躍式發(fā)展與機(jī)器學(xué)習(xí)算法的進(jìn)步緊密相連,而深度學(xué)習(xí)則是實(shí)現(xiàn)機(jī)器學(xué)習(xí)的核心技術(shù)。開展深度學(xué)習(xí)相關(guān)項(xiàng)目,選擇合適的深度學(xué)習(xí)框架是相當(dāng)重要的,合適的深度學(xué)習(xí)框架可以節(jié)省很多重復(fù)的工作。當(dāng)前流行的深度學(xué)習(xí)框架主要包括TensorFlow、PyTorch、Keras、PaddlePaddle、CNTK、MXNet、DeepLearning4J、Theano、Chainer等。

本文依托廣東交通職業(yè)技術(shù)學(xué)院校內(nèi)科技項(xiàng)目,對(duì)上述流行的深度學(xué)習(xí)框架的發(fā)展、特征等進(jìn)行了歸納整理,并聚焦當(dāng)前受眾最廣、熱度最高的兩種深度學(xué)習(xí)框架—TensorFlow和PyTorch,從歷程、現(xiàn)狀、性能、特點(diǎn)等角度重點(diǎn)分析總結(jié)兩者的優(yōu)缺點(diǎn),并給出對(duì)應(yīng)的適用場(chǎng)景建議。首先歸納整理當(dāng)前流行的深度學(xué)習(xí)框架,然后重點(diǎn)聚焦TensorFlow和PyTorch之間多角度的比較分析,最后根據(jù)兩者的特征分析結(jié)果,歸類對(duì)應(yīng)適用場(chǎng)景的建議,為框架選擇提供思路參考。

1 ?深度學(xué)習(xí)框架

技術(shù)應(yīng)用的普及與技術(shù)的高效實(shí)現(xiàn)密不可分,深度學(xué)習(xí)框架通過(guò)將深度學(xué)習(xí)算法模塊化封裝,能夠?qū)崿F(xiàn)訓(xùn)練、測(cè)試、調(diào)優(yōu)模型的快速搭建,為技術(shù)應(yīng)用的預(yù)測(cè)與落地的決策提供有力支持。當(dāng)前人工智能生態(tài)的朝氣蓬勃與深度學(xué)習(xí)框架的百家齊放,可謂相輔相成,相互成就。目前主流的深度學(xué)習(xí)框架概況,具體如表1所示。

2 ?TensorFlow和PyTorch發(fā)展現(xiàn)狀

從GitHub討論熱度、各大頂級(jí)會(huì)議的選擇而言,TensorFlow和PyTorch無(wú)疑是當(dāng)前受眾最廣、熱度最高的兩種深度學(xué)習(xí)框架。

2.1 ?發(fā)展歷程

TensorFlow的前身是2011年Google Brain內(nèi)部孵化項(xiàng)目DistBelief,這是一個(gè)為深度神經(jīng)網(wǎng)絡(luò)構(gòu)建的機(jī)器學(xué)習(xí)系統(tǒng)。經(jīng)過(guò)Google內(nèi)部的錘煉后,在2015年11月9日,以Apache License 2.0的開源協(xié)議對(duì)外發(fā)布了TensorFlow,并于2017年2月發(fā)布了1.0.0版本,這標(biāo)志著TensorFlow穩(wěn)定版的誕生。2018年9月TensorFlow 1.2版本發(fā)布,將Keras融入TensorFlow,作為TensorFlow的高級(jí)API,這也標(biāo)志著TensorFlow在面向數(shù)百萬(wàn)新用戶開源的道路上邁出重要的一步。2019年9月正式發(fā)布TensorFlow 2.0版本,緊接著在11月,公布了TensorFlow 2.1的RC版本,兼容之前的流行庫(kù),并還引入了眾多新庫(kù),使得TensorFlow的功能空前強(qiáng)大。

相比較而言,PyTorch則比較年輕。2017年1月,由Face-book人工智能研究院(FAIR)基于Torch推出了PyTorch,并于2018年5月正式公布PyTorch 1.0版本,這個(gè)新的框架將PyTorch 0.4與賈揚(yáng)清的Caffe2合并,并整合ONNX格式,讓開發(fā)者可以無(wú)縫地將AI模型從研究轉(zhuǎn)到生產(chǎn),而無(wú)需處理遷移。最新版PyTorch 1.3于2019年10月上線,更新增加了很多的新特性,包括無(wú)縫移動(dòng)設(shè)備部署、量化模型以加速推斷、前端改進(jìn)(如對(duì)張量進(jìn)行命名和創(chuàng)建更干凈的代碼)等,PyTorch官方同時(shí)還開源了很多新工具和庫(kù),使得PyTorch的眾多功能向TensorFlow趨同,同時(shí)保有自身原有特性,競(jìng)爭(zhēng)力得到極大增強(qiáng)。

2.2 ?現(xiàn)狀分析

康奈爾大學(xué)的Horace He[1]以及數(shù)據(jù)科學(xué)家、Rebel Desk的COO、Medium優(yōu)秀作者Jeff Hale[2]都對(duì)TensorFlow和PyTorch在研究領(lǐng)域、工業(yè)領(lǐng)域的現(xiàn)狀進(jìn)行了分析。研究領(lǐng)域的統(tǒng)計(jì)結(jié)果主要基于五大頂級(jí)會(huì)議論文的使用率來(lái)比較趨勢(shì),工業(yè)領(lǐng)域則是通過(guò)線上招聘啟事中的提及率來(lái)比較趨勢(shì)。研究領(lǐng)域的關(guān)鍵統(tǒng)計(jì)結(jié)果展示如表2所示。

從表2我們可以發(fā)現(xiàn),在研究領(lǐng)域,PyTorch的使用率在近兩年飛速提升。69%的CVPR論文、75%以上的NAACL和ACL論文,以及50%以上的ICLR和ICML論文都選擇使用PyTorch,可謂迅速獲得研究人員的青睞,而TensorFlow則沒(méi)有如此耀眼的數(shù)據(jù)。

由圖1可知,在工業(yè)應(yīng)用領(lǐng)域,TensorFlow依然保有優(yōu)勢(shì),尤其在TensorFlow 1.2版本融合Keras作為高級(jí)獨(dú)立API之后,結(jié)合Keras的統(tǒng)計(jì)數(shù)據(jù),TensorFlow在工業(yè)領(lǐng)域的優(yōu)勢(shì)則更加明顯。TensorFlow在工業(yè)領(lǐng)域的領(lǐng)先優(yōu)勢(shì)得益于其誕生的時(shí)間較早,工業(yè)界較早引入TensorFlow框架,并已形成行業(yè)慣性,且工業(yè)界在對(duì)新事物的熱情程度遠(yuǎn)不如研究界等因素。

綜合而言,近兩年P(guān)yTorch發(fā)展勢(shì)頭強(qiáng)勁已是不爭(zhēng)事實(shí),尤其在研究領(lǐng)域迅速虜獲一批研究人員的喜愛(ài),而在工業(yè)領(lǐng)域則相對(duì)較弱。TensorFlow在研究領(lǐng)域、工業(yè)領(lǐng)域,依舊保持相對(duì)優(yōu)勢(shì),只是發(fā)展勢(shì)頭相對(duì)放緩,業(yè)務(wù)面臨被PyTorch、Keras、PaddlePaddle等分流的壓力,但就當(dāng)前現(xiàn)狀而言,并隨著TensorFlow自身的逐步完善,其占據(jù)首位的實(shí)力依舊不易撼動(dòng)。

3 ?TensorFlow和PyTorch比較分析

Pulkit Sharma[3]認(rèn)為,一個(gè)良好的深度學(xué)習(xí)框架應(yīng)該具備優(yōu)化的性能、易于理解的框架與編碼、良好的社區(qū)支持、并行化的進(jìn)程以及自動(dòng)計(jì)算梯度等特征,TensorFlow和PyTorch在這些方面都有良好的表現(xiàn),為了更為細(xì)致地比較兩者之間的差異優(yōu)勢(shì),下面將對(duì)最新版TensorFlow 2.0版本和PyTorch 1.3版本先從運(yùn)行機(jī)制、訓(xùn)練模式、可視化情況、生產(chǎn)部署等方面進(jìn)行差異比較,然后再通過(guò)細(xì)化特征進(jìn)行定性比較,最后歸類對(duì)應(yīng)適用場(chǎng)景的建議。

3.1 ?運(yùn)行機(jī)制

兩個(gè)框架都是在張量上進(jìn)行運(yùn)算,并將任意一個(gè)模型看成是有向非循環(huán)圖(DAG),但TensorFlow遵循“數(shù)據(jù)即代碼,代碼即數(shù)據(jù)”的理念,當(dāng)在TensorFlow中運(yùn)行代碼時(shí),DAG是以靜態(tài)方式定義的,若需要實(shí)現(xiàn)動(dòng)態(tài)DAG,則需要借助TensorFlow Fold庫(kù);而PyTorch屬于更Python化的框架,動(dòng)態(tài)DAG是內(nèi)置的,可以隨時(shí)定義、隨時(shí)更改、隨時(shí)執(zhí)行節(jié)點(diǎn),并且沒(méi)有特殊的會(huì)話接口或占位符,相當(dāng)靈活。此外,在調(diào)試方面,由于PyTorch中的計(jì)算圖是在運(yùn)行的時(shí)候定義的,因此使用者可以使用任何一個(gè)喜歡的調(diào)試工具,比如PDB、IPDB、PyCharm調(diào)試器或者原始的print語(yǔ)句;而TensorFlow并不能這樣,它需要借助特殊的調(diào)試工具tfdbg才能進(jìn)行調(diào)試。

3.2 ?訓(xùn)練模式

在分布式訓(xùn)練中,TensorFlow和PyTorch的一個(gè)主要差異特點(diǎn)是數(shù)據(jù)并行化,用 TensorFlow時(shí),使用者必須手動(dòng)編寫代碼,并微調(diào)要在特定設(shè)備上運(yùn)行的每個(gè)操作,以實(shí)現(xiàn)分布式訓(xùn)練;而PyTorch則是利用異步執(zhí)行的本地支持來(lái)實(shí)現(xiàn)的,其自身在分布式訓(xùn)練是比較欠缺的。

3.3 ?可視化情況

在可視化方面,TensorFlow內(nèi)置的TensorBoard庫(kù)非常強(qiáng)大,能夠顯示模型圖,繪制標(biāo)量變量,實(shí)現(xiàn)圖像、嵌入可視化,甚至是播放音頻等功能;反觀PyTorch的可視化情況,則顯得有點(diǎn)差強(qiáng)人意,開發(fā)者可以使用Visdom,但是Visdom提供的功能很簡(jiǎn)單且有限,可視化效果遠(yuǎn)遠(yuǎn)比不上TensorBoard。

3.4 ?生產(chǎn)部署

對(duì)于生產(chǎn)部署而言,TensorFlow具有絕對(duì)優(yōu)勢(shì),其可直接使用TensorFlow Serving在 TensorFlow中部署模型,而PyTorch沒(méi)有提供任何用于在網(wǎng)絡(luò)上直接部署模型的框架,需要使用Flask或者另一種替代方法來(lái)基于模型編寫一個(gè)REST API。

3.5 ?細(xì)化特征比較

為了更好地對(duì)比TensorFlow和PyTorch兩框架之間的區(qū)別與聯(lián)系,通過(guò)官網(wǎng)內(nèi)容、論壇反饋、自身實(shí)踐等多方面資源的整理,得出如表3所示的對(duì)比結(jié)果。

3.6 ?適用場(chǎng)景建議

Kirill Dubovikov[4]對(duì)兩者之間的差異進(jìn)行了總結(jié),并給出對(duì)應(yīng)的適用建議,結(jié)合GitHub、CSDN等社區(qū)、論壇相關(guān)從業(yè)人員的建議,大體可歸納為:當(dāng)需要擁有豐富的入門資源、開發(fā)大型生產(chǎn)模型、可視化要求較高、大規(guī)模分布式模型訓(xùn)練時(shí),TensorFlow或許是當(dāng)前最好的選擇;而如果想要快速上手、對(duì)于功能性需求不苛刻、追求良好的開發(fā)和調(diào)試體驗(yàn)、擅長(zhǎng)Python化的工具時(shí),PyTorch或許是值得花時(shí)間嘗試的框架。

總體而言,TensorFlow在保持原有優(yōu)勢(shì)的同時(shí)進(jìn)一步融合包括Keras在內(nèi)的優(yōu)質(zhì)資源,極大增強(qiáng)其易用性與可調(diào)試性,而PyTorch雖然年輕,但增長(zhǎng)的勢(shì)頭猛烈,并通過(guò)融合Caffe2來(lái)進(jìn)一步強(qiáng)化自身優(yōu)勢(shì)。兩者都在保留原有優(yōu)勢(shì)的同時(shí),努力補(bǔ)齊自身短板,這使得在某種程度上兩者有融合的趨勢(shì),未來(lái)哪一種框架更具優(yōu)勢(shì),現(xiàn)在定論必定過(guò)早,因此,在選擇框架時(shí),可參照上述內(nèi)容,并結(jié)合項(xiàng)目的時(shí)效、成本、維護(hù)等多方面綜合考量后再?zèng)Q定。

4 ?結(jié) ?論

當(dāng)前并沒(méi)有完美的深度學(xué)習(xí)框架,因此從眾多主流的深度學(xué)習(xí)框架中選擇適合自身項(xiàng)目的框架并非易事。通過(guò)從運(yùn)行機(jī)制、訓(xùn)練模式、可視化情況、生產(chǎn)部署以及一些細(xì)化特征的比較,我們可以發(fā)現(xiàn),TensorFlow整體而言比較成熟、穩(wěn)定且偏重于工業(yè)領(lǐng)域,適用于中大型項(xiàng)目,而較為年輕的PyTorch憑借其易用性在研究領(lǐng)域嶄露頭角,發(fā)展勢(shì)頭很猛,但仍需時(shí)日才能與TensorFlow全面抗?fàn)帲谥行⌒晚?xiàng)目中選擇PyTorch作為新的嘗試,或許會(huì)是一種很好的選擇。

參考文獻(xiàn):

[1] HE H. The State of Machine Learning Frameworks in 2019 [EB/OL].(2019-10-10).https://thegradient.pub/state-of-ml-frameworks-2019-pytorch-dominates-research-tensorflow-dominates-industry/.

[2] HALE J. Which Deep Learning Framework is Growing Fastest [EB/OL].(2019-04-01).https://towardsdatascience.com/which-deep-learning-framework-is-growing-fastest-3f77f14aa318.

[3] Sharma P. 5 Amazing Deep Learning Frameworks Every Data Scientist Must Know [EB/OL].(2019-03-14).https://www.analyticsvidhya.com/blog/2019/03/deep-learning-frameworks-comparison/.

[4] DUBOVIKOV K. PyTorch vs TensorFlow — Spotting the Difference [EB/OL].(2017-06-21).https://medium.com/@dubovikov.kirill/pytorch-vs-tensorflow-spotting-the-difference-25c75777377b.

[5] 段仲靜,李少波,胡建軍,等.深度學(xué)習(xí)目標(biāo)檢測(cè)方法及主流框架綜述 [J/OL].激光與光電子學(xué)進(jìn)展:1-18(2019-12-11).http://kns.cnki.net/kcms/detail/31.1690.TN.20191210.1 209.022.html.

[6] 許淑揚(yáng).深度學(xué)習(xí)框架Caffe在圖像分類中的應(yīng)用探析 [J].信息與電腦(理論版),2019,31(23):95-96.

[7] 加日拉·買買提熱衣木,常富蓉,劉晨,等.主流深度學(xué)習(xí)框架對(duì)比 [J].電子技術(shù)與軟件工程,2018(7):74.

[8] 龐濤.開源深度學(xué)習(xí)框架發(fā)展現(xiàn)狀與趨勢(shì)研究 [J].互聯(lián)網(wǎng)天地,2018(4):46-54.

[9] 李西.人工智能背景下的各大深度學(xué)習(xí)框架展望 [J].計(jì)算機(jī)產(chǎn)品與流通,2018(8):145.

[10] 51CTO.2019深度學(xué)習(xí)框架排行榜 [EB/OL].(2019-08-02).https://ai.51cto.com/art/201908/600692.htm.

[11] 阿里云云棲號(hào).關(guān)于TensorFlow你需要了解的9件事 [EB/OL].(2018-08-27).https://www.jianshu.com/p/435f9 f109b22.

[12] 燚智能物聯(lián)網(wǎng).Chainer時(shí)代即將結(jié)束 [EB/OL].(2019-12-13).http://www.openpcba.com/web/contents/get?id= 5845&tid=15.

作者簡(jiǎn)介:黃玉萍(1989-),女,漢族,江西贛州人,講師,碩士研究生,研究方向:軌道交通控制,弓網(wǎng)建模;梁煒萱(2000-),女,漢族,廣東清遠(yuǎn)人,研究方向:城市軌道交通通信信號(hào)處理;肖祖環(huán)(1998-),男,漢族,四川達(dá)州人,研究方向:城市軌道交通通信信號(hào)處理。

猜你喜歡
深度學(xué)習(xí)
從合坐走向合學(xué):淺議新學(xué)習(xí)模式的構(gòu)建
面向大數(shù)據(jù)遠(yuǎn)程開放實(shí)驗(yàn)平臺(tái)構(gòu)建研究
基于自動(dòng)智能分類器的圖書館亂架圖書檢測(cè)
搭建深度學(xué)習(xí)的三級(jí)階梯
有體驗(yàn)的學(xué)習(xí)才是有意義的學(xué)習(xí)
電子商務(wù)中基于深度學(xué)習(xí)的虛假交易識(shí)別研究
利用網(wǎng)絡(luò)技術(shù)促進(jìn)學(xué)生深度學(xué)習(xí)的幾大策略
考試周刊(2016年94期)2016-12-12 12:15:04
MOOC與翻轉(zhuǎn)課堂融合的深度學(xué)習(xí)場(chǎng)域建構(gòu)
大數(shù)據(jù)技術(shù)在反恐怖主義中的應(yīng)用展望
深度學(xué)習(xí)算法應(yīng)用于巖石圖像處理的可行性研究
主站蜘蛛池模板: 欧美爱爱网| 国产香蕉97碰碰视频VA碰碰看| 久久性视频| 精品国产一区二区三区在线观看| 亚洲精品国产综合99久久夜夜嗨| 亚洲一区二区黄色| 色九九视频| a级毛片一区二区免费视频| 成人毛片免费在线观看| 第九色区aⅴ天堂久久香| 午夜啪啪福利| 久操中文在线| 国产成人乱码一区二区三区在线| 国产毛片不卡| AV无码国产在线看岛国岛| Aⅴ无码专区在线观看| 亚洲国产日韩欧美在线| 蜜臀AVWWW国产天堂| 在线免费亚洲无码视频| 午夜高清国产拍精品| 亚洲综合天堂网| 亚洲第一精品福利| 欧美亚洲另类在线观看| 久久这里只精品热免费99| 亚洲一区波多野结衣二区三区| 国产00高中生在线播放| 91精品专区国产盗摄| 一本大道无码高清| 欧美天堂久久| 久久中文电影| 97成人在线视频| 国产亚洲日韩av在线| 国产农村精品一级毛片视频| 欧美精品1区2区| 亚洲第一网站男人都懂| a网站在线观看| 国产精品香蕉在线| 真人免费一级毛片一区二区| 2020最新国产精品视频| 久操中文在线| 亚洲区第一页| 成人毛片免费在线观看| 国产福利拍拍拍| 97综合久久| 日韩免费毛片视频| 国产男女免费视频| 亚洲综合狠狠| 狠狠ⅴ日韩v欧美v天堂| 99人妻碰碰碰久久久久禁片| 天堂av高清一区二区三区| 国产精品私拍99pans大尺度| 久久国产成人精品国产成人亚洲| 国产一区成人| 伊人福利视频| 美女亚洲一区| 五月婷婷综合在线视频| 精品综合久久久久久97超人| 亚洲精品老司机| 青青青草国产| 精品福利国产| 国产Av无码精品色午夜| av手机版在线播放| 一本大道无码高清| 国产白浆在线| 怡春院欧美一区二区三区免费| 久久久久久高潮白浆| 91久久国产热精品免费| 精品无码国产一区二区三区AV| 国产人成网线在线播放va| 国产熟女一级毛片| 欧美a在线视频| 久久99热这里只有精品免费看| 18黑白丝水手服自慰喷水网站| 久久精品无码一区二区日韩免费| 91在线一9|永久视频在线| 日本久久网站| 福利一区在线| 亚洲欧美在线综合图区| 亚洲精品国产成人7777| 国产精品视频a| 久久婷婷五月综合色一区二区| 91精品国产自产91精品资源|