成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

2019深度學習框架排行榜 (從TOP 10到TOP 3)

原創
人工智能 深度學習
得益于深度學習框架發展初期各家為更好地推動技術發展而造就的開源生態模式,如今,深度學習框架百花齊放,百家爭鳴,快速推動了深度技術在工業界的落地應用。當然,好“藥”也得有好“爐”煉,下面我們就介紹下目前主流的深度學習框架的發展狀況,各自的特點以及適合的場景等,希望能夠幫助大家找到合適的“爐”。

【51CTO.com原創稿件】

1. 寫在前面

5G可以說是2019年上半年十分閃耀的那顆“星”了,美方還不惜代價地試圖封鎖中國的5G技術出海。5G之所以重要,是因為其將和AI技術,大數據技術一道顛覆我們現有的生活模式,讓智能化成為現實。

在智能化的世界,5G技術提供高速率(>1 Gbps),低延時(1ms)的基礎網絡服務,組建物聯網(IoT,Internet of Things),大數據技術提供對萬物互聯產生的海量數據的整合能力,而AI技術則提供整個智能生態的計算與決策能力,深度學習技術是非常高效的實現方式,在過去10年,已被學術界和工業界反復證實是一劑“靈丹妙藥”,依靠各種模型、算法可以比人類判斷得更精準、更快速。

Figure 1 智能時代

技術需要高效的模式來實現應用,深度學習框架就是那個實現“靈藥“的“煉丹爐”,能夠通過深度學習算法模塊化的封裝,快速搭建模型,輸入數據,進行各種模型的訓練,調優,測試和部署,為整個智能生態提供預測,決策等核心推斷能力。

2. 深度學習框架排行榜

得益于深度學習框架發展初期各家為更好地推動技術發展而造就的開源生態模式,如今,深度學習框架百花齊放,百家爭鳴,快速推動了深度技術在工業界的落地應用。當然,好“藥”也得有好“爐”煉,下面我們就介紹下目前主流的深度學習框架的發展狀況,各自的特點以及適合的場景等,希望能夠幫助大家找到合適的“爐”。

下文將從業界影響、資源投入、開發生態、文檔體系、模型全面性、工業實踐和開源熱度(GitHub)等七個方面評估各框架的發展狀況,結果如下圖(供參考)。

Figure 2 十大深度學習框架發展程度(caffe,caffe2分開統計)

再來看一下GitHub對應的一些數據情況,Pytorch,TensorFlow,PaddlePaddle過去兩年保持了較快的發展速度,尤其是Pytorch的星數增長了3倍,獲得了頗多關注。而Caffe&Caffe2,Theano,CNTK等,雖然已經停止迭代,但得益于產業的快速發展,GitHub星數仍有一定增長。

Figure 3 十大深度學習框架GitHub數據變化(caffe,caffe2分開統計)

Figure 4 十大深度學習框架增長率(caffe,caffe2分開統計)

3. 十大深度學習框架詳解

TensorFlow

Google的TensorFlow,可以說是當今十分流行的深度學習框架。Airbnb,DeepMind,Intel,Nvidia,Twitter以及許多其他著名公司都在使用它。

Google自開源TensorFlow起,投入大量的人力,物力,財力,逐步構建了一個AI生態,從基礎研究、AI教育再到應用實現,而這個生態的核心就是TensorFlow。如前所說,深度學習是AIoT時代的基石,毫無疑問,Google依然走在時代轉折點的前列。

TensorFlow提供全面的服務,無論是Python,C++,JAVA,Go,甚至是JavaScript,Julia,C#,幾乎所有開發者都可以從熟悉的語言入手開始深度學習的旅程。TensorFlow構建了活躍的社區,完善的文檔體系,大大降低了我們的學習成本,不過社區和文檔主要以英文為主,中文支持有待加強。另外,TensorFlow有很直觀的計算圖可視化呈現。模型能夠快速的部署在各種硬件機器上,從高性能的計算機到移動設備,再到更小的更輕量的智能終端。

TensorFlow的缺點已經被詬病多年,相比Pytorch,Caffe等框架,TensorFlow的計算速度可以說是“牛拉車“。而且通過它構建一個深度學習框架需要更復雜的代碼,還要忍受重復的多次構建靜態圖。

但綜合來說,對于英文閱讀和英文交流毫無障礙的同學,TensorFlow依然是深度學習框架的優選方案。

Pytorch

Pytorch是基于用Lua編寫的Torch庫的Python實現的深度學習庫,它由Facebook創建,目前被廣泛應用于學術界和工業界,隨著Caffe2項目并入Pytorch, Pytorch開始威脅到TensorFlow在深度學習應用框架領域的地位。

Pytorch官網的標題語簡明地描述了Pytorch的特點以及將要發力的方向。Pytorch在學術界優勢很大,關于用到深度學習模型的文章,除了Google的,其他大部分都是通過Pytorch進行實驗的,究其原因,一是Pytorch庫足夠簡單,跟NumPy,SciPy等可以無縫連接,而且基于tensor的GPU加速非常給力,二是訓練網絡迭代的核心-梯度的計算,Autograd架構(借鑒于Chainer),基于Pytorch,我們可以動態地設計網絡,而無需笨拙地定義靜態網絡圖,才能去進行計算,想要對網絡有任務修改,都要從頭開始構建靜態圖。基于簡單,靈活的設計,Pytorch快速成為了學術界的主流深度學習框架。

Pytorch的劣勢在于模型部署,由于對其部署難度早有耳聞,我沒嘗試過部署Pytorch的模型,一般是在Pytorch快速的試驗新的模型,確認好的效果再去找“現成的”的TensorFlow模型做簡單的優化。

不過現在,如果稍微深入了解TensorFlow和Pytorch,就會發現他們越來越像,TF加入了動態圖架構,Pytorch致力于其在工業界更加易用。打開各自的官網,你也會發現文檔風格也越發的相似。

PaddlePaddle

PaddlePaddle是由百度自主研發的開源深度學習平臺,近期有了中文名字,飛槳。官網截圖也很有意思,很多人在劃槳。飛槳剛發布的時候,并不被看好,感覺更像是Google有,百度也要有的腔調,但是近來在做一個關于語義識別的項目,其他框架支持中文的模型實在是少的可憐,時間緊張也沒有時間大規模訓練,于是就來試試飛槳,其中基于BERT的ERNIE模型取得了較好的效果,部署也不折騰。個人認為可以將模型庫中的經典模型套在自己的問題上,作為baseline模型快速試驗,而后慢慢調優追求更好的效果。

從模型庫找到適合自己的模型,按照實踐教程一步步進行就行了,過程還是比較簡單的,遇到的問題在GitHub的issues中都有找到,雖然不像TF那么活躍,但是支持也是很及時的。我是從官網找模型,發現官網又更新了,盜張圖過來感受下支持的模型。

Figure 5 PaddlePaddle模型庫(源:百度PaddlePaddle官網)

功能上,飛槳同時支持動態圖和靜態圖,能方便地調試模型,方便地部署,非常適合業務應用的落地實現。飛槳也已經支持數百個節點的高效并行訓練??梢哉f在過去2年的時間里,深度學習領域在大規模的落地應用,各家框架也都在快速的發展,但是百度的飛槳看來是這個階段發展更快的框架,甚至是發展更快的AI開發生態。

目前,以上三個框架可以說發展比較快,并且仍在穩定更新與維護。功能上來說,各框架已經“越長越像”,三個框架還是會有各自的特點,如何選擇還是要根據自己的目標來看。

下面簡單介紹一下其他的一些主要框架。

Keras

Keras的出現大大降低了深度學習應用的門檻,通過Keras的API可以通過數行代碼就構建一個網絡模型,曾幾何時,Keras+Theano,Keras+CNTK的模式深得開發者喜愛。目前Keras整套架構已經封裝進了TensorFlow,在TF.keras可以完成Keras的所有事情。

Deeplearning4j

Deeplearning4j,顧名思義,它是用JAVA編寫的,并且與任何JVM語言兼容,如Scala,Clojure或Kotlin,基礎計算模塊是用C,C++和CUDA開發的,基于此,DL4J對Spark和Hadoop生態有很好的支持,在多卡GPU上也有很好的性能。相比TF,Pytorch和飛槳,DL4J的文檔和社區體系并不是很完善,而且其本身并不支持Python,而是由高層級的Keras API支持,上手難度稍大,另外其應用示例也很有限。

Mxnet

Mxnet可以說成名很早,發展一直不溫不火,現在在Apache項目下孵化,當下背靠企業的TensorFlow,Pytorch和飛槳都依靠廣泛的應用場景踏上了AI發展的快車道,而Mxnet缺少的可能就是大廠應用場景的落地實現。

Caffe&Caffe2

Caffe 是一個優先考慮表達、速度和模塊化來設計的框架,它由賈揚清和伯克利人工智能實驗室研究開發。支持 C、C++、Python等接口以及命令行接口。它以其速度和可轉性以及其在卷積神經網絡建模中的適用性而聞名。

使用Caffe庫的好處是從深度網絡存儲庫"Caffe 模型Zoo"訪問可用網絡,這些網絡經過預先培訓,可以立即使用。Caffe是一個曾經叱咤風云的視覺識別深度學習網絡。但是,Caffe 不支持精細粒度網絡層,給定體系結構,對循環網絡和語言建模的總體支持相當差,必須用低級語言建立復雜的層類型,使用門檻很高。

Caffe2是由Facebook組織開發的深度學習模型,雖然使用門檻不像Caffe那樣高,但仍然讓不那么看重性能的開發者望而卻步,很快就被并入Pytorch項目。而Caffe自2017年以來都沒有再更新了,新的項目已經鮮有其身影,曾名噪一時的框架就此落幕。

Chainer

Chainer是純粹用Python在NumPy,CuPy等庫的基礎上開發的,它的創新是網絡不再是靜態圖,而是可以靈活定義,快速運行的一套深度學習架構,同時可以運行于大型系統并保持較高的性能,后來Pytorch的設計靈感就是部分借鑒于Chainer。

Theano

Theano是深度學習框架的鼻祖,它由Yoshua Bengio和蒙特利爾大學的研究小組于2007年創建,是率先廣泛使用的深度學習框架。Theano 是一個 Python 庫,速度更快,功能強大,可以高效的進行數值表達和計算,可以說是從NumPy矩陣表達向tensor表達的一次跨越,為后來的深度學習框架提供了樣板。遺憾的是Theano團隊已經停止了該項目的更新,深度學習應用框架的發展進入到了背靠工業界大規模應用的階段。

CNTK

CNTK是由微軟開發的深度學習框架,是一個用于商業級分布式深度學習的開源工具包。它通過定向圖將神經網絡描述為一系列計算步驟,支持DNNs,CNNs以及自由組合的模型。今年,CNTK團隊也宣布不再更新項目,讓人唏噓。

總的來說,各家的深度學習框架各有千秋,重要的是找到適合自己團隊的,能夠快速匹配團隊的技術棧,快速試驗以期發揮深度學習技術應用落地的商業價值。

4. 如何選擇?

那么如何在眾多的框架中做選擇呢?我推薦這3個框架:TensorFlow,Pytorch,飛槳。其他框架不是投入資源有限,就是已經不再維護了。實際上,我們都應該或多或少地去了解這3個框架,根據自己的實際情況可以快速選型。

如果是剛剛接觸深度學習,以學習為目的的開發者,我建議從TensorFlow和飛槳開始上手,至少目前來看,Google和百度是傾全力打造這兩個平臺的,他們已經不只是一個深度學習框架了,更是一個AI開發的生態,從基礎的視頻課程,完善的文檔體系到項目的開放落地提供的是統一的服務。多說一句,百度飛槳的基礎文檔相當詳細,不僅有代碼實現,數據流過程的教程,同時也包含了詳細的算法原理,這點為那些還不是那么了解相應模型的同學帶來極大的方便。對于學有余力的同學,我建議這3個框架都可以去了解下。

如果是出于學術目的,建議從Pytorch開始,畢竟學術研究要緊盯著前沿,看文章,復現文章中模型的效果,選大家都用的可以節省不必要的時間成本,把重點放在優化模型提升模型效果上。

如果是想要開箱即用,想將深度學習技術快速應用到自己的場景中嘗試,我建議選擇飛槳,飛槳中有大量的實戰案例,套到相應的場景基本就能迭代起來了。而且在NLP領域,需要對各種語言進行預處理,毫無疑問對中文支持更好的是飛槳,比如ERNIE,其挖掘海量的中文數據,對先驗語義知識進行建模,增強了語義表達能力,可以作為NLP,NLU應用的基礎服務不同的場景。

隨手貼幾個招聘網站上的JD,也可以幫大家明確一下方向,供參考。

 

 

 

5. 未來

我們處在更好的時代。

感謝互聯網文化,感謝開源文化,讓技術可以以指數級的速度發展,我們更要感謝在時代轉折點的那些引路人,沒有Google、百度等企業不遺余力地嘗試將新技術應用于各產業,就沒有技術的飛速發展,就沒有更美好的生活模式的變遷。

AI技術的平民化是智能時代發展的催化劑,我們應用深度學習技術,從原理到框架,再到應用平臺化工具將其落地到所有的場景,這是未來的發展趨勢。得益于5G技術的發展,相信在不久的將來,我們將實現萬物互聯。深度學習是AIoT時代的關鍵,各平臺已有的實踐落地項目給我們提供了產業落地的實現路徑??芍^星星之火,漸成燎原之勢,另外,發展我國自己的AI開發生態也同樣重要,考慮到近期的“華為事件”,有備無患。

結尾,我想說的是,框架、平臺都只是為我們提供了工具,我們得明確目標并找到合適的場景,推進應用在業務上的落地,實現商業價值才能擁有核心競爭力。

6. 參考

  1.  https://www.techspot.com/article/1582-state-of-5g-wireless/
  2.  https://www.tensorflow.org/
  3.  https://pytorch.org/
  4.  https://www.paddlepaddle.org.cn/
  5.  https://deeplearning4j.org/
  6.  https://chainer.org/
  7.  https://mxnet.incubator.apache.org/
  8.  https://keras.io/
  9.  https://github.com/Theano/Theano
  10.  https://docs.microsoft.com/en-us/cognitive-toolkit/
  11.  https://binaryinformatics.com/pytorch-vs-tensorflow/
  12.  https://www.springboard.com/blog/deep-learning-frameworks/

【51CTO原創稿件,合作站點轉載請注明原文作者和出處為51CTO.com】

 

責任編輯:查士加 來源: 51CTO
相關推薦

2009-04-09 23:31:21

2024-01-12 09:50:55

2014-11-26 10:22:14

編程語言排行

2022-10-20 10:08:23

2015-09-11 10:04:22

2011-12-09 20:42:55

iOS

2010-10-09 11:01:40

2015-04-14 14:37:06

編程語言4月編程語言排行

2024-03-14 13:46:41

深度學習人工智能

2012-07-10 10:59:09

TOP500Sequoia

2010-04-07 08:23:48

編程語言排行榜

2014-05-08 10:05:00

編程語言排行榜

2009-10-29 09:44:46

高性能計算HPC超級計算機

2019-07-23 14:14:59

編程語言JavaPython

2015-06-02 16:23:58

鳳凰科技

2020-03-07 22:01:58

編程語言JavaPython

2013-04-01 09:50:15

Web框架Web

2023-03-15 08:03:31

2019-12-17 14:57:35

瀏覽器Chrome谷歌

2019-12-23 08:34:47

編程語言JavaPython
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久成| 国产精品久久久久久久毛片 | 国产精品18hdxxxⅹ在线 | 91精品国产综合久久久动漫日韩 | 亚洲精品电影网在线观看 | 亚洲最色网站 | 欧美一级久久久猛烈a大片 日韩av免费在线观看 | 国产精品久久久久久久久久妞妞 | 国产一区| 久久精品免费看 | 99热视 | 在线国产一区二区 | 青青久久 | 亚洲精品v日韩精品 | 三级欧美 | 久久精品视频12 | 福利网址 | 久久久精品一区 | 精品国产乱码一区二区三区a | 欧美在线亚洲 | 国产高清自拍视频在线观看 | 久草成人网| 久久综合九九 | 成人三级网址 | 国产欧美一区二区三区久久人妖 | 亚洲日日| 成人国产精品久久 | 91看片官网| 亚洲精品乱码久久久久v最新版 | 久久青| 97国产精品| 在线观看视频91 | 黄网站在线播放 | 在线免费视频一区 | 国产999精品久久久久久 | 在线一区二区三区 | 亚洲91精品| 成人 在线 | v片网站| 亚洲精选一区 | 欧美视频精品 |