[轉]盤點程序員必須了解的十大最佳AI庫及框架

[轉]盤點程序員必須了解的十大最佳AI庫及框架

眼下暖侨,AI 已經成為越來越火的一個方向,程序員對于新技術是最敏感的一個人群亲澡,作為一名程序員如何轉向人工智能方向?

本文將向您介紹一些在人工智能(AI)領域常被使用的優(yōu)質軟件庫肢础,并且分析它們的優(yōu)/劣勢和自身特點掸宛。

雖然 AI 曾經被稱為只有書呆子和天才才去觸碰的專業(yè)領域,但是現(xiàn)如今由于各種軟件庫和框架的發(fā)展,它已成為一個更加開放的 IT 領域矮固,很多人都已投身于其中刑桑。

現(xiàn)在就讓我們來深入了解和探索這個紛繁的 AI 庫的世界吧!

TensorFlow

“通過使用數(shù)據流圖的計算氯质,來實現(xiàn)可擴展的機器學習”,語言:C++ 或 Python祠斧。
當提到 AI 的時候闻察,您首先聽到的框架應該就是谷歌的 TensorFlow。

TensorFlow 是使用數(shù)據流圖來執(zhí)行數(shù)值計算的開源庫琢锋。該框架的特點是它可以利用任何 CPU 或 GPU 進行計算辕漂,無論是臺式機服務器吴超、甚至是移動設備的架構都可以實現(xiàn)钉嘹。這個框架中提供了 Python 語言的編程環(huán)境。

TensorFlow 通過所謂的各種節(jié)點來分類數(shù)據層烛芬,并對它所獲得的任何信息做出判定隧期。
想了解更多相關信息,可以參看:https://www.tensorflow.org/

優(yōu)勢:

  • 使用一種簡單易學的語言--Python赘娄。
  • 采用計算圖形的抽象仆潮。
  • 由 TensorBoard 提供可視化。

劣勢:

  • 由于 Python 并非是最快的語言遣臼,因此該軟件庫運行起來并不快性置。
  • 缺乏各種預先訓練好(pre-trained)的模型。
  • 并非完全開源揍堰。

微軟 CNTK

“一個開源的深度學習工具包”鹏浅,語言:C++。
我們可以稱之為微軟對于谷歌 TensorFlow 的“回應”屏歹。

微軟的計算網絡工具包(Microsoft's Computational Network ToolKit隐砸,CNTK)是一種能夠提高模塊化和分離式計算網絡的軟件庫,它還提供了各種學習算法和模型的描述蝙眶。
在需要有大量服務器參與運行的時候季希,CNTK 可以利用多臺服務器來同步實現(xiàn)褪那。雖然據說它在功能上將會對谷歌 TensorFlow 有所屏蔽,但現(xiàn)在看來還為時過早式塌。

想了解更多相關信息博敬,可以參看:https://github.com/Microsoft/CNTK

優(yōu)勢:

  • 非常靈活。
  • 可實現(xiàn)分布式的訓練峰尝。
  • 支持 C++偏窝,C#,Java 和 Python武学。

劣勢:

  • 它是由一種新的語言--網絡描述語言(NetworkDescription Language祭往,NDL)來實現(xiàn)。

  • 可視化不足火窒。

Theano

“一種數(shù)值計算的軟件庫”链沼,語言:Python。
Theano 是 TensorFlow 的強有力競爭者沛鸵。它是一個功能強大的 Python 庫,能夠高效地實現(xiàn)與各種多維數(shù)組有關的數(shù)值運算缆八。
該軟件庫能夠準確地使用 GPU 來執(zhí)行各種數(shù)據密集型的計算曲掰,而不會在運行中給 CPU 增加負擔。
出于這個原因奈辰,在近十年來栏妖,Theano 一直被運用于供電系統(tǒng)內部各種大規(guī)模的計算密集型操作。
不過在 2017 年 9 月奖恰,Theano 宣布將在 2017 年 11 月的最后一次重要發(fā)布之后吊趾,對其 1.0 版本停止更新。

當然瑟啃,這并不意味著它在功能上會有所遜色论泛,只要您愿意,對它隨時展開研究都是值得的蛹屿。
想了解更多相關信息屁奏,可以參看:https://github.com/Theano/Theano

優(yōu)勢:

  • 對 CPU 和 GPU 的使用進行了適當?shù)膬?yōu)化。
  • 高效的數(shù)字任務處理能力错负。

劣勢:

  • 原生的 Theano 相對于其他軟件庫的水平較低坟瓢,需要與其他軟件庫一起使用,以獲得較高的抽象水平犹撒。
  • 在 AWS 上運行時會有一些 Bug折联。

Caffe

“深度學習的開放式框架,且速度快”识颊,語言:C++诚镰。
Caffe 是一個功能強大的深度學習框架。和上述列表中的其他框架相比,它能夠實現(xiàn)快速和有效的深度學習式研究怕享。

通過Caffe执赡,您可以非常容易地為圖像分類,建立卷積神經網絡(convolutional neural network函筋,CNN)沙合。Caffe 能夠有效地工作在 GPU 上,并且在運行過程中能夠發(fā)揮極快的速度跌帐。
想了解更多相關信息首懈,可以參看:http://caffe.berkeleyvision.org/

Caffe 的主要類包括:

優(yōu)勢:

  • 可與 Python 和 MATLAB 綁定。
  • 運行性能極佳谨敛。
  • 無需編寫代碼究履,便可實現(xiàn)對各個模型的訓練。

劣勢:

  • 對復發(fā)性的網絡(recurrent networks)支持不佳脸狸。
  • 與新架構的協(xié)同性不好最仑。

Keras

“為人類的深度學習而打造”,語言:Python炊甲。
Keras 是一個用 Python 編寫的開源神經網絡庫泥彤。不像 TensorFlow、CNTK 和 Theano卿啡,Keras 并不服務于端到端的機器學習框架吟吝。
相反地,作為一個接口颈娜,它提供了一個高層次的抽象剑逃,這使得無論是在什么樣的框架下,神經網絡都能夠方便地進行配置官辽。
目前谷歌 TensorFlow 能夠將 Keras 作為后端予以支持蛹磺,而微軟的 CNTK 是否會在將來支持 Keras,則暫無時間表同仆。
想了解更多相關信息称开,可以參看:https://keras.io/

優(yōu)勢:

  • 用戶友好且容易上手。
  • 容易擴展乓梨。
  • 無縫運行在 CPU 和 GPU 上鳖轰。
  • 能與 Theano 和 TensorFlow 無縫協(xié)作。

劣勢:

  • 無法作為一個獨立的框架被使用扶镀。

Torch(火炬)

“一個開源的機器學習庫”蕴侣,語言:C。
Torch 是一個為科研和數(shù)值運算打造的臭觉、開源的機器學習庫昆雀。它基于的是 Lua 編程語言辱志,而非 Python 庫。通過提供大量的算法狞膘,它不但使得深度學習研究更為容易揩懒,而且能提高效率和速度。
Torch 具有強大的 N 維陣列挽封,這對于諸如切片和索引等操作是非常有用的已球。它還提供了線性代數(shù)的程序和神經網絡的模型。

想了解更多相關信息辅愿,可以參看:
http://torch.ch/

優(yōu)勢:

  • 非常靈活智亮。
  • 有極高的速度和效率。
  • 具有大量的預先訓練好的模型点待。

劣勢:

  • 文檔不清阔蛉。
  • 缺少即插即用的代碼。
  • 基于的是一種不那么流行的語言--Lua癞埠。

Accord.NET

“支持機器學習状原、計算機視覺、統(tǒng)計苗踪、以及使用.NET的科學計算”遭笋,語言:C#。
這是為C#程序員準備的軟件庫徒探,Accord.NET 是一種 .NET 的機器學習框架,它方便了音頻和圖像的各種處理喂窟。
該框架可以有效地處理數(shù)值優(yōu)化测暗、人工神經網絡、甚至可視化等方面磨澡。除此之外碗啄,Accord.NET 在計算機視覺和信號處理上也具有強大的功能,而且通過一些簡單的算法就能實現(xiàn)稳摄。
想了解更多相關信息稚字,可以參看:http://accord-framework.net/

優(yōu)勢:

  • 它擁有一個龐大且活躍的開發(fā)團隊。
  • 具有非常好的文檔框架厦酬。
  • 可實現(xiàn)質量可視化胆描。

劣勢:

  • 該框架并不是非常流行。
  • 比 TensorFlow 要運行得緩慢一些仗阅。

Spark MLlib

“一個可擴展的機器學習庫”昌讲,語言:Scala。
Apache 的 Spark MLlib 是一個極具擴展性的機器學習庫减噪。它支持的編程語言有 Java短绸、Scala车吹、Python、甚至是 R 語言醋闭。
它能夠非常有效地通過 Python 和 R 語言的 Numpy 庫(譯者注:NumPy 系統(tǒng)是 Python 的一種開源的數(shù)值計算擴展)進行交互操作窄驹。
MLlib 能夠很容易地被植入到 Hadoop 的工作流中。它還能提供諸如分類证逻、回歸乐埠、歸并等機器學習的算法。在涉及到大規(guī)模數(shù)據處理時瑟曲,這款功能強大的軟件庫運行起來非骋粒快。

想了解更多相關信息洞拨,可以參看:https://spark.apache.org/mllib/

優(yōu)勢:

  • 能極快速地處理大規(guī)模的數(shù)據扯罐。
  • 支持多種語言。

劣勢:

  • 學習曲線“陡峭”(即不易學習)烦衣。
  • 只能對 Hadoop 實現(xiàn)即插即用歹河。

Sci-kitLearn

“使用 Python 進行機器學習”,語言:Python花吟。
SCI-Kit 是一款主要用于在機器學習中構建各類模型的秸歧、非常強大的 Python 庫。
通過使用諸如 Numpy衅澈、SciPy 和 Matplotlib 之類的庫键菱,它對于諸如分類、回歸今布、歸并等統(tǒng)計模型非常有效经备。SCI-Kit 還能為您帶來監(jiān)管式與無監(jiān)管式的學習算法、以及交叉驗證等功能部默。

想了解更多相關信息侵蒙,可以參看:http://scikit-learn.org/

優(yōu)勢:

  • 能支持許多主流的算法。
  • 提供有效的數(shù)據挖掘傅蹂。

劣勢:

  • 對于構建模型來說并非是最好的纷闺。
  • 使用 GPU 時,效果并非最佳份蝴。

MLPack

“一個可擴展的 C++ 類型機器學習庫”犁功,語言:C++。
MLPack 是一款利用 C++ 來實現(xiàn)可擴展機器學習的軟件庫婚夫。由于它運行在 C++ 中波桩,因此您完全可以想象到它對內存的高效管理。
由于在庫中自帶優(yōu)質的機器學習算法请敦,MLPack 運行起來速度極快镐躲。另外储玫,該軟件庫對于新手來說十分“友好”,它提供了一個簡單的 API萤皂。

想了解更多相關信息撒穷,可以參看:http://mlpack.org/

優(yōu)勢:

  • 擴展性極強。
  • 提供 Python 和 C++ 的綁定裆熙。

劣勢:

  • 沒有優(yōu)質的文檔端礼。

總結

本文在此所討論到的各種軟件庫都是在大家長期使用之后,備受好評且高質量的入录。
像 Facebook蛤奥、谷歌、雅虎僚稿、蘋果和微軟這樣的大公司已經將它們運用到了各自的深度學習和機器學習的項目中凡桥。您還有什么理由不去試試呢?

開發(fā)者 AI

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市蚀同,隨后出現(xiàn)的幾起案子缅刽,更是在濱河造成了極大的恐慌,老刑警劉巖蠢络,帶你破解...
    沈念sama閱讀 217,406評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件衰猛,死亡現(xiàn)場離奇詭異,居然都是意外死亡刹孔,警方通過查閱死者的電腦和手機啡省,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評論 3 393
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來髓霞,“玉大人卦睹,你說我怎么就攤上這事∷彳睿” “怎么了?”我有些...
    開封第一講書人閱讀 163,711評論 0 353
  • 文/不壞的土叔 我叫張陵兢交,是天一觀的道長薪捍。 經常有香客問我,道長配喳,這世上最難降的妖魔是什么酪穿? 我笑而不...
    開封第一講書人閱讀 58,380評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮晴裹,結果婚禮上被济,老公的妹妹穿的比我還像新娘。我一直安慰自己涧团,他們只是感情好只磷,可當我...
    茶點故事閱讀 67,432評論 6 392
  • 文/花漫 我一把揭開白布经磅。 她就那樣靜靜地躺著,像睡著了一般钮追。 火紅的嫁衣襯著肌膚如雪预厌。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,301評論 1 301
  • 那天元媚,我揣著相機與錄音轧叽,去河邊找鬼。 笑死刊棕,一個胖子當著我的面吹牛炭晒,可吹牛的內容都是我干的。 我是一名探鬼主播甥角,決...
    沈念sama閱讀 40,145評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼网严,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了蜈膨?” 一聲冷哼從身側響起屿笼,我...
    開封第一講書人閱讀 39,008評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎翁巍,沒想到半個月后驴一,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 45,443評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡灶壶,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,649評論 3 334
  • 正文 我和宋清朗相戀三年肝断,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片驰凛。...
    茶點故事閱讀 39,795評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡胸懈,死狀恐怖,靈堂內的尸體忽然破棺而出恰响,到底是詐尸還是另有隱情趣钱,我是刑警寧澤,帶...
    沈念sama閱讀 35,501評論 5 345
  • 正文 年R本政府宣布胚宦,位于F島的核電站首有,受9級特大地震影響,放射性物質發(fā)生泄漏枢劝。R本人自食惡果不足惜井联,卻給世界環(huán)境...
    茶點故事閱讀 41,119評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望您旁。 院中可真熱鬧烙常,春花似錦、人聲如沸鹤盒。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至蝗锥,卻和暖如春跃洛,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背终议。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評論 1 269
  • 我被黑心中介騙來泰國打工汇竭, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人穴张。 一個月前我還...
    沈念sama閱讀 47,899評論 2 370
  • 正文 我出身青樓细燎,卻偏偏與公主長得像,于是被迫代替她去往敵國和親皂甘。 傳聞我的和親對象是個殘疾皇子玻驻,可洞房花燭夜當晚...
    茶點故事閱讀 44,724評論 2 354

推薦閱讀更多精彩內容