亚洲免费一级高潮_欧美极品白嫩视频在线_中国AV片在线播放_欧美亚洲日韩欧洲在线看

您現(xiàn)在所在的位置:首頁 >關(guān)于奇酷 > 行業(yè)動態(tài) > AI世代基石:盤點四大機器學習開源框架

AI世代基石:盤點四大機器學習開源框架

來源:奇酷教育 發(fā)表于:

  1 Theano  Theano 在深度學習框架中是祖師級的存在。它的開發(fā)始于 2007,早期開發(fā)者包括傳奇人物 Yoshua Bengio 和 Ian Goo

  
1. Theano
  Theano 在深度學習框架中是祖師級的存在。它的開發(fā)始于 2007,早期開發(fā)者包括傳奇人物 Yoshua Bengio 和 Ian Goodfellow。
  Theano 基于 Python,是一個擅長處理多維數(shù)組的庫(這方面它類似于 NumPy)。當與其他深度學習庫結(jié)合起來,它十分適合數(shù)據(jù)探索。它為執(zhí)行深度學習中大規(guī)模算法的運算所設(shè)計。其實,它可以被更好地理解為一個數(shù)學表達式的編譯器:用符號式語言定義你想要的結(jié)果,該框架會對你的程序進行編譯,來高效運行于 GPU 或 CPU。
  它與后來出現(xiàn)的 Tensorflow 功能十分相似(或者應(yīng)該說,Tensorflow 類似 Theano ),因而兩者常常被放在一起比較。它們本身都偏底層,同樣的,Theano 像是一個研究平臺多過是一個深度學習庫。你需要從底層開始做許多工作,來創(chuàng)建你需要的模型。比方說,Theano 沒有神經(jīng)網(wǎng)絡(luò)的分級。
  但隨著這些年的發(fā)展,大量基于 Theano 的開源深度學習庫被開發(fā)出來,包括 Keras, Lasagne 和 Blocks。這些更高層級的 wrapper API,能大幅減少開發(fā)時間以及過程中的麻煩。甚至,據(jù)調(diào)查統(tǒng)計所知,很少開發(fā)者會使用“裸奔”的 Theano,多數(shù)人需要輔助的 API。順便說一句,Theano 是一整套生態(tài)系統(tǒng),別只用它裸奔,然后抱怨不好用。
2. Caffe
  這又是一個祖師級的深度學習框架,2013 年就已問世。
  它的全稱是 “Convolution Architecture For Feature Extraction”,意為“用于特征提取的卷積架構(gòu)”,很明白地體現(xiàn)了它的用途。Caffe 的創(chuàng)始人,是加州大學伯克利分校的中國籍博士生賈揚清。當時賈在伯克利計算機視覺與學習中心做研究。博士畢業(yè)后,他先后在谷歌和 Facebook 工作。
  在 AI 開發(fā)者圈子中,Caffe 可以說是無人不知、無人不曉。據(jù) GitHub 最新的機器學習項目熱度排名,Caffe 僅位列 Tensorflow 之后,雄踞第二。它是一個被廣泛使用的機器視覺庫,把 Matlab 執(zhí)行快速卷積網(wǎng)絡(luò)的方式帶到 C 和 C++。雖然 Caffe 被部分開發(fā)者看做是通用框架,但它的設(shè)計初衷是計算機視覺--并不適于其他深度學習應(yīng)用,比如文字、和處理時間序列數(shù)據(jù)。
  Caffe 的主要用途:利用卷積神經(jīng)網(wǎng)絡(luò)進行圖像分類。這方面它代表了業(yè)內(nèi)一流水平,是開發(fā)者的首選。
  說到 Caffe,就不得不提 Model Zoo。后者是在 Caffe 基礎(chǔ)上開發(fā)出的一系列模型的匯聚之地。因此,開發(fā)者使用 Caffe 最大的好處是:能在 Model Zoo 海量的、事先訓練好的神經(jīng)網(wǎng)絡(luò)中,選擇貼近自己使用需求的直接下載,并立刻就能用。
  業(yè)內(nèi)人士普遍認為,Caffe 適合于以實現(xiàn)基礎(chǔ)算法為主要目的的工業(yè)應(yīng)用,有利于快速開發(fā)。但對于處理較特殊的任務(wù),它存在靈活性不足的問題--為模型做調(diào)整常常需要用 C++ 和 CUDA,雖然 Python 和 Matlab 也能做些小調(diào)整。
  
3. Torch
  相比其他開源框架,Torch 是一個非主流。
  沒錯,說的就是它的開發(fā)語言:基于1990 年代誕生于巴西的 Lua,而非機器學習界廣泛采用的 Python。其實 Lua 和Python 都屬于比較容易入門的語言。但后者明顯已經(jīng)統(tǒng)治了機器學習領(lǐng)域,尤其在學界。而企業(yè)界的軟件工程師最熟悉的是 Java,對 Lua 也比較陌生。這導致了 Torch 推廣的困難。因此,雖然 Torch 功能強大,但并不是大眾開發(fā)者的菜。
  那么它強大在哪里?
  首先,Torch 非常適用于卷積神經(jīng)網(wǎng)絡(luò)。它的開發(fā)者認為,Torch 的原生交互界面比其他框架用起來更自然、更得心應(yīng)手。
  其次,第三方的擴展工具包提供了豐富的遞歸神經(jīng)網(wǎng)絡(luò)( RNN)模型。
  因為這些強項,許多互聯(lián)網(wǎng)巨頭開發(fā)了定制版的 Torch,以助力他們的 AI 研究。這其中包括 Facebook、Twitter,和被谷歌招安前的 DeepMind。
  與 Caffe 相比,在 Torch 里定義一個新層級比它要容易,因為你不需要寫  C++ 代碼。和 TensorFlow 和 Theano 比起來,Torch 的靈活度更高,因為它是命令式的;而前兩者是陳述式的(declarative),你必須 declare 一個計算圖。這使得在 Torch 上進行束搜索(beam search)這樣的操作要比它們?nèi)菀椎枚唷?/div>
4. SciKit-learn
  SciKit-learn 是老牌的開源 Python 算法框架,始于 2007 年的 Google Summer of Code 項目,最初由 David Cournapeau 開發(fā)。
  它是一個簡潔、高效的算法庫,提供一系列的監(jiān)督學習和無監(jiān)督學習的算法,以用于數(shù)據(jù)挖掘和數(shù)據(jù)分析。SciKit-learn 幾乎覆蓋了機器學習的所有主流算法,這為其在 Python 開源世界中奠定了江湖地位。
  它的算法庫建立在 SciPy (Scientific Python) 之上--你必須先安裝 SciPy 才能使用 SciKit-learn 。它的框架中一共包括了:
  NumPy: 基礎(chǔ)的多維數(shù)組包
  SciPy: 科學計算的基礎(chǔ)庫
  Matplotlib: 全面的 2D/3D 測繪
  IPython: 改進的交互控制器
  Sympy: 符號數(shù)學
  Pandas:數(shù)據(jù)結(jié)構(gòu)和分析
  它命名的由來:SciPy 的擴展和模塊在傳統(tǒng)上被命名為 SciKits。而提供學習算法的模組就被命名為 scikit-learn。
  它與 Python 世界另一大算法框架--TensorFlow 的主要區(qū)別是:TensorFlow 更底層。而 SciKit-learn 提供了執(zhí)行機器學習算法的模塊化方案,很多算法模型直接就能用。
  從這份統(tǒng)計中不難看出,不少機器學習的框架都是基于Python架構(gòu)的,Python已逐漸成為人們公認的最合適人工智能開發(fā)的語言,奇酷教育Python課程,除了講授Python基礎(chǔ)知識,還會將人工智能、機器學習開發(fā)插入其中,同時講解Python的最佳實踐,讓學員不僅僅學會編程的基本語法,還能學到資深工程師的編程經(jīng)驗,了解一線互聯(lián)網(wǎng)公司用到的Python工具和開源項目,熟悉Python高手的編程風格。在這里,你不光能夠?qū)W會如何編寫程序,還能夠?qū)W會如何編寫高質(zhì)量的程序,一躍成為專業(yè)的工程師,更會成為最早接觸人工智能的從業(yè)人員,一舉站在前沿科技浪尖,前程無限!