面向人工智能和機(jī)器學(xué)習(xí)模型的五大開源框架
譯文【51CTO.com快譯】最近十年人工智能的迅猛增長刺激了當(dāng)前市場對人工智能和機(jī)器學(xué)習(xí)技能的巨大需求?;跈C(jī)器學(xué)習(xí)的創(chuàng)新目前應(yīng)用于從金融到醫(yī)療的幾乎各行各業(yè)。我們在本文中將重點(diǎn)介紹5種工具及其各自面向人工智能和機(jī)器學(xué)習(xí)模型的框架。每個工具或框架都附有簡短描述和功能特性介紹。
1.谷歌的TensorFlow
TensorFlow是一個開源編程庫,最初由谷歌大腦團(tuán)隊(duì)的的研究人員開發(fā)。TensorFlow用于數(shù)據(jù)流圖形和圖表方面的數(shù)值計(jì)算。圖表中的節(jié)點(diǎn)與數(shù)值任務(wù)對話,而圖表邊緣與在它們之間傳遞的多維信息數(shù)組(張量)對話。這種自適應(yīng)設(shè)計(jì)讓你使用單個API,就可以將計(jì)算部署到工作區(qū)、服務(wù)器或手機(jī)中的至少一個CPU或GPU。
TensorFlow提供多種多樣的API。最基本的API:TensorFlow Core為你提供了全面的編程控制。較龐大的API基于TensorFlow Core,學(xué)習(xí)和使用起來要求通常不如TensorFlow Core那么高。此外,更高級別的API使得冗余任務(wù)在諸客戶端之間要求較低、更加可靠。
鏈接:https://www.tensorflow.org/
2.Caffe:一種注重表達(dá)、速度和模塊化的深度學(xué)習(xí)框架。
Caffe是面向計(jì)算機(jī)視覺相關(guān)任務(wù)的一種強(qiáng)大的、眾所周知的決策,可以從Caffe Model Zoo下載Caffe客戶制作的眾多高效模型,直接可以拿來使用。它最初由賈揚(yáng)清在加州大學(xué)伯克利分校攻讀博士學(xué)位期間開發(fā)而成,后來逐漸被伯克利AI研究中心(BAIR)和網(wǎng)絡(luò)贊助商大力推廣。它基本上以用于計(jì)算機(jī)視覺的卷積系統(tǒng)為中心。
鏈接:http://caffe.berkeleyvision.org/
3.Torch:一個開源機(jī)器學(xué)習(xí)庫、一種邏輯處理框架以及一種基于Lua編程語言的腳本語言。
Torch為深度機(jī)器學(xué)習(xí)提供了廣泛的算法。它使用腳本語言LuaJIT和基本的C/CUDA用法。它提供了一個可適應(yīng)的N維數(shù)組即張量,支持針對索引、切片、轉(zhuǎn)置、類型拋出、調(diào)整大小、共享庫存和克隆的基本例程。該工具甚至支持各大平臺,比如iOS、Windows、Mac OS X、Linux和Android。
Torch被Facebook AI研究組織之類的龐大協(xié)會使用。它已經(jīng)在Android和iOS上使用。它已被用于構(gòu)建用于數(shù)據(jù)流的硬件實(shí)現(xiàn),比如神經(jīng)系統(tǒng)中的數(shù)據(jù)流。Facebook已經(jīng)發(fā)布了一套擴(kuò)展模塊作為開源編程。
PyTorch是一個開源機(jī)器學(xué)習(xí)庫,廣泛用于用Python編寫的應(yīng)用程序,比如自然語言處理。它主要由FaceBook的AI研究組織創(chuàng)建,優(yōu)步用于概率編程的Pyro編程技術(shù)基于它。
4.Neuroph:一種用Java語言編寫的面向?qū)ο蟮纳窠?jīng)網(wǎng)絡(luò)框架。
Neuroph可用于訓(xùn)練和創(chuàng)建用Java程序編寫的神經(jīng)系統(tǒng)。它提供了一個Java類庫,還提供了名為easyNeurons的GUI工具,用于制作和準(zhǔn)備神經(jīng)系統(tǒng)。Neuroph是一個輕量級Java神經(jīng)系統(tǒng),也是用于創(chuàng)建基本神經(jīng)系統(tǒng)模型的框架。它包含一個全面規(guī)劃的開源Java庫,與基本的NN概念有關(guān)的基本類沒有幾個。它還有令人愉快的GUI神經(jīng)網(wǎng)絡(luò)編輯工具,可快速制作Java神經(jīng)系統(tǒng)段。它采用Apache 2.0許可證作為開源發(fā)布。
Neuroph的中心類相當(dāng)于基本的神經(jīng)系統(tǒng)概念,比如人工神經(jīng)元、神經(jīng)元層、神經(jīng)元關(guān)聯(lián)、權(quán)重、交換工作、輸入工作和學(xué)習(xí)指南等。Neuroph支持基本的神經(jīng)系統(tǒng)結(jié)構(gòu),比如,具有反向傳播、Kohonen和Hopfield系統(tǒng)的多層感知器。這每一類都可以擴(kuò)展和重做,以構(gòu)建自定義神經(jīng)系統(tǒng)和制定學(xué)習(xí)規(guī)則。Neuroph致力于幫助圖像識別。
鏈接:http://neuroph.sourceforge.net/
5.Deeplearning4j(DL4J):據(jù)說是為Java和Scala構(gòu)建的一種主要的商業(yè)級、開源、分布式深度學(xué)習(xí)庫。
Deeplearning4j(DL4J)與Hadoop和Spark合并。DL4J旨在運(yùn)行在分布式GPU和CPU上的商業(yè)環(huán)境。Deeplearning4j的優(yōu)點(diǎn)如下:
- Deeplearning4j旨在注重配置傳統(tǒng)而非設(shè)計(jì),以此站在前沿,這考慮到了面向非研究人員的快速原型設(shè)計(jì)。
- 可以大規(guī)模定制。
- DL4J可以通過Keras從大多數(shù)實(shí)際系統(tǒng)導(dǎo)入神經(jīng)網(wǎng)絡(luò)模型,包括TensorFlow、Caffe和Theano,克服了Python生態(tài)系統(tǒng)與JVM、數(shù)據(jù)科學(xué)家和DevOps之間的差距。Keras被用作Deeplearning4j的Python API。
鏈接:https://deeplearning4j.org/
本文中分析的幾種庫極其高效,最終具有高水準(zhǔn)。像Facebook、谷歌、雅虎、蘋果和微軟這樣大企業(yè)在使用這些庫用于深度學(xué)習(xí)和機(jī)器學(xué)習(xí)事業(yè),所以你有什么理由不這么做呢?你能想到經(jīng)常使用的其他庫嗎?歡迎留言交流!
原文標(biāo)題:5 Open Source Frameworks For Artificial Intelligence & Machine Learning Models,作者:Rashmi Inglekh
【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】