<address id="v5f1t"><meter id="v5f1t"><dfn id="v5f1t"></dfn></meter></address>

<nobr id="v5f1t"><i id="v5f1t"><em id="v5f1t"></em></i></nobr>
      <font id="v5f1t"></font>

    <font id="v5f1t"><ruby id="v5f1t"></ruby></font>

      <listing id="v5f1t"></listing>

        <dfn id="v5f1t"><ruby id="v5f1t"><form id="v5f1t"></form></ruby></dfn>

            <dfn id="v5f1t"></dfn>

            <progress id="v5f1t"><b id="v5f1t"><strike id="v5f1t"></strike></b></progress>

              <font id="v5f1t"></font>

                      28款GitHub最流行的開源機器學習項目:TensorFlow排榜首

                      導讀現在機器學習逐漸成為行業熱門,經過二十幾年的發展,機器學習目前也有了十分廣泛的應用,如數據挖掘、計算機視覺、自然語言處理、生物特征識別、搜索引擎、醫學診斷、DNA序列測序、語音和手寫識別、戰略游戲和

                      現在機器學習逐漸成為行業熱門,經過二十幾年的發展,機器學習目前也有了十分廣泛的應用,如:數據挖掘、計算機視覺、自然語言處理、生物特征識別、搜索引擎、醫學診斷、DNA序列測序、語音和手寫識別、戰略游戲和機器人等方面。

                      云棲社區特意翻譯整理了目前GitHub上最受歡迎的28款開源的機器學習項目,以供開發者參考使用。

                      1. TensorFlow

                       

                      _1

                      TensorFlow 是谷歌發布的第二代機器學習系統。據谷歌宣稱,在部分基準測試中,TensorFlow的處理速度比第一代的DistBelief加快了2倍之多。

                      具體的講,TensorFlow是一個利用數據流圖(Data Flow Graphs)進行數值計算的開源軟件庫:圖中的節點( Nodes)代表數學運算操作,同時圖中的邊(Edges)表示節點之間相互流通的多維數組,即張量(Tensors)。這種靈活的架構可以讓使用者在多樣化的將計算部署在臺式機、服務器或者移動設備的一個或多個CPU上,而且無需重寫代碼;同時任一基于梯度的機器學習算法均可夠借鑒TensorFlow的自動分化(Auto-differentiation);此外通過靈活的Python接口,要在TensorFlow中表達想法也變得更為簡單。

                      TensorFlow最初由Google Brain小組(該小組隸屬于Google's Machine Intelligence研究機構)的研究員和工程師開發出來的,開發目的是用于進行機器學習和深度神經網絡的研究。但該系統的通用性足以使其廣泛用于其他計算領域。

                      目前Google 內部已在大量使用 AI 技術,包括 Google App 的語音識別、Gmail 的自動回復功能、Google Photos 的圖片搜索等都在使用 TensorFlow 。

                      開發語言:C++

                      許可協議:Apache License 2.0

                      GitHub項目地址:https://github.com/tensorflow/tensorflow

                      2. Scikit-Learn

                      Scikit-Learn是用于機器學習的Python 模塊,它建立在SciPy之上。該項目由David Cournapeau 于2007年創立,當時項目名為Google Summer of Code,自此之后,眾多志愿者都為此做出了貢獻。

                      主要特點:

                      • 操作簡單、高效的數據挖掘和數據分析
                      • 無訪問限制,在任何情況下可重新使用
                      • 建立在NumPy、SciPy 和 matplotlib基礎上

                      Scikit-Learn的基本功能主要被分為六個部分:分類、回歸、聚類、數據降維、模型選擇、數據預處理,具體可以參考官方網站上的文檔。經過測試,Scikit-Learn可在 Python 2.6、Python 2.7 和 Python 3.5上運行。除此之外,它也應該可在Python 3.3和Python 3.4上運行。

                      注:Scikit-Learn以前被稱為Scikits.Learn。

                      開發語言:Python

                      許可協議:3-Clause BSD license

                      GitHub項目地址:https://github.com/scikit-learn/scikit-learn

                      3.Caffe

                      Caffe 是由神經網絡中的表達式、速度、及模塊化產生的深度學習框架。后來它通過伯克利視覺與學習中心((BVLC)和社區參與者的貢獻,得以發展形成了以一個伯克利主導,然后加之Github和Caffe-users郵件所組成的一個比較松散和自由的社區。

                      Caffe是一個基于C++/CUDA架構框架,開發者能夠利用它自由的組織網絡,目前支持卷積神經網絡和全連接神經網絡(人工神經網絡)。在Linux上,C++可以通過命令行來操作接口,對于MATLAB、Python也有專門的接口,運算上支持CPU和GPU直接無縫切換。

                      Caffe的特點

                      • 易用性:Caffe的模型與相應優化都是以文本形式而非代碼形式給出, Caffe給出了模型的定義、最優化設置以及預訓練的權重,方便快速使用;
                      • 速度快:能夠運行最棒的模型與海量的數據;
                      • Caffe可與cuDNN結合使用,可用于測試AlexNet模型,在K40上處理一張圖片只需要1.17ms;
                      • 模塊化:便于擴展到新的任務和設置上;
                      • 使用者可通過Caffe提供的各層類型來定義自己的模型;

                      目前Caffe應用實踐主要有數據整理、設計網絡結構、訓練結果、基于現有訓練模型,使用Caffe直接識別。

                      開發語言:C++

                      許可協議: BSD 2-Clause license

                      GitHub項目地址:https://github.com/BVLC/caffe

                      4. PredictionIO

                      PredictionIO 是面向開發人員和數據科學家的開源機器學習服務器。它支持事件采集、算法調度、評估,以及經由REST APIs的預測結果查詢。使用者可以通過PredictionIO做一些預測,比如個性化推薦、發現內容等。PredictionIO 提供20個預設算法,開發者可以直接將它們運行于自己的數據上。幾乎任何應用與PredictionIO集成都可以變得更“聰明”。其主要特點如下所示:

                      • 基于已有數據可預測用戶行為;
                      • 使用者可選擇你自己的機器學習算法;
                      • 無需擔心可擴展性,擴展性好。

                      PredictionIO 基于 REST API(應用程序接口)標準,不過它還包含 Ruby、Python、Scala、Java 等編程語言的 SDK(軟件開發工具包)。其開發語言是Scala語言,數據庫方面使用的是MongoDB數據庫,計算系統采用Hadoop系統架構。

                      開發語言:Scala

                      許可協議:Apache License 2.0

                      GitHub項目地址:https://github.com/PredictionIO/PredictionIO

                      5. Brain

                      Brain是 Javascript 中的 神經網絡庫。以下例子說明使用Brain來近似 XOR 功能:

                      var net = new brain.NeuralNetwork();net.train([{input: [0, 0], output: [0]},{input: [0, 1], output: [1]},{input: [1, 0], output: [1]},{input: [1, 1], output: [0]}]);var output = net.run([1, 0]);// [0.987]

                      當 brain 用于節點中,可使用npm安裝:

                      npm install brain

                      當 brain 用于瀏覽器,下載最新的 brain.js 文件。訓練計算代價比較昂貴,所以應該離線訓練網絡(或者在 Worker 上),并使用 toFunction()或者toJSON()選項,以便將預訓練網絡插入到網站中。

                      開發語言:Javascript

                      GitHub項目地址:https://github.com/harthur/brain

                      6. Keras

                      Keras是極其精簡并高度模塊化的神經網絡庫,在TensorFlow 或 Theano 上都能夠運行,是一個高度模塊化的神經網絡庫,支持GPU和CPU運算。Keras可以說是Python版的Torch7,對于快速構建CNN模型非常方便,同時也包含了一些最新文獻的算法,比如Batch Noramlize,文檔教程也很全,在官網上作者都是直接給例子淺顯易懂。Keras也支持保存訓練好的參數,然后加載已經訓練好的參數,進行繼續訓練。

                      Keras側重于開發快速實驗,用可能最少延遲實現從理念到結果的轉變,即為做好一項研究的關鍵。

                      當需要如下要求的深度學習的庫時,就可以考慮使用Keras:

                      • 考慮到簡單快速的原型法(通過總體模塊性、精簡性以及可擴展性);
                      • 同時支持卷積網絡和遞歸網絡,以及兩者之間的組合;
                      • 支持任意連接方案(包括多輸入多輸出訓練);
                      • 可在CPU 和 GPU 上無縫運行。

                      Keras目前支持 Python 2.7-3.5。

                      開發語言:Python

                      GitHub項目地址:https://github.com/fchollet/keras

                      7. CNTK

                      CNTK(Computational Network Toolkit )是一個統一的深度學習工具包,該工具包通過一個有向圖將神經網絡描述為一系列計算步驟。在有向圖中,葉節點表示輸入值或網絡參數,其他節點表示該節點輸入之上的矩陣運算。

                      CNTK 使得實現和組合如前饋型神經網絡DNN、卷積神經網絡(CNN)和循環神經網絡(RNNs/LSTMs)等流行模式變得非常容易。同時它實現了跨多GPU 和服務器自動分化和并行化的隨機梯度下降(SGD,誤差反向傳播)學習。

                      下圖將CNTK的處理速度(每秒處理的幀數)和其他四個知名的工具包做了比較了。配置采用的是四層全連接的神經網絡(參見基準測試腳本)和一個大小是8192 的高效mini batch。在相同的硬件和相應的最新公共軟件版本(2015.12.3前的版本)的基礎上得到如下結果:

                      _2

                      CNTK自2015年四月就已開源。

                      開發語言:C++

                      GitHub項目地址:https://github.com/Microsoft/CNTK

                      8. Convnetjs

                      ConvNetJS是利用Javascript實現的神經網絡,同時還具有非常不錯的基于瀏覽器的Demo。它最重要的用途是幫助深度學習初學者更快、更直觀的理解算法。

                      它目前支持:

                      • 常見的神經網絡模塊(全連接層,非線性);
                      • 分類(SVM/ SOFTMAX)和回歸(L2)的成本函數;
                      • 指定和訓練圖像處理的卷積網絡;
                      • 基于Deep Q Learning的實驗強化學習模型。

                      一些在線示例:

                      • Convolutional Neural Network on MNIST digits
                      • Convolutional Neural Network on CIFAR-10
                      • Toy 2D data
                      • Toy 1D regression
                      • Training an Autoencoder on MNIST digits
                      • Deep Q Learning Reinforcement Learning demo+Image Regression ("Painting")+Comparison of SGD/Adagrad/Adadelta on MNIST開發語言:Javascript 許可協議:MIT License GitHub項目地址:https://github.com/karpathy/convnetjs

                      9. Pattern

                       

                      _3

                      Pattern是Python的一個Web挖掘模塊。擁有以下工具:

                      • 數據挖掘:網絡服務(Google、Twitter、Wikipedia)、網絡爬蟲、HTML DOM解析;
                      • 自然語言處理:詞性標注工具(Part-Of-Speech Tagger)、N元搜索(n-gram search)、情感分析(sentiment analysis)、WordNet;
                      • 機器學習:向量空間模型、聚類、分類(KNN、SVM、 Perceptron);
                      • 網絡分析:圖形中心性和可視化。

                      其文檔完善,目前擁有50多個案例和350多個單元測試。 Pattern目前只支持Python 2.5+(尚不支持Python 3),該模塊除了在Pattern.vector模塊中使用LSA外沒有其他任何外部要求,因此只需安裝 NumPy (僅在Mac OS X上默認安裝)。

                      開發語言:Python

                      許可協議:BSD license

                      GitHub項目地址:https://github.com/clips/pattern

                      10. NuPIC

                       

                      _4

                      NuPIC是一個實現了HTM學習算法的機器智能平臺。HTM是一個關于新(大腦)皮質(Neocortex)的詳細人工智能算法。HTM的核心是基于時間的連續學習算法,該算法可以存儲和調用時間和空間兩種模式。NuPIC可以適用于解決各類問題,尤其是異常檢測和流數據源預測方面。

                      NuPIC Binaries文件目前可用于:

                      • Linux x86 64bit
                      • OS X 10.9
                      • OS X 10.10
                      • Windows 64bit

                      NuPIC 有自己的獨特之處。許多機器學習算法無法適應新模式,而NuPIC的運作接近于人腦,當模式變化的時候,它會忘掉舊模式,記憶新模式。

                      開發語言:Python

                      GitHub項目地址:https://github.com/numenta/nupic

                      11. Theano

                      Theano是一個Python庫,它允許使用者有效地定義、優化和評估涉及多維數組的數學表達式,同時支持GPUs和高效符號分化操作。Theano具有以下特點:

                      • 與NumPy緊密相關--在Theano的編譯功能中使用了Numpy.ndarray ;
                      • 透明地使用GPU--執行數據密集型計算比CPU快了140多倍(針對Float32);
                      • 高效符號分化--Theano將函數的導數分為一個或多個不同的輸入;
                      • 速度和穩定性的優化--即使輸入的x非常小也可以得到log(1+x)正確結果;
                      • 動態生成 C代碼--表達式計算更快;
                      • 廣泛的單元測試和自我驗證--多種錯誤類型的檢測和判定。

                      自2007年起,Theano一直致力于大型密集型科學計算研究,但它目前也很被廣泛應用在課堂之上( 如Montreal大學的深度學習/機器學習課程)。

                      開發語言:Python

                      GitHub項目地址:https://github.com/Theano/Theano

                      12. MXNet

                       

                      _5

                      MXNet是一個兼具效率和靈活性的深度學習框架。它允許使用者將符號編程和命令式編程相結合,以追求效率和生產力的最大化。其核心是動態依賴調度程序,該程序可以動態自動進行并行化符號和命令的操作。其中部署的圖形優化層使得符號操作更快和內存利用率更高。該庫輕量且便攜帶,并且可擴展到多個GPU和多臺主機上。

                      主要特點:

                      • 其設計說明提供了有用的見解,可以被重新應用到其他DL項目中;
                      • 任意計算圖的靈活配置;
                      • 整合了各種編程方法的優勢最大限度地提高靈活性和效率;
                      • 輕量、高效的內存以及支持便攜式的智能設備;
                      • 多GPU擴展和分布式的自動并行化設置;
                      • 支持Python、R、C++和 Julia;
                      • 對“云計算”友好,直接兼容S3、HDFS和Azure。

                      MXNet不僅僅是一個深度學習項目,它更是一個建立深度學習系統的藍圖、指導方針以及黑客們對深度學習系統獨特見解的結合體。

                      開發語言:Jupyter Notebook

                      開源許可:Apache-2.0license

                      GitHub項目地址:https://github.com/dmlc/mxnet

                      13. Vowpal Wabbit

                      Vowpal Wabbit是一個機器學習系統,該系統推動了如在線、散列、Allreduce、Learning2search、等方面機器學習前沿技術的發展。 其訓練速度很快,在20億條訓練樣本,每個訓練樣本大概100個非零特征的情況下:如果特征的總位數為一萬時,訓練時間為20分鐘;特征總位數為1000萬時,訓練時間為2個小時。Vowpal Wabbit支持分類、 回歸、矩陣分解和LDA。

                      當在Hadoop上運行Vowpal Wabbit時,有以下優化機制:

                      • 懶惰初始化:在進行All Reduce之前,可將全部數據加載到內存中并進行緩存。即使某一節點出現了錯誤,也可以通過在另外一個節點上使用錯誤節點的數據(通過緩存來獲取)來繼續訓練。
                      • Speculative Execution:在大規模集群當中,一兩個很慢的Mapper會影響整個Job的性能。Speculative Execution的思想是當大部分節點的任務完成時,Hadoop可以將剩余節點上的任務拷貝到其他節點完成。

                       

                      開發語言:C++

                      GitHub項目地址:https://github.com/JohnLangford/vowpal_wabbit

                      14. Ruby Warrior

                      通過設計了一個游戲使得Ruby語言和人工智能學習更加有樂趣和互動起來。

                      使用者扮演了一個勇士通過爬上一座高塔,到達頂層獲取珍貴的紅寶石(Ruby)。在每一層,需要寫一個Ruby腳本指導戰士打敗敵人、營救俘虜、到達樓梯。使用者對每一層都有一些認識,但是你永遠都不知道每層具體會發生什么情況。你必須給戰士足夠的人工智能,以便讓其自行尋找應對的方式。

                      勇士的動作相關API:

                      • Warrior.walk: 用來控制勇士的移動,默認方向是往前;

                      • warrior.feel:使用勇士來感知前方的情況,比如是空格,還是有怪物;

                      • Warrior.attack:讓勇士對怪物進行攻擊;

                      • Warrior.health:獲取勇士當前的生命值;

                      • Warrior.rest:讓勇士休息一回合,恢復最大生命值的10%。

                      勇士的感知API:

                      • Space.empty:感知前方是否是空格;

                      • Space.stairs:感知前方是否是樓梯;

                      • Space.enemy: 感知前方是否有怪物;

                      • Space.captive:感知前方是否有俘虜;

                      • Space.wall:感知前方是否是墻壁。

                       

                      開發語言:Ruby

                      GitHub項目地址:https://github.com/ryanb/ruby-warrior

                       

                       

                      以上為GitHub上最流行的開源機器學習項目TOP14,“28款GitHub最流行的開源機器學習項目(二)”。

                       

                      編譯自:https://github.com/showcases/machine-learning

                      譯者:劉崇鑫 校對:王殿進

                      免責聲明:本文章由會員“何陽”發布如果文章侵權,請聯系我們處理,本站僅提供信息存儲空間服務如因作品內容、版權和其他問題請于本站聯系
                      <address id="v5f1t"><meter id="v5f1t"><dfn id="v5f1t"></dfn></meter></address>

                      <nobr id="v5f1t"><i id="v5f1t"><em id="v5f1t"></em></i></nobr>
                          <font id="v5f1t"></font>

                        <font id="v5f1t"><ruby id="v5f1t"></ruby></font>

                          <listing id="v5f1t"></listing>

                            <dfn id="v5f1t"><ruby id="v5f1t"><form id="v5f1t"></form></ruby></dfn>

                                <dfn id="v5f1t"></dfn>

                                <progress id="v5f1t"><b id="v5f1t"><strike id="v5f1t"></strike></b></progress>

                                  <font id="v5f1t"></font>

                                          国产成人h片视频在线观看