1. 程式人生 > >分散式機器學習框架:MxNet

分散式機器學習框架:MxNet

前言:

caffe是很優秀的dl平臺。影響了後面很多相關框架。

cxxnet借鑑了很多caffe的思想。相比之下,cxxnet在實現上更加乾淨,例如依賴很少,通過mshadow的模板化使得gpu和cpu程式碼只用寫一份,分散式介面也很乾淨。

mxnet是cxxnet的下一代,目前實現了cxxnet所有功能,但借鑑了minerva/torch7/theano,加入更多新的功能。
  1. ndarray程式設計介面,類似matlab/numpy.ndarray/torch.tensor。獨有優勢在於通過背後的engine可以在效能上和記憶體使用上更優
  2. symbolic介面。這個可以使得快速構建一個神經網路,和自動求導。
  3. 更多binding 目前支援比較好的是python,馬上會有julia和R
  4. 更加方便的多卡和多機執行
  5. 效能上更優。目前mxnet比cxxnet快40%,而且gpu記憶體使用少了一半。

目前mxnet還在快速發展中。這個月的主要方向有三,更多的binding,更好的文件,和更多的應用(language model、語音,機器翻譯,視訊)。地址在dmlc/mxnet · GitHub

官方簡介:           

       MXNet is a deep learning framework designed for both efficiency andflexibility.It allows you tomix

theflavours of symbolicprogramming and imperative programming to maximize efficiency and productivity.In its core, a dynamic dependency scheduler that automatically parallelizes both symbolic and imperative operations on the fly.A graph optimization layer on top of that makes symbolic execution fast and memory efficient.The library is portable and lightweight, and it scales to multiple GPUs and multiple machines.

       MXNet is also more than a deep learning project. It is also a collection ofblue prints and guidelines for buildingdeep learning system, and interesting insights of DL systems for hackers.

      MxNet混合了符號式設計和命令式設計,來最大化效率和提高產出。其核心是一個動態排程器,不停的並行執行符號和命令操作。頂層的圖優化層使符號執行快速且有效。這個包輕量級可移植性好,並且可以擴充套件到多GPU和多個機器。

      MxNet不僅是一個深度學習工程,並且是一個為構建DL系統提供藍圖和指導的集合,並且為hackers 提供了一個有趣的視野。

最新發展

What's New

Contents

Features

  • Design notes providing useful insights that can re-used by other DL projects
  • Flexible configuration for arbitrary computation graph
  • Mix and match good flavours of programming to maximize flexibility and efficiency
  • Lightweight, memory efficient and portable to smart devices
  • Scales up to multi GPUs and distributed setting with auto parallelism
  • Support for python, R, C++ and Julia
  • Cloud-friendly and directly compatible with S3, HDFS, and Azure

Ask Questions

License

© Contributors, 2015. Licensed under an Apache-2.0 license.

Reference Paper

Tianqi Chen, Mu Li, Yutian Li, Min Lin, Naiyan Wang, Minjie Wang, Tianjun Xiao,Bing Xu, Chiyuan Zhang, and Zheng Zhang.MXNet: A Flexible and Efficient Machine Learning Library for Heterogeneous Distributed Systems.In Neural Information Processing Systems, Workshop on Machine Learning Systems, 2015

History

MXNet is initiated and designed in collaboration by the authors of cxxnet, minerva andpurine2. The project reflects what we have learnt from the past projects. It combines important flavours of the existing projects for efficiency, flexibility and memory efficiency.


相關推薦

分散式機器學習框架MxNet

前言: caffe是很優秀的dl平臺。影響了後面很多相關框架。 cxxnet借鑑了很多caffe的思想。相比之下,cxxnet在實現上更加乾淨,例如依賴很少,通過mshadow的模板化使得gpu和cpu程式碼只用寫一份,分散式介面也很乾淨。 mxnet是cxxnet的

分散式機器學習框架MxNet 前言

Minerva: 高效靈活的並行深度學習引擎          不同於cxxnet追求極致速度和易用性,Minerva則提供了一個高效靈活的平臺讓開發者快速實現一個高度定製化的深度神經網路。          Minerva在系統設計上使用分層的設計原則,將“算的快”這一對於系統底層的需求和“好用”這一對於

[Xcode10 實際操作]七、檔案與資料-(20)CoreML機器學習框架檢測和識別圖片中的物體

本文將演示機器學習框架的使用,實現對圖片中物體的檢測和識別。 首先訪問蘋果開發者網站關於機器學習的網址: https://developer.apple.com/cn/machine-learning/ 點選右側的滾動條,跳轉到模型知識區域。 點選頁面最下方的【Learn about working

分散式機器學習平臺大比拼Spark、PMLS、TensorFlow、MXNet

  本論文從分散式系統的角度開展針對當前一些機器學習平臺的研究,綜述了這些平臺所使用的架構設計,對這些平臺在通訊和控制上的瓶頸、容錯性和開發難度進行分析和對比,並對分散式機器學習平臺的未來研究工作提出了一些建議。文中的工作由 Murat Demirbas 教授與他的研究生 Kuo Zhang 和 Salem

DMLC深度機器學習框架MXNet的編譯安裝

http://www.cnblogs.com/simplelovecs/p/5145305.html  這篇文章將介紹MXNet的編譯安裝。   MXNet的編譯安裝分為兩步: 首先,從C++原始碼編譯共享庫(libmxnet.so fo

最受歡迎機器學習框架王座之爭PyTorch存在感已直逼Tensorflow

儘管谷歌推出的 Tensorflow 自推出以來一路登上 AI 界最受歡迎的框架工具,但是,其他框架的崛起勢頭也不容小覷,比如說 PyTorch。 Tensorflow 和 PyTorch 都是開源框架。Tensorflow 基於 Theano 框架,由谷歌推出。P

ANGEL一個新型的分散式機器學習系統

引言 當前,人工智慧在多個領域的強勢崛起,讓人們領略到人工智慧技術的巨大潛力。在未來,人工智慧技術還將會改變包括金融、醫療、通訊、教育、交通、能源在內的所有行業[1]。現階段的人工智慧主要依賴機器學習技術和大資料,通過對海量資料進行抽象表示和建模,來幫助人們做出判斷和決策。 機器學習模型的求解方法大致分為

書單 | 《分散式機器學習演算法、理論與實踐》——理論、方法與實踐的全面彙總(文末有福利)...

編者按:人工智慧和大資料時代,分散式機器學習解決了大量最具挑戰性的問題。為了幫助機器學習從業者更

分散式機器學習如何快速從Python棧過渡到Scala棧

首先介紹下我的情況和需求,如果你跟我類似,那麼這篇文章將很有幫助; 我之前的技術棧主要是**Java**、**Python**,機器學習方面主要用到是**pandas**、**numpy**、**sklearn**、**scipy**、**matplotlib**等等,因為工作需要使用spark,所以理所應

機器學習(3)信息論

clas spa strong nbsp 信息熵 機器 ont 應用 信息 1.信息熵 2.相對熵 3.互信息 4.交叉熵及深度學習的應用 機器學習(3):信息論

Spark機器學習(5)SVM算法

線性 logs pro 二維 log libs jar 解析 cti 1. SVM基本知識 SVM(Support Vector Machine)是一個類分類器,能夠將不同類的樣本在樣本空間中進行分隔,分隔使用的面叫做分隔超平面。 比如對於二維樣本,分布在二維平面上,此

機器學習入門線性回歸及梯度下降

想要 oom 考試 erl text local oca 希望 觀察 機器學習入門:線性回歸及梯度下降 本文會講到: (1)線性回歸的定義 (2)單變量線性回歸 (3)cost function:評價線性回歸是否擬合訓練集的方法 (4)梯度下

Spark機器學習(6)決策樹算法

projects 信息 txt .cn import n) .com util seq 1. 決策樹基本知識 決策樹就是通過一系列規則對數據進行分類的一種算法,可以分為分類樹和回歸樹兩類,分類樹處理離散變量的,回歸樹是處理連續變量。 樣本一般都有很多個特征,有的特征對分

Spark機器學習(8)LDA主題模型算法

算法 ets 思想 dir 骰子 cati em算法 第一個 不同 1. LDA基礎知識 LDA(Latent Dirichlet Allocation)是一種主題模型。LDA一個三層貝葉斯概率模型,包含詞、主題和文檔三層結構。 LDA是一個生成模型,可以用來生成一篇文

Spark機器學習(10)ALS交替最小二乘算法

mllib 測試 con 相互 idt color ted 個人 使用 1. Alternating Least Square ALS(Alternating Least Square),交替最小二乘法。在機器學習中,特指使用最小二乘法的一種協同推薦算法。如下圖所示,u表

Spark機器學習(11)協同過濾算法

設置 tel println print emp master ani alt tro 協同過濾(Collaborative Filtering,CF)算法是一種常用的推薦算法,它的思想就是找出相似的用戶或產品,向用戶推薦相似的物品,或者把物品推薦給相似的用戶。怎樣評價用戶

機器學習1數據預處理

出了 替代 線性復雜 邊際 大數據 關系 虛擬 引入 分類 1、 缺失值處理 首先根據df.info( )可查看各列非空值個數;df.isnull( ).sum( )可查看數據框各列缺失值個數 >>>import pandas as pd >>

Python機器學習(1)KMeans聚類

ima mea arr src ont array imp rom open Python進行KMeans聚類是比較簡單的,首先需要import numpy,從sklearn.cluster中import KMeans模塊: import numpy as np f

八大機器學習框架對比及Tensorflow的優勢

同時 ++ 容易 得到 智能 模型訓練 並且 gpu 動態 八大機器學習框架的對比: (1) TensorFlow:深度學習最流行的庫之一,是谷歌在深刻總結了其 前身 DistBelief 的經驗教訓上形成的;它不僅便攜、高效、可擴 展,還能再不同計算機上運行:小到智能

深度學習機器學習框架對比摘要

評估 shu soar OS oschina detail 深度 china blog 對比深度學習十大框架:TensorFlow 並非最好? TensorFlow與主流深度學習框架對比 五大主流深度學習框架對比:MXNET是最好選擇 主流開源深度學習框架對比分析