最牛逼的开源机器学习框架,你知道几个
最牛逼的開源機器學(xué)習(xí)框架,你知道幾個
? 作者?大白鯨團隊?關(guān)注 2015.12.29 20:16?字數(shù) 1829?閱讀 3689評論 0喜歡 7機器學(xué)習(xí)毫無疑問是當(dāng)今最熱的話題,它已經(jīng)滲透到生活的方方面面,在移動互聯(lián)網(wǎng)中混不懂點機器學(xué)習(xí)都不好意思,說幾個能看的到的,經(jīng)常用郵箱吧,是不是感覺垃圾郵件比N年前變少了,無聊了和siri聊過天不,想坐一下無人駕駛汽車嗎,手累了用臉解個鎖,智能化產(chǎn)品推薦是不是讓你更懶了。看不到的就更多了:信用卡欺詐監(jiān)測保證你的交易安全,股票交易/量化投資(知道你的高收益理財怎么來的嗎?),手勢識別(用過海豚瀏覽器的手勢嗎),還有醫(yī)學(xué)分析等等,巨頭們?yōu)榱嗽谖磥碚碱I(lǐng)先機,前仆后繼的開源他們的機器學(xué)習(xí)框架,加速了人類進入智能時代的步伐(說什么,機器人?)
Facebook:用于Torch的模塊庫fbcunn (2015-01-17 開源)
fbcunn可以替代Torch的默認模塊,它們構(gòu)建在Nvidia的cuFFT庫(一個基于CUDA的庫,用于深度神經(jīng)網(wǎng)絡(luò))之上,可以在更短的時間內(nèi)訓(xùn)練更大規(guī)模的神經(jīng)網(wǎng)絡(luò)模型,它對NVIDIA的GPU進行了優(yōu)化。一部分可以用來訓(xùn)練大型計算機視覺系統(tǒng)。部分模塊也可以用來訓(xùn)練處理不同類型數(shù)據(jù)的模型。既可以進行文本識別、圖像識別,也能用于語言模型的訓(xùn)練。部分模塊將大型卷積神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練速度提升了23.5倍。
fbcunn基于Fast Training of Convolutional Networks through FFTs這篇論文中的想法構(gòu)建了這些模塊,FAIR(Facebook人工智能實驗室)的主任Yann LeCun是論文的合著者之一。與cuDNN相比,在卷積核較小的情況下(3x3),fbcunn的速度提升可達1.84倍;而在卷積核較大的情況下(5x5),速度提升可達23.5倍。
Torch和fbcunn的最早的用途之一:圖片分類,它分類過ImageNet的120萬張圖片,可以參考這個地址:https://github.com/soumith/imagenet-multiGPU.torch
參考:
http://torch.ch
https://github.com/torch/
https://github.com/facebook/fbcunn
https://research.facebook.com/blog/879898285375829/fair-open-sources-deep-learning-modules-for-torch/
微軟:DMTK(2015-11-16 開源)
DMTK由參數(shù)服務(wù)器和客戶端SDK兩部分構(gòu)成。參數(shù)服務(wù)器支持存儲混合數(shù)據(jù)結(jié)構(gòu)模型、接受并聚合工作節(jié)點服務(wù)器的數(shù)據(jù)模型更新、控制模型同步邏輯;客戶端SDK負責(zé)維護節(jié)點模型緩存(與全局模型服務(wù)器同步)、本地訓(xùn)練和模型通訊之間的流水線控制以及片狀調(diào)度大模型訓(xùn)練。它包含DMTK框架、LightLDA和分布式詞向量(Word Embedding)三個組件。
DMTK采用了傳統(tǒng)的客戶端/服務(wù)器架構(gòu),有多個服務(wù)器實例運行在多臺機器上負責(zé)維護全局模型參數(shù),而訓(xùn)練例程(routines)則使用客戶端API訪問并更新這些參數(shù)。為了適應(yīng)不同的集群環(huán)境,DMTK框架支持兩種進程間的通信機制:MPI和ZMQ。應(yīng)用程序端不需要修改任何代碼就能夠在這兩種方式之間切換。DMTK支持Windows和Linux兩種操作系統(tǒng)。
DMTK則是使用C++編寫的,提供了一個客戶端API和SDK。 DMTK的官網(wǎng) 對DMTK框架、LightLDA、分布式詞向量的應(yīng)用場景、下載、安裝、配置、運行以及性能等方面都做了詳盡的介紹(見參考部分)。
DMTK主要用于自然語言處理方面,比如:文本分類與聚類、話題識別以及情感分析等
參考:
http://www.dmtk.io
https://github.com/Microsoft/DMTK
Google:TensorFlow(2015-11-10 開源)
TensorFlow 是一個用來編寫和執(zhí)行機器學(xué)習(xí)算法的工具。計算在數(shù)據(jù)流圖中完成,圖中的節(jié)點進行數(shù)學(xué)運算,邊界是在各個節(jié)點中交換的張量(Tensors--多維數(shù)組)。TensorFlow負責(zé)在不同的設(shè)備、內(nèi)核以及線程上異步地執(zhí)行代碼,目前支持CNN、RNN和LSTM等圖像、語音和自然語言處理(NLP)領(lǐng)域最流行的深度神經(jīng)網(wǎng)絡(luò)模型。
Google已將TensorFlow用于GMail(SmartReply)、搜索(RankBrain)、圖片(生成圖像分類模型--Inception Image Classification Model)、翻譯器(字符識別)等產(chǎn)品。
TensorFlow能夠在臺式機、服務(wù)器或者移動設(shè)備的CPU和GPU上運行,也可以使用Docker容器部署到云環(huán)境中。在處理圖像識別、語音識別和語言翻譯等任務(wù)時,TensorFlow依賴于配備圖像處理單元(GPU)的機器和被用于渲染游戲圖像的芯片,它對這些芯片依賴度比想象中的高。當(dāng)前開源的版本能夠運行在單機上,暫不支持集群。操作系統(tǒng)方面,TensorFlow能夠運行在Linux和MacOS上。
TensorFlow的核心是使用C++編寫的,有完整的Python API和C++接口,同時還有一個基于C的客戶端API。
參考:
https://www.tensorflow.org
https://github.com/tensorflow/tensorflow
IBM:SystemML (2015-06 開源)
SystemML是靈活的,可伸縮機器學(xué)習(xí)(ML) 語言,使用Java編寫。可實現(xiàn) 可定制算法(述性分析、分類、聚類、回歸、矩陣分解及生存分析等), 多個執(zhí)行模式(單獨運行、Hadoop 和 Spark ), 自動優(yōu)化。它由 IBM 的 Almaden 實驗室花了近 10年開發(fā)而成的機器學(xué)習(xí)技術(shù)。
SystemML語言,聲明式機器學(xué)習(xí) (DML)。SystemML 包含線性代數(shù)原語,統(tǒng)計功能和 ML 指定結(jié)構(gòu),可以更容易也更原生的表達 ML 算法。算法通過 R 類型或者 Python 類型的語法進行表達。DML 通過提供靈活的定制分析表達和獨立于底層輸入格式和物理數(shù)據(jù)表示的數(shù)據(jù)顯著提升數(shù)據(jù)科學(xué)的生產(chǎn)力。
SystemML 運行環(huán)境支持 Windows、Linux 及 MacOS,可支持單機和分布式部署。單機部署顯然有利于本地開發(fā)的工作,而分布式部署則可以真正發(fā)揮機器學(xué)習(xí)的威力,支持的框架包括 Hadoop 和 Spark
眾所周知的IBM AIWaston融入了不少SystemML技術(shù)(不了解的同學(xué)可以看下《Jeopardy!》節(jié)目,來領(lǐng)教到沃森的威力)
參考:
http://systemml.apache.org
https://github.com/apache/incubator-systemml
三星:VELES
VELES 是分布式深度學(xué)習(xí)應(yīng)用系統(tǒng),號稱:用戶只需要提供參數(shù),剩下的我來搞,VELES使用 Python 編寫,使用OpenCL 或者 CUDA,利用基于Flow 的編程方式。
參考:
https://velesnet.ml
https://github.com/Samsung/veles
百度: ?paddlepaddle
有了。上百度搜 ?paddlepaddle
巨頭之所以開源自己耗時多年打造的機器學(xué)習(xí)框架,是希望能夠加速在人工智能方面的部署,在人工智能日益重要的未來搶占更多的主導(dǎo)權(quán)。而對于機器人創(chuàng)業(yè)公司來說,當(dāng)這么多巨頭將機器學(xué)習(xí)平臺開源后,還有什么理由做不好機器人。
轉(zhuǎn)載于:https://www.cnblogs.com/leoking01/p/7210033.html
總結(jié)
以上是生活随笔為你收集整理的最牛逼的开源机器学习框架,你知道几个的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于Docker的TensorFlow机
- 下一篇: Linux Redis 重启数据丢失解决