經過本文咱們來一塊兒看一些用於人工智能的高質量AI庫,它們的優勢和缺點,以及它們的一些特色。程序員
人工智能(AI)已經存在很長時間了。然而,因爲這一領域的巨大進步,近年來它已成爲一個流行語。人工智能曾經被稱爲一個完整的書呆子和天才的領域,但因爲各類開發庫和框架的發展,它已經成爲一個友好的IT領域,並有不少人正走進它。算法
在這篇文章中,咱們將研究用於人工智能的優質庫,它們的優缺點以及它們的一些特徵。讓咱們深刻並探索這些人工智能庫的世界!編程
「使用數據流圖表的可伸縮機器學習的計算」後端
語言:C ++或Python。數組
當進入AI時,你會聽到的第一個框架之一就是Google的TensorFlow。服務器
TensorFlow是一個使用數據流圖表進行數值計算的開源軟件。這個框架被稱爲具備容許在任何CPU或GPU上進行計算的架構,不管是臺式機、服務器仍是移動設備。這個框架在Python編程語言中是可用的。網絡
TensorFlow對稱爲節點的數據層進行排序,並根據所得到的任何信息作出決定。點擊查看詳情!架構
優勢:框架
缺點:機器學習
「開源深度學習工具包」
語言:C ++。
咱們能夠稱之爲微軟對Google的TensorFlow的迴應。
微軟的計算網絡工具包是一個加強分離計算網絡模塊化和維護的庫,提供學習算法和模型描述。
在須要大量服務器進行操做的狀況下,CNTK能夠同時利用多臺服務器。
聽說它的功能與Google的TensorFlow相近;可是,它會更快。在這裏瞭解更多。
優勢:
缺點:
「數值計算庫」
語言:Python。
Theano是TensorFlow的強有力競爭者,是一個功能強大的Python庫,容許以高效率的方式進行涉及多維數組的數值操做。
Theano庫透明地使用GPU來執行數據密集型計算而不是CPU,所以操做效率很高。
出於這個緣由,Theano已經被用於爲大規模的計算密集型操做提供動力大約十年。
然而,在2017年9月,宣佈Theano的主要開發將於2017年11月發佈的1.0版本後中止。
這並不意味着它是一個不夠強大的庫。你仍然能夠隨時進行深刻的學習研究。在這裏瞭解更多。
優勢:
缺點:
「快速、開源的深度學習框架」
語言:C ++。
Caffe是一個強大的深度學習框架。
像這個清單上的其餘框架同樣,深度學習的研究速度很是快。
藉助Caffe,您能夠很是輕鬆地構建用於圖像分類的卷積神經網絡(CNN)。Caffe在GPU上運行良好,這有助於在運行期間提升速度。查看主頁獲取更多信息。
Caffe主要的類有:
優勢:
缺點:
「人類的深度學習」
語言:Python。
Keras是一個用Python編寫的開源的神經網絡庫。
與TensorFlow、CNTK和Theano不一樣,Keras不是一個端到端的機器學習框架。
相反,它做爲一個接口,提供了一個高層次的抽象化,這使得不管它坐落在哪一個框架上,神經網絡的配置都會變得容易。
谷歌的TensorFlow目前支持Keras做爲後端,而微軟的CNTK也會在很短的時間內作到這一點。在這裏瞭解更多。
優勢:
缺點:
「一個開源的機器學習庫」
語言:C。
Torch是一個用於科學和數字操做的開源機器學習庫。
這是一個基於Lua編程語言而非Python的庫。
Torch經過提供大量的算法,使得深度學習研究更容易,而且提升了效率和速度。它有一個強大的N維數組,這有助於切片和索引等操做。它還提供了線性代數程序和神經網絡模型。點擊查看詳情!
優勢:
缺點:
「機器學習、計算機視覺、統計和.NET通用科學計算」
語言:C#。
這是專爲C#程序員設計的。
Accord.NET框架是一個.NET機器學習框架,使音頻和圖像處理變得簡單。
這個框架能夠有效地處理數值優化、人工神經網絡,甚至可視化。除此以外,Accord.NET對計算機視覺和信號處理的功能很是強大,同時也使得算法的實現變得簡單。點擊查看詳情。
優勢:
缺點:
「可擴展的機器學習庫」
語言:Scala。
Apache的Spark MLlib是一個很是可擴展的機器學習庫。
它很是適用於諸如Java、Scala、Python,甚至R等語言。它很是高效,由於它能夠與Python庫和R庫中的numpy進行互操做。
MLlib能夠輕鬆插入到Hadoop工做流程中。它提供了機器學習算法,如分類、迴歸和聚類。
這個強大的庫在處理大型數據時很是快速。在網站上了解更多信息。
優勢:
缺點:
「用Python的機器學習」
語言:Python。
Sci-kit learn是一個很是強大的機器學習Python庫,主要用於構建模型。
使用numpy、SciPy和matplotlib等其餘庫構建,對統計建模技術(如分類、迴歸和聚類)很是有效。
Sci-kit learn帶有監督學習算法、無監督學習算法和交叉驗證等功能。點擊查看詳情!
優勢:
缺點:
「可擴展的C ++機器學習庫」
語言:C ++。
MLPack是一個用C ++實現的可擴展的機器學習庫。由於它是用C ++編寫的,因此你能夠猜想它對於內存管理是很是好的。
MLPack以極高的速度運行,由於高質量的機器學習算法與庫一塊兒出現。這個庫是對新手友好的,並提供了一個簡單的API使用。點擊查看詳情!
優勢:
缺點:
總結
本文討論的庫很是有效,而且隨着時間的推移已經證實都是高質量的。像Facebook、谷歌、雅虎、蘋果和微軟這樣的大公司都利用其中的一些庫來進行深度學習和機器學習項目,那麼你爲何不呢?
你能想到你常用的但並不在這個列表中的其餘庫嗎?請在評論區留言與咱們分享!
本文原做者:Anton Shaleynikov