主流深度學習開源工具彙總

近幾年來,深度學習在機器學習領域取得了快速的發展,它切底改變了我們對人工智能的看法。就是使用神經網絡的一系列算法應對多層次的,不同層級的抽象。目前深度學習的主要應用領域(或者說是比較成熟的領域)主要有:計算機視覺(圖像識別、光學字符識別)、語音識別、自然語言處理、人機博弈、金融領域的風控及量化交易。

一、Caffe

1、Caffe是一個深度學習框架,簡單、快速、模塊化

2、它由伯克利AI研究(BAIR)和社區貢獻者開發

3、支持的語言:C++、Python、MATLAB

4、支持的OS,Linux、Mac、Windows

5、選擇Caffe的理由:

a、簡單的架構鼓勵應用和創新,通過配置來定義模型和優化,可以通過設置單個標識GPU訓練機器和商用集羣服務器或移動設備上使用

b、可擴展代碼促進了積極的發展。

c、速度使得Caffe成爲研究實驗和行業部署的完美選擇。Caffe在單個的NVIDIA K40 GPU*上每天可以處理超過60M圖片。

d、社區,Caffe已經爲視覺、語音和多媒體的學術研究項目啓動原型甚至大規模的工業應用提供了支持。


二、Deeplearning4j

1、Deeplearning4j是一個爲java編寫的、開源的、分佈式的深度學習庫。

2、Skymind是其商用支持部門

3、支持的語言:java、scala、clojure、Kotlin。 Keras支持Python。

4、支持的操作系統有:Linux, Windows, Mac,Android

5、選擇Deeplearning4j

a、可以利用最新的分佈式計算框架Hadoop和Spark來加速訓練,在多GPU環境性能同Caffe一樣的好。

b、完全開源

c、同任何JVM語言兼容,同時支持Python和C++

d、適用微服務架構

e、GPU支持AWS擴展


三、Microsoft Cognitive Toolkit(CNTK)

1、CNTK是一個免費的、容易使用的、開源的商用級的工具集,用來訓練深度學習算法。

2、由微軟研究院提供支持

3、支持的語言:Python, C++, BrainScript

4、支持的OS:Linux, Windows

5、選擇CNTK的理由

a、更快的訓練和評估深度學習算法,能有效的進行擴展,從CPU到GPU到多臺機器,同時保持準確性。

b、可與大叔級可靠的工作,Skype、Cortana、Bing、Xbox和行業領先的科學家已經使用該工具包開發商業級別的應用。

c、提供快速、易於使用的架構。使用C++、Python等語言和網絡,可以定義任何內置的算法或者使用自己的訓練算法。

d、高度優化,內置的組件

e、高效的資源使用

f、容易擴展你自己的網絡

g、能在Azure上使用和訓練


四、MXNet

1、一個靈活的、高效的深度學習庫

2、由分佈式機器學習社區提供支持

3、支持的語言:C++、Python,R、Scala等

4、支持的OS:Linux,Mac,windows, Android, iOS

5、選擇的理由:

a、高效

b、分佈式計算

c、動態計算圖


五、PaddlePaddle

1、是一個快速、高效、靈活、可擴展的深度學習平臺

2、由百度提供支持

3、支持的語言:C++、Python

4、支持的OS:Linux,Mac

5、選擇的理由:

a、容易使用:爲加載數據和指定模型結構提供了靈活的接口

b、靈活:支持CNN、RNN和各種複雜的深度學習模型

c、高效:提供及其優化的操作、內存回收和網絡通信

d、擴展:輕鬆擴展異構計算資源和存儲,從而加快培訓過程


六、TensorFlow

1、TensorFlow是一個用於機器學習的軟件庫,用於各種任務,是一個數學庫,同時用於構建和訓練神經網絡系統來檢測和破譯模式和相關性,類似於人類的學習和推理。

2、由Google提供支持

3、支持的語言:C++、Python

4、支持的OS:Linux,Mac,Android,iOS

5、選擇的理由:

a、TensorFlow中包含XLA,這是一個強大的線性代數編譯器,可以幫組TensorFlow代碼在嵌入式處理器、CPU、GPU、TPU和其他平臺上儘可能快速的運行

b、提供高層級的API,讓您輕鬆的構建和訓練你的模型

c、支持不同的使用規模,即支持探索性研究,也支持大規模生產用途。


七、Torch

1、Torch是一個機器學習框架,廣泛支持機器學習算法,優先使用GPU。

2、由Ronan Collobert、Soumith Chintala等提供支持

3、支持的語言:Lua、LuaJIT、C

4、支持的OS:Linux,Mac,Windows,Android,iOS

5、選擇的理由:

a、核心是流行的神經網絡和易於使用的優化庫

b、爲實現複雜神經網絡拓撲提供最大的靈活性

c、可以構建任意的神經網絡圖形,並以高效的方式並行化CPU和GPU


八、不同工具在GitHub上的活躍程度對比。





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章