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

基于TensorFlow和PyTorch的深度學習框架對比分析

2020-07-31 09:31:55黃玉萍梁煒萱肖祖環
現代信息科技 2020年4期
關鍵詞:深度學習

黃玉萍 梁煒萱 肖祖環

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

關鍵詞:深度學習;TensorFlow;PyTorch;適用場景

中圖分類號:TP181;TP391.41 ? ? ? 文獻標識碼:A 文章編號: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年就被提出的人工智能,得益于計算機網絡科技飛速發展帶來的數據量激增、運算力增強、機器學習能力的提升,在2012年后再次成為研究熱點,并實現了質的飛躍,眾多人工智能技術在工業、安防、日常生活等領域的應用,深入地改變了原有的方式,給社會的發展帶來極大的促進作用。

人工智能的飛躍式發展與機器學習算法的進步緊密相連,而深度學習則是實現機器學習的核心技術。開展深度學習相關項目,選擇合適的深度學習框架是相當重要的,合適的深度學習框架可以節省很多重復的工作。當前流行的深度學習框架主要包括TensorFlow、PyTorch、Keras、PaddlePaddle、CNTK、MXNet、DeepLearning4J、Theano、Chainer等。

本文依托廣東交通職業技術學院校內科技項目,對上述流行的深度學習框架的發展、特征等進行了歸納整理,并聚焦當前受眾最廣、熱度最高的兩種深度學習框架—TensorFlow和PyTorch,從歷程、現狀、性能、特點等角度重點分析總結兩者的優缺點,并給出對應的適用場景建議。首先歸納整理當前流行的深度學習框架,然后重點聚焦TensorFlow和PyTorch之間多角度的比較分析,最后根據兩者的特征分析結果,歸類對應適用場景的建議,為框架選擇提供思路參考。

1 ?深度學習框架

技術應用的普及與技術的高效實現密不可分,深度學習框架通過將深度學習算法模塊化封裝,能夠實現訓練、測試、調優模型的快速搭建,為技術應用的預測與落地的決策提供有力支持。當前人工智能生態的朝氣蓬勃與深度學習框架的百家齊放,可謂相輔相成,相互成就。目前主流的深度學習框架概況,具體如表1所示。

2 ?TensorFlow和PyTorch發展現狀

從GitHub討論熱度、各大頂級會議的選擇而言,TensorFlow和PyTorch無疑是當前受眾最廣、熱度最高的兩種深度學習框架。

2.1 ?發展歷程

TensorFlow的前身是2011年Google Brain內部孵化項目DistBelief,這是一個為深度神經網絡構建的機器學習系統。經過Google內部的錘煉后,在2015年11月9日,以Apache License 2.0的開源協議對外發布了TensorFlow,并于2017年2月發布了1.0.0版本,這標志著TensorFlow穩定版的誕生。2018年9月TensorFlow 1.2版本發布,將Keras融入TensorFlow,作為TensorFlow的高級API,這也標志著TensorFlow在面向數百萬新用戶開源的道路上邁出重要的一步。2019年9月正式發布TensorFlow 2.0版本,緊接著在11月,公布了TensorFlow 2.1的RC版本,兼容之前的流行庫,并還引入了眾多新庫,使得TensorFlow的功能空前強大。

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

2.2 ?現狀分析

康奈爾大學的Horace He[1]以及數據科學家、Rebel Desk的COO、Medium優秀作者Jeff Hale[2]都對TensorFlow和PyTorch在研究領域、工業領域的現狀進行了分析。研究領域的統計結果主要基于五大頂級會議論文的使用率來比較趨勢,工業領域則是通過線上招聘啟事中的提及率來比較趨勢。研究領域的關鍵統計結果展示如表2所示。

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

由圖1可知,在工業應用領域,TensorFlow依然保有優勢,尤其在TensorFlow 1.2版本融合Keras作為高級獨立API之后,結合Keras的統計數據,TensorFlow在工業領域的優勢則更加明顯。TensorFlow在工業領域的領先優勢得益于其誕生的時間較早,工業界較早引入TensorFlow框架,并已形成行業慣性,且工業界在對新事物的熱情程度遠不如研究界等因素。

綜合而言,近兩年PyTorch發展勢頭強勁已是不爭事實,尤其在研究領域迅速虜獲一批研究人員的喜愛,而在工業領域則相對較弱。TensorFlow在研究領域、工業領域,依舊保持相對優勢,只是發展勢頭相對放緩,業務面臨被PyTorch、Keras、PaddlePaddle等分流的壓力,但就當前現狀而言,并隨著TensorFlow自身的逐步完善,其占據首位的實力依舊不易撼動。

3 ?TensorFlow和PyTorch比較分析

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

3.1 ?運行機制

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

3.2 ?訓練模式

在分布式訓練中,TensorFlow和PyTorch的一個主要差異特點是數據并行化,用 TensorFlow時,使用者必須手動編寫代碼,并微調要在特定設備上運行的每個操作,以實現分布式訓練;而PyTorch則是利用異步執行的本地支持來實現的,其自身在分布式訓練是比較欠缺的。

3.3 ?可視化情況

在可視化方面,TensorFlow內置的TensorBoard庫非常強大,能夠顯示模型圖,繪制標量變量,實現圖像、嵌入可視化,甚至是播放音頻等功能;反觀PyTorch的可視化情況,則顯得有點差強人意,開發者可以使用Visdom,但是Visdom提供的功能很簡單且有限,可視化效果遠遠比不上TensorBoard。

3.4 ?生產部署

對于生產部署而言,TensorFlow具有絕對優勢,其可直接使用TensorFlow Serving在 TensorFlow中部署模型,而PyTorch沒有提供任何用于在網絡上直接部署模型的框架,需要使用Flask或者另一種替代方法來基于模型編寫一個REST API。

3.5 ?細化特征比較

為了更好地對比TensorFlow和PyTorch兩框架之間的區別與聯系,通過官網內容、論壇反饋、自身實踐等多方面資源的整理,得出如表3所示的對比結果。

3.6 ?適用場景建議

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

總體而言,TensorFlow在保持原有優勢的同時進一步融合包括Keras在內的優質資源,極大增強其易用性與可調試性,而PyTorch雖然年輕,但增長的勢頭猛烈,并通過融合Caffe2來進一步強化自身優勢。兩者都在保留原有優勢的同時,努力補齊自身短板,這使得在某種程度上兩者有融合的趨勢,未來哪一種框架更具優勢,現在定論必定過早,因此,在選擇框架時,可參照上述內容,并結合項目的時效、成本、維護等多方面綜合考量后再決定。

4 ?結 ?論

當前并沒有完美的深度學習框架,因此從眾多主流的深度學習框架中選擇適合自身項目的框架并非易事。通過從運行機制、訓練模式、可視化情況、生產部署以及一些細化特征的比較,我們可以發現,TensorFlow整體而言比較成熟、穩定且偏重于工業領域,適用于中大型項目,而較為年輕的PyTorch憑借其易用性在研究領域嶄露頭角,發展勢頭很猛,但仍需時日才能與TensorFlow全面抗爭,在中小型項目中選擇PyTorch作為新的嘗試,或許會是一種很好的選擇。

參考文獻:

[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] 段仲靜,李少波,胡建軍,等.深度學習目標檢測方法及主流框架綜述 [J/OL].激光與光電子學進展:1-18(2019-12-11).http://kns.cnki.net/kcms/detail/31.1690.TN.20191210.1 209.022.html.

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

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

[8] 龐濤.開源深度學習框架發展現狀與趨勢研究 [J].互聯網天地,2018(4):46-54.

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

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

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

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

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

猜你喜歡
深度學習
從合坐走向合學:淺議新學習模式的構建
面向大數據遠程開放實驗平臺構建研究
基于自動智能分類器的圖書館亂架圖書檢測
搭建深度學習的三級階梯
有體驗的學習才是有意義的學習
電子商務中基于深度學習的虛假交易識別研究
現代情報(2016年10期)2016-12-15 11:50:53
利用網絡技術促進學生深度學習的幾大策略
考試周刊(2016年94期)2016-12-12 12:15:04
MOOC與翻轉課堂融合的深度學習場域建構
大數據技術在反恐怖主義中的應用展望
深度學習算法應用于巖石圖像處理的可行性研究
軟件導刊(2016年9期)2016-11-07 22:20:49
主站蜘蛛池模板: 伊人中文网| 老色鬼欧美精品| 亚洲天堂网在线观看视频| 激情乱人伦| 婷五月综合| 日韩国产精品无码一区二区三区| 亚洲一区二区在线无码| WWW丫丫国产成人精品| 国产97视频在线观看| 91黄色在线观看| 女人爽到高潮免费视频大全| 国产内射在线观看| 国产成人精彩在线视频50| 成AV人片一区二区三区久久| 日韩福利视频导航| 欧美国产在线看| 中国一级毛片免费观看| 欧美中文字幕在线二区| 久久免费精品琪琪| 久久精品只有这里有| 欧美亚洲国产一区| 国产v精品成人免费视频71pao| 亚洲一级毛片在线播放| 中文字幕在线观看日本| 广东一级毛片| 凹凸精品免费精品视频| 国产尤物jk自慰制服喷水| 久久久久久国产精品mv| 久久精品aⅴ无码中文字幕 | 日韩精品成人在线| 国产成本人片免费a∨短片| 日韩AV无码一区| 欧美区国产区| 全部毛片免费看| 天堂在线www网亚洲| 91欧美在线| 狠狠操夜夜爽| 伊人久久综在合线亚洲2019| 亚洲全网成人资源在线观看| 91伊人国产| 亚洲国产成人无码AV在线影院L | 亚洲无线一二三四区男男| 免费中文字幕在在线不卡| 色屁屁一区二区三区视频国产| jijzzizz老师出水喷水喷出| 制服丝袜一区| 亚洲乱码视频| 精品久久蜜桃| 色香蕉影院| 亚洲精品国偷自产在线91正片| 老司机精品一区在线视频| 亚洲男人的天堂在线观看| 婷婷综合在线观看丁香| 国产99视频精品免费视频7| 色播五月婷婷| 91国内视频在线观看| 亚洲中文在线视频| 国产91无码福利在线| 欧美区一区二区三| 亚洲一区波多野结衣二区三区| 五月婷婷激情四射| 久久国产香蕉| 免费人成黄页在线观看国产| 国产一区二区三区免费观看| 国产欧美视频在线| 国产人人乐人人爱| 伊人激情综合网| 激情六月丁香婷婷四房播| 免费看av在线网站网址| 色妞永久免费视频| 国产无码精品在线播放| 香蕉色综合| 99久久这里只精品麻豆| 精品久久久久久成人AV| 老司机久久精品视频| 中文字幕在线观看日本| 亚洲国产在一区二区三区| 久久国产V一级毛多内射| 一级成人a做片免费| 极品私人尤物在线精品首页| 欧美啪啪网| 国产在线麻豆波多野结衣|