20個機器學習工具,哪個語言最適合程式設計師入門AI?(下)

PyTorch:易於使用的研究工具

PyTorch是一個支持和加速GPU的深度神經網絡的開源機器學習框架。由Facebook的團隊與來自Twitter,SalesForce,NRIA,ENS,ParisTech,Nvidia,Digital Reasoning和INRIA的工程師共同開發,該庫於2016年10月首次發佈.PyTorch基於Torch框架構建,但與Lua編寫的前身不同,它支持常用的Python。

20個機器學習工具,哪個語言最適合程序員入門AI?(下)

PyTorch的開發理念是儘可能快速靈活地提供建模體驗。值得一提的是,PyTorch中的工作流程類似於基於Python的科學計算庫NumPy中的工作流程。

動態計算圖是使該庫流行的特徵之一。在TensorFlow,Theano,CNTK和Caffe等大多數框架中,模型都是以靜態方式構建的。數據科學家必須改變神經網絡的整體結構 - 從頭開始??重建 - 以改變它的行為方式。 PyTorch使它更容易,更快捷。該框架允許任意改變網絡行為而沒有滯後或開銷。

動態構建模型(在運行期間)的能力是使用PyTorch的驅動因素之一,同意Facebook AI Research的Denis Yarats。 “我使用PyTorch - 它是最好的。我過去嘗試過很多DL框架,包括TensorFlow,Torch,Keras和Theano。這些都不像PyTorch那麼簡單和強大。當我從事深度學習研究時,我非常重視快速修改和調試模型的能力。“

Illia Polosukhin和Vitaliy Bulygin也強調通過使用動態計算圖表可以實現研究的便利性和靈活性,這也是他們選擇PyTorch作為深度學習工具的原因。

Keras:輕量級,易於使用的庫,用於快速原型設計

Keras是一個Python深度學習庫,能夠在Theano,TensorFlow或CNTK上運行。 Google Brain團隊成員Francois Chollet開發了它,使數據科學家能夠快速運行機器學習實驗。

20個機器學習工具,哪個語言最適合程序員入門AI?(下)

該庫可以在GPU和CPU上運行,並支持循環和卷積網絡以及它們的組合。

藉助圖書館的高級,可理解的界面,將網絡劃分為易於創建和添加的獨立模塊序列,可以實現快速原型設計。

根據數據科學家的說法,建模速度是該庫的優勢之一。 來自三星的Vitaliy Bulygin指出,使用TensorFlow的Keras可實現非常快速的神經網絡實施。 如果其工具集足以滿足特定任務,他建議堅持使用Keras。 如果沒有,最好用PyTorch進行研究。

Caffe2:具有移動部署支持的深度學習庫

Caffe2是Caffe的改進版本,是由Facebook構建的開放式機器學習框架,用於簡化和靈活深入學習複雜模型並支持移動部署。

20個機器學習工具,哪個語言最適合程序員入門AI?(下)

用戶可以通過多種方式組織使用庫進行計算,可以在桌面,雲端或數據中心中安裝和運行。

該庫具有交替工作的本機Python和C ++ API,允許開發人員隨時隨地進行原型設計並進行優化。

通過與Xcode,Visual Studio和Android Studio IDE的集成,部署的模型可以在移動設備上快速運行。該框架還允許快速放大或縮小,而無需進行設計重構。

快速原型設計,研究和開發是使用Caffe2的好處。 “我正在使用它,因為它具有清晰的代碼基礎設施,並且很容易擴展它以用於新方法的研究,”NURE Andrii Babii的高級講師總結道。

大數據工具

Apache Spark:分佈式計算的工具

使用Apache Spark進行大數據處理就像駕駛法拉利一樣:它更快,更方便,並且與普通汽車相比,可以在相同的時間內探索更多。

20個機器學習工具,哪個語言最適合程序員入門AI?(下)

Apache Spark是一個分佈式開源集群計算框架,通常配備其內存數據處理引擎。該引擎的功能包括ETL(提取,轉換和加載),機器學習,數據分析,批處理和數據流處理。

Apache Spark的流處理能力是Facebook AI Denis Yarats的研究人員使用它的原因之一:“該工具使用數據流/流處理概念進行分佈式計算,並允許將解決方案擴展到大型集群。”

雖然主要是在Scala中編寫,但該引擎附帶了用於Java,Python,Clojure和R的高級開發人員API。

各種運行選項(本地,集群或雲或本地)以及從任何數據源訪問數據的功能是Apache Spark的其他有益功能。

MemSQL:專為實時應用程序設計的數據庫

20個機器學習工具,哪個語言最適合程序員入門AI?(下)

MemSQL是用於實時分析的分佈式內存SQL數據庫平臺。 它可以攝取和分析流數據並運行PB級查詢,以支持即時消息,在線遊戲或社區存儲解決方案等實時應用程序的工作。 MemSQL支持對關係SQL,地理空間或JSON數據的查詢。

簡而言之,該平臺可以同時提供數據庫,實時數據處理和數據倉庫服務,幫助用戶實現數據效率。

“MemSQL允許你不關心數據的大小,並且像它只是一個常規的SQL數據庫一樣工作,”來自NEAR.AI的Illia Polosukhin強調說。

如果您是活躍的機器學習從業者,請隨時在評論與我們分享您喜歡的工具。 我們也很樂意分享您的意見。

實踐人工智能,AI硬件加速神經網絡運算

繼谷歌宣佈其Tensor處理單元AI芯片的嵌入式友好Edge TPU版本和物聯網網關的相關雲物聯網邊緣堆棧之後,該公司宣佈推出可與任何Linux或Android物品計算機配合使用的USB計算機版Edge TPU。

20個機器學習工具,哪個語言最適合程序員入門AI?(下)

Edge TPU Accelerator使用與即將推出的開發套件中內置的相同的精簡邊緣TPU神經網絡協處理器。它具有USB Type-C端口,可插入任何Debian Linux或Android Things計算機,以加速機器學習(ML)推理,實現本地邊緣分析。 65 x 30mm設備具有用於主機板的安裝孔,例如Raspberry Pi Zero。

與Edge TPU開發套件一樣,Edge TPU Accelerator可以直接在設備上處理ML推理數據。 “本地ML加速器可以增加隱私,消除對持久連接的需求,減少延遲,並使用更少的功率實現高性能,”Google表示。

20個機器學習工具,哪個語言最適合程序員入門AI?(下)

Edge TPU Accelerator與英特爾的神經計算(以前稱為Fathom)等產品競爭。配備USB的神經計算配備了Movidius Myriad 2 VPU和神經網絡加速器。


分享到:


相關文章: