時間:2018-01-11 來源:互聯網 瀏覽量:
Anton。fastai深度學習社區譯。
橫向縱向對比TensorFlow Microsoft CNTK Theano Caffe Keras。人工智能雖然已經存在很長時間了,由於近年來這一領域的巨大進步,終於成為流行詞。
人工智能曾經被稱為一個完全的書呆子和天才的領域,但由於各種庫和框架的發展,它已經成為一個平易近人的IT領域,並有很多人進入它。
在這篇文章中,我們將看到用於人工智能的優質庫,它們的優點,缺點以及一些特點。
讓我們深入探索這些人工智能庫的世界。
TensorFlow
“使用可伸縮機器學習的數據流圖計算”
語言:C ++
84 725★
當進入人工智能時,你會聽到的第一個框架之一是穀歌的TensorFlow。
TensorFlow是一款使用數據流圖進行數值計算的開源軟件。這個可愛的框架以其架構而聞名,它允許在任何CPU或GPU上進行計算,無論是在台式機,服務器還是移動設備上。另外,這個框架在Python編程語言中是可用的。
TensorFlow的基本功能是對可以調用節點的數據層進行排序,並根據所獲得的任何信息進行決策。看看吧!
優點:
使用簡單易學的Python語言。
使用計算圖抽象。
用於可視化的TensorBoard的可用性。
缺點:
這很慢,因為Python不是語言中最快的。
缺乏許多預先訓練的模型。
不完全開源。
微軟的CNTK
“開源深度學習工具包”
語言:C ++
13 516★
我們稱之為微軟對Google的TensorFlow的回應嗎?
微軟的計算網絡工具包是一個增強計算網絡分離的模塊化和維護的庫,提供學習算法和模型描述。
在需要大量服務器進行操作的情況下,CNTK可以同時利用多台服務器。
據說它的功能與Google的TensorFlow很接近,但是比TensorFlow還要快。
優點:
這是非常靈活的。
允許分布式訓練。
支持C ++,C#,Java和Python。
缺點:
它以一種新的語言—網絡描述語言(NDL)實現。
缺乏可視化。
Theano
“數值計算庫”
語言:Python
7 550★
Theano是TensorFlow的強有力競爭者,是一個功能強大的Python庫,允許以高效率的方式進行涉及多維數組的數值操作。
庫透明地使用GPU來執行數據密集型計算而不是CPU,因此操作效率很高。
出於這個原因,Theano已經被用於為大規模的計算密集型操作提供動力大約十年。
然而,於二零一七年九月二十八日,宣布Theano的主要發展將於二零一七年十一月十五日發布的1.0版本後停止。
這並不意味著它在任何方麵都不是一個強大的庫。任何時候你都可以隨時進行深入的學習研究。
優點:
正確優化CPU和GPU。
有效的數字任務。
缺點:
與其他庫相比,原生Theano的水平較低。
需要與其他庫一起使用以獲得高度的抽象。
AWS上有點bug。
Caffe
“快速開放的深度學習框架”
語言:C ++
22 111★
Caffe是一個強大的深度學習框架。
像這個清單上的其他框架一樣,深度學習的研究速度非常快。
借助Caffe,您可以非常輕鬆地構建可用於圖像分類的卷積神經網絡(CNN)。Caffe在GPU上運行良好,這有助於在運行期間提高速度。
Caffe主要類:
優點:
Python和MATLAB的綁定可用。
很好的表現;很好的績效。
允許在不編寫代碼的情況下訓練模型。
缺點:
對於重複性網絡不好。
新體係結構不太好。
Keras
“為人類打造的深度學習工具”
語言:Python
23 711★
Keras是一個用python編寫的開源神經網絡庫。
與TensorFlow,CNTK,Theano等Keras不同,它並不意味著是一個端到端的機器學習框架。
相反,它作為一個接口,提供了一個高層次的抽象,使得神經網絡的配置變得簡單,無論它在哪個框架上。
穀歌的TensorFlow目前支持Keras作為後端,而微軟的CNTK將很少或沒有時間做同樣的事情。
優點:
它是用戶友好的。
它很容易擴展。
在CPU和GPU上無縫運行。
與Theano和TensorFlow無縫結合。
缺點:
不能有效地用作獨立的框架。