10款為人工智慧提供最好的框架和庫
1、TensorFlow
「使用數據流圖進行可伸縮機器學習的計算。」
語言:c++和Python
在進入人工智慧領域時,您將聽到的第一個框架是谷歌的TensorFlow。
TensorFlow是一個使用數據流圖進行數值計算的開源軟體。這個框架以擁有允許在任何CPU或GPU上計算的架構而聞名,無論是台式機、伺服器,還是移動設備。此框架可在Python編程語言中使用。
TensorFlow通過稱為節點的數據層進行排序,並根據所得到的信息進行決策。點擊這裡查看詳情!
優點:
使用易於學習的語言(Python)。
使用計算圖形的抽象。
可獲得的顯示板。
缺點:
它很慢,因為Python不是最快的語言。
缺乏許多預先訓練的模型。
不完全開源
2、微軟CNTK
「一個開放源代碼深度學習工具箱。」
語言:C + +
我們可以稱之為微軟對谷歌的TensorFlow的響應。
微軟的計算網路工具包是一個提高模塊化和維護分離計算網路,提供學習演算法和模型描述的圖書館。
CNTK可以同時利用許多伺服器,在這種情況下,需要大量的伺服器進行操作。
據說它的功能接近於谷歌的TensorFlow;然而,它的速度更快
優點:
這是非常靈活的。
允許分散式訓練。
支持c++、c#、Java和Python。
缺點:
它是用一種新的語言,網路描述語言(NDL)實現的。
缺乏可視化。
3、Theano
「一個數值計算庫。」
語言:Python
作為TensorFlow的強大競爭對手,Theano是一個強大的Python庫,它允許使用高效率的多維數組進行數值操作。
該庫對GPU的透明使用,用於進行數據密集型計算,而不是CPU在其操作中效率很高。
由於這個原因,在大約10年的時間裡,Theano一直被用來為大規模的計算密集型操作提供動力。
然而,在2017年9月,宣布在2017年11月發布的1.0版之後,Theano的主要發展將會停止。
這並不意味著它是一個不那麼強大的圖書館。你可以隨時進行深入的學習研究。
優點:
對CPU和GPU進行了適當的優化。
高效的數值計算任務。
缺點:
與其他庫相比,原始的Theano有點低級。
需要與其他庫一起使用以獲得較高的抽象級別。
在AWS上有點小麻煩。
4、Caffe
「快速、開放的深度學習框架。」
語言:C + +
Caffe是一個強大的深度學習框架。
和這個列表中的其他框架一樣,它對於深入學習研究來說是非常快速和有效的。
使用Caffe,您可以很容易地構建一個卷積神經網路(CNN)來進行圖像分類。Caffe在GPU上運行良好,在運行過程中速度非常快。查看themain頁面了解更多信息。
主要類:
優點:
Python和MATLAB的綁定可用。
偉大的表現。
允許對模型的培訓,而不需要編寫代碼。
缺點:
對複發性網路不好。
對於新的架構來說不是很好。
5、Keras
對人類「深度學習」。
語言:Python。
Keras是一個用Python編寫的開源神經網路庫。
與TensorFlow、CNTK和Theano不同,Keras並不是一個端到端的機器學習框架。
相反,它提供了一個介面,並提供了高水平的抽象,這使得神經網路的配置變得簡單,而不管它的框架是什麼。
谷歌的TensorFlow目前支持Keras作為後端,而微軟的CNTK在很少或沒有時間也會做同樣的事情。了解更多。
優點:
它是友好的。
它很容易擴展。
在CPU和GPU上無縫運行。
與天野和肌腱流動天衣無縫。
缺點:
不能作為一個獨立的框架有效地使用。
6、Torch
「一個開源機器學習圖書館。」
語言:C
Torch是一個用於科學和數字操作的開源機器學習庫。
它是一個基於-不,不是Python - Lua編程語言的庫。
通過提供大量的演算法,使得深入學習研究更加容易,提高了效率和速度。它有一個強大的n維數組,它可以幫助諸如切片和索引之類的操作。它還提供線性代數常式和神經網路模型。
優點:
非常靈活。
速度快,效率高。
大量的預先訓練的模型可用。
缺點:
不清楚的文檔。
沒有立即使用的即插即用代碼。
它是基於一種不那麼流行的語言Lua。
7、Accord.NET
「機器學習,計算機視覺,統計學,和.net的通用科學計算。」
語言:c#
這是為c#程序員準備的。
該協議。凈框架是一個。NET機器學習框架,使音頻和圖像處理變得簡單。
該框架可以有效地處理數值優化、人工神經網路,甚至可視化。除了這個之外,協議。NET對計算機視覺和信號處理具有強大的功能,並且易於實現演算法。
優點:
它擁有一個龐大而活躍的開發團隊。
證據確鑿的框架。
可視化質量。
缺點:
這不是一個非常流行的框架。
緩慢而TensorFlow。
8.、Spark MLlib
「一個可擴展的機器學習庫。」
語言:Scala。
Apache的Spark MLlib是一個非常可伸縮的機器學習庫。
它在Java、Scala、Python、甚至R等語言中非常有用,它非常高效,因為它與庫Python和R庫中的numpy交互。
MLlib可以很容易地插入Hadoop工作流。它提供了機器學習演算法,如分類、回歸和聚類。
這個強大的庫在處理大規模數據時速度非常快。moreon網站學習。
優點:
對於大規模數據來說非常快。
在許多語言中可用。
缺點:
陡峭的學習曲線。
僅供Hadoop使用的即插即用。
9、Sci-kit Learn
在Python中「機器學習」
語言:Python。
scikit學習是一個非常強大的Python庫,用於機器學習,主要用於構建模型。
它使用其他庫(如numpy、SciPy和matplotlib)構建,對於統計建模技術(如分類、回歸和集群)非常有效。
scikit學習的特性包括監督學習演算法、無監督學習演算法和交叉驗證。檢查出來。
優點:
許多主要演算法的可用性。
高效的數據挖掘。
缺點:
不是最好的建築模型。
不是很有效率的GPU。
10、MLPack
「一個可擴展的c++機器學習庫。」
語言:C + +
MLPack是一個在c++中實現的可擴展的機器學習庫。因為它是在c++中,您可以猜測它對內存管理非常有用。
MLPack以極快的速度運行,因為質量機器學習演算法與庫一起出現。這個庫是友好的,提供了一個簡單的API供使用。檢查出來。
優點:
可伸縮的。
Python和c++綁定可用。
缺點:
不是最好的文檔。
包裝起來
本文所討論的庫是非常有效的,並且經過了時間的驗證,具有高質量。像Facebook、谷歌、雅虎、蘋果和微軟這樣的大公司都利用這些庫來進行深度學習和機器學習項目——那你為什麼不能呢?
TAG:隔牆有耳 |