深度學習中的框架特點及介紹


下面我們來對深度學習中的各個框架的特點進行介紹

1.TensorFlow框架

tensorflow是用c++語言開發的,同時支持C,java,python等多種語言多的調用,目前主流的方式通常會使用python語言進行驅動應用。利用c++語言可以保證其運行效率,python語言作為其上層應用語言,可以為研究人員節省大量的時間。

Tensorflow與CNTK,MXNET,theano同屬於符號計算架構,允許用戶在不需要使用低級語言實現的情況下,開發出新的復雜層類型。基於圖運算是其最主要的特點,通過圖上的節點變量可以控制訓練中各個環節的變量,尤其在需要進行底層操作時,Tensorflow要比其他的框架更容易些。雖然Tensorflow在大型計算機集群中的並行處理,運算性能略低於CNTK,但是在個人機器使用場景下,可以根據機器的配置自動選擇CPU或者GPU來進行計算。

2.Theano

Theano是一個十余年的python深度學習和機器學習框架,用來定義,優化和模擬數學表達式計算,用於高效的解決多為數組的計算問題,有較好的擴展性。

3.Torch

Torch同樣具有很好的擴展性,但是有些接口不夠全面,比如WGAN-OP這樣的網絡需要手動計算來修改梯度沒有對應的接口。其最大的缺點是,需要LuauJIT的支持,用於Lu語言,在python流行的今天,通用性能方面比較差。

4.Keras

keras可以理解為一個Theano框架和tensorflow前端的一和個組合。其構建模型的api調用方式漸漸成為了主流,包括Tensorflow,CNTK,MXNet等知名框架,都提供對keras調用語法的支持。使用keras編寫的代碼,會有更好的可移植性。

5.DeepLearning4j

DeepLearning4j是基於java語言和Scala語言開發的,應用在Hadoop和spark系統之上的深度學習軟件。

6.Caffe

最初caffe是一個強大的圖像分類框架,是最容易測試和評估性能的標准深度學習框架,並且提供了很多訓練好的模型,尤其是該模型的復用價值在其他的框架中都會出現,大大提升了現有模型的訓練時間。但是Caffe更新緩慢。

7.MXNet

MXNet是一個可移植的,可伸縮的深度學習庫,具有Torch,Theano和caffe的部分特性。在不同程度上面支持Python,R,Scala,Julia和C++語言,也是目前比熱門的主流框架之一。

8.CNTK

CNTK是一個微軟開發的深度學習軟件包,以速度塊兒著稱,運用獨特的神經網絡配置語言Brain Script,大大的降低了學習成本。有微軟作為后盾,CNTK成為最具有潛力的深度學習框架之一。目前的成熟度和Tensorflow相比有較大的差距,但是其與Visual Studio的耦合,以及特定的MS編程風格,使得熟悉VS的小伙伴極容易上手。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM