一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

7大Python深度學(xué)習(xí)框架哪家強(qiáng)?

 _王文波 2017-03-09

本文長度為2500字,建議閱讀4分鐘

本文由Indico Data Solutions的CTO Madison May根據(jù)他們公司在產(chǎn)品和開發(fā)過程中的經(jīng)驗(yàn)對7大Python深度學(xué)習(xí)框架進(jìn)行對比。

最近我無意間在「Best Python library for neural networks」話題下發(fā)現(xiàn)了一個我以前的數(shù)據(jù)科學(xué)棧交換(Data Science Stack Exchange)的答案,并且 Python 深度學(xué)習(xí)生態(tài)系統(tǒng)在過去兩年半中的演變打擊到了我。我在 2014 年 7 月推薦的庫,pylearn2,已經(jīng)不再被積極地開發(fā)或者維護(hù),大量的深度學(xué)習(xí)庫開始接替它的位置。這些庫每一個都各有千秋。我們已經(jīng)在 indico 的產(chǎn)品或者開發(fā)中使用了以下列表中的大部分的技術(shù),但是對于剩下一些我們沒有使用的,我將會借鑒他人的經(jīng)驗(yàn)來幫助給出 2017 年 Python 深度學(xué)習(xí)生態(tài)系統(tǒng)的清晰的、詳盡的理解。

確切地說,我們將會關(guān)注:

下面是對這 7 大 Python 深度學(xué)習(xí)框架的描述以及優(yōu)缺點(diǎn)的介紹,而且也為每個框架的使用推薦了一些資源,但因微信不支持外網(wǎng)鏈接,讀者們請閱讀原網(wǎng)址查看資源。

Theano

描述:Theano 是一個 Python 庫,允許你定義、優(yōu)化并且有效地評估涉及到多維數(shù)組的數(shù)學(xué)表達(dá)式。它與 GPUs 一起工作并且在符號微分方面表現(xiàn)優(yōu)秀。

文檔:http:///software/theano/

概述:Theano 是數(shù)值計(jì)算的主力,它支持了許多我們列表當(dāng)中的其他的深度學(xué)習(xí)框架。Theano 由 Frédéric Bastien 創(chuàng)建,這是蒙特利爾大學(xué)機(jī)器學(xué)習(xí)研究所(MILA)背后的一個非常優(yōu)秀的研究團(tuán)隊(duì)。它的 API 水平較低,并且為了寫出效率高的 Theano,你需要對隱藏在其他框架幕后的算法相當(dāng)?shù)氖煜?。如果你有著豐富的學(xué)術(shù)機(jī)器學(xué)習(xí)知識,正在尋找你的模型的精細(xì)的控制方法,或者想要實(shí)現(xiàn)一個新奇的或者不同尋常的模型,Theano 是你的首選庫??偠灾?,為了靈活性,Theano 犧牲了易用性。

優(yōu)點(diǎn):

  • 靈活

  • 正確使用時的高性能

缺點(diǎn):

  • 較高的學(xué)習(xí)難度

  • 低水平的 API

  • 編譯復(fù)雜的符號圖可能很慢

Lasagne

描述:在 Theano 上建立和訓(xùn)練神經(jīng)網(wǎng)絡(luò)的輕量級庫

概述:因?yàn)?Theano 致力于成為符號數(shù)學(xué)中最先且最好的庫,Lasagne 提供了在 Theano 頂部的抽象,這使得它更適合于深度學(xué)習(xí)。它主要由當(dāng)前 DeepMind 研究科學(xué)家 Sander Dieleman 編寫并維護(hù)。Lasagne 并非是根據(jù)符號變量之間的函數(shù)關(guān)系來指定網(wǎng)絡(luò)模型,而是允許用戶在層級思考,為用戶提供了例如「Conv2DLayer」和「DropoutLayer」的構(gòu)建塊。Lasagne 在犧牲了很少的靈活性的同時,提供了豐富的公共組件來幫助圖層定義、圖層初始化、模型正則化、模型監(jiān)控和模型訓(xùn)練。

優(yōu)點(diǎn):

  • 仍舊非常靈活

  • 比 Theano 更高級的抽象

  • 文檔和代碼中包含了各種 Pasta Puns

缺點(diǎn):

  • 社區(qū)小

Blocks

描述:用于構(gòu)建和訓(xùn)練神經(jīng)網(wǎng)絡(luò)的 Theano 框架

文檔:http://blocks./en/latest/

概述:與 Lasagne 類似,Blocks 是在 Theano 頂部添加一個抽象層使深度學(xué)習(xí)模型比編寫原始的 Theano 更清晰、更簡單、定義更加標(biāo)準(zhǔn)化。它是由蒙特利爾大學(xué)機(jī)器學(xué)習(xí)研究所(MILA)編寫,其中一些人為搭建 Theano 和第一個神經(jīng)網(wǎng)絡(luò)定義的高級接口(已經(jīng)淘汰的 PyLearn2)貢獻(xiàn)了自己的一份力量。比起 Lasagne,Blocks 靈活一點(diǎn),代價是入門臺階較高,想要高效的使用它有不小的難度。除此之外,Blocks 對遞歸神經(jīng)網(wǎng)絡(luò)架構(gòu)(recurrent neural network architectures)有很好的支持,所以如果你有興趣探索這種類型的模型,它值得一看。除了 TensorFlow,對于許多我們已經(jīng)部署在 indico 產(chǎn)品中的 API,Blocks 是其首選庫。

優(yōu)點(diǎn):

  • 仍舊非常靈活

  • 比 Theano 更高級的抽象

  • 易于測試

缺點(diǎn):

  • 較高的學(xué)習(xí)難度

  • 更小的社區(qū)

TensorFlow

描述:用于數(shù)值計(jì)算的使用數(shù)據(jù)流圖的開源軟件庫

文檔:https://www./api_docs/python/

概述:TensorFlow 是較低級別的符號庫(比如 Theano)和較高級別的網(wǎng)絡(luò)規(guī)范庫(比如 Blocks 和 Lasagne)的混合。即使它是 Python 深度學(xué)習(xí)庫集合的最新成員,在 Google Brain 團(tuán)隊(duì)支持下,它可能已經(jīng)是最大的活躍社區(qū)了。它支持在多 GPUs 上運(yùn)行深度學(xué)習(xí)模型,為高效的數(shù)據(jù)流水線提供使用程序,并具有用于模型的檢查,可視化和序列化的內(nèi)置模塊。最近,TensorFlow 團(tuán)隊(duì)決定支持 Keras(我們列表中下一個深度學(xué)習(xí)庫)。雖然 TensorFlow 有著自己的缺點(diǎn),但是社區(qū)似乎同意這一決定,社區(qū)的龐大規(guī)模和項(xiàng)目背后巨大的動力意味著學(xué)習(xí) TensorFlow 是一次安全的賭注。因此,TensorFlow 是我們今天在 indico 選擇的深度學(xué)習(xí)庫。

優(yōu)點(diǎn):

  • 由軟件巨頭 Google 支持

  • 非常大的社區(qū)

  • 低級和高級接口網(wǎng)絡(luò)訓(xùn)練

  • 比基于 Theano 配置更快的模型編譯

  • 完全地多 GPU 支持

缺點(diǎn):

  • 雖然 Tensorflow 正在追趕,但是最初在許多基準(zhǔn)上比基于 Theano 的慢。

  • RNN 支持仍不如 Theano

Keras

描述:Python 的深度學(xué)習(xí)庫。支持 Convnets、遞歸神經(jīng)網(wǎng)絡(luò)等。在 Theano 或者 TensorFlow 上運(yùn)行。

文檔:https:///

概述:Keras 也許是水平最高,對用戶最友好的庫了。由 Francis Chollet(Google Brain 團(tuán)隊(duì)中的另一個成員)編寫和維護(hù)。它允許用戶選擇其所構(gòu)建的模型是在 Theano 上或是在 TensorFlow 上的符號圖上執(zhí)行。Keras 的用戶界面受啟發(fā)于 Torch,所以如果你以前有過使用 Lua 語言的機(jī)器學(xué)習(xí)經(jīng)驗(yàn),Keras 絕對值得一看。由于部分非常優(yōu)秀的文檔和其相對易用性,Keras 的社區(qū)非常大并且非?;钴S。最近,TensorFlow 團(tuán)隊(duì)宣布計(jì)劃與 Keras 一起支持內(nèi)置,所以很快 Keras 將是 TensorFlow 項(xiàng)目的一個分組。

優(yōu)點(diǎn):

  • 可供選擇的 Theano 或者 TensorFlow 后端

  • 直觀、高級別的端口

  • 更易學(xué)習(xí)

缺點(diǎn):

  • 不太靈活,比其他選擇更規(guī)范

MXNet

描述:MXNet 是一個旨在提高效率和靈活性的深度學(xué)習(xí)框架。

文檔:http:///api/python/index.html#python-api-reference

概述:MXNet 是亞馬遜Amazon)選擇的深度學(xué)習(xí)庫,并且也許是最優(yōu)秀的庫。它擁有類似于 Theano 和 TensorFlow 的數(shù)據(jù)流圖,為多 GPU 配置提供了良好的配置,有著類似于 LasagneBlocks 更高級別的模型構(gòu)建塊,并且可以在你可以想象的任何硬件上運(yùn)行(包括手機(jī))。對 Python 的支持只是其冰山一角—MXNet 同樣提供了對 R、Julia、C++、Scala、Matlab,和 Javascript 的接口。如果你正在尋找最佳的性能,選擇 MXNet 吧,但是你必須愿意處理與之相對的一些 MXNet 的怪癖。

優(yōu)點(diǎn):

  • 速度的標(biāo)桿

  • 非常靈活

缺點(diǎn):

  • 最小的社區(qū)

  • 比 Theano 更困難的學(xué)習(xí)難度

PyTorch

描述:Python 中的張量(Tensors)和動態(tài)神經(jīng)網(wǎng)絡(luò),有著強(qiáng)大的 GPU 加速。

文檔:http://pytorch.org/docs/

概述:剛剛放出一段時間,PyTorch 就已經(jīng)是我們 Python 深度學(xué)習(xí)框架列表中的一個新的成員了。它是從 Lua 的 Torch 庫到 Python 的松散端口,由于它由 Facebook人工智能研究團(tuán)隊(duì)(Artificial Intelligence Research team (FAIR))支持且因?yàn)樗糜谔幚韯討B(tài)計(jì)算圖(Theano,TensorFlow 或者其他衍生品沒有的特性,編譯者注:現(xiàn)在 TensorFlow 好像支持動態(tài)計(jì)算圖),它變得非常的有名。PyTorch 在 Python 深度學(xué)習(xí)生態(tài)系統(tǒng)將扮演怎樣的角色還不得而知,但所有的跡象都表明,PyTorch 是我們列表中其他框架的一個非常棒的選擇。

優(yōu)點(diǎn):

  • 來自 Facebook 組織的支持

  • 完全地對動態(tài)圖的支持

  • 高級和低級 API 的混合

缺點(diǎn):

  • 比其他選擇,PyTorch 還不太成熟(用他們自己的話說—「我們正處于早期測試版本。期待一些冒險」)

  • 除了官方文檔以外,只有有限的參考文獻(xiàn)/資源

公眾號底部菜單有驚喜哦!

加入組織請查看“聯(lián)合會”

往期內(nèi)容請查看“最火文章”

參與活動請查看“活動資訊”

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    日本午夜精品视频在线观看| 好东西一起分享老鸭窝| 福利专区 久久精品午夜| 九九热这里只有精品哦| 欧美整片精品日韩综合| 搡老妇女老熟女一区二区| 国产亚洲欧美日韩精品一区| 成年女人下边潮喷毛片免费| 九九热精品视频免费在线播放| 色婷婷在线视频免费播放| 日韩欧美国产亚洲一区| 日韩人妻精品免费一区二区三区| 青青久久亚洲婷婷中文网| 最近中文字幕高清中文字幕无| 色涩一区二区三区四区| 国产亚洲中文日韩欧美综合网| 操白丝女孩在线观看免费高清 | 国产一区二区三区色噜噜| 亚洲日本中文字幕视频在线观看| 欧美成人黄色一区二区三区| 精品久久综合日本欧美| 99久免费精品视频在线观| 日本99精品在线观看| 亚洲中文字幕亲近伦片| 欧美日本亚欧在线观看| 妻子的新妈妈中文字幕| 亚洲中文字幕综合网在线| 国产农村妇女成人精品| 黑丝国产精品一区二区| 中日韩免费一区二区三区| 国产一级片内射视频免费播放| av一区二区三区天堂| 国产丝袜极品黑色高跟鞋| 久久综合日韩精品免费观看| 国产对白老熟女正在播放| 日韩精品视频免费观看| 欧美中文字幕一区在线| 91欧美日韩中在线视频| 日本本亚洲三级在线播放| 沐浴偷拍一区二区视频| 欧美精品二区中文乱码字幕高清 |