分布式机器学习框架:MxNet
MxNet官网: http://mxnet.readthedocs.io/en/latest/
前言:
caffe是很优秀的dl平台。影响了后面很多相关框架。
cxxnet借鉴了很多caffe的思想。相比之下,cxxnet在实现上更加干净,例如依赖很少,通过mshadow的模板化使得gpu和cpu代码只用写一份,分布式接口也很干净。
mxnet是cxxnet的下一代,目前实现了cxxnet所有功能,但借鉴了minerva/torch7/theano,加入更多新的功能。
- ndarray编程接口,类似matlab/numpy.ndarray/torch.tensor。独有优势在于通过背后的engine可以在性能上和内存使用上更优
- symbolic接口。这个可以使得快速构建一个神经网络,和自动求导。
- 更多binding 目前支持比较好的是python,马上会有julia和R
- 更加方便的多卡和多机运行
- 性能上更优。目前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
- MXNet Memory Monger, Training Deeper Nets with Sublinear Memory Cost
- Tutorial for NVidia GTC 2016
- Embedding Torch layers and functions in MXNet
- MXNet.js: Javascript Package for Deep Learning in Browser (without server)
- Design Note: Design Efficient Deep Learning Data Loading Module
- MXNet on Mobile Device
- Distributed Training
- Guide to Creating New Operators (Layers)
- Amalgamation and Go Binding for Predictors
- Training Deep Net on 14 Million Images on A Single Machine
- MxNet的内存管理:子线性的内存代价
- NVIDIA GTC2016上的 教程
- 嵌入 Torch网络层和函数 到MxNet
- MxNet.js : 可运行到浏览器中的javascript包
- 设计节点:设计有效的深度学习数据载入模型
- 移动设备的上的 Mxnet
- 分布式训练方法
- 网络层 的运算符重载
- 使用一个深度网络 训练1400万张图片
Contents
- Documentation and Tutorials
- Design Notes
- Code Examples
- Installation
- Pretrained Models
- Contribute to MXNet
- Frequent Asked Questions
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
- Please use mxnet/issues for how to use mxnet and reporting bugs
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的更多相关文章
- 分布式机器学习框架:MxNet 前言
原文连接:MxNet和Caffe之间有什么优缺点一.前言: Minerva: 高效灵活的并行深度学习引擎 不同于cxxnet追求极致速度和易用性,Minerva则提供了一个高效灵活的平台 ...
- Adam:大规模分布式机器学习框架
引子 转载请注明:http://blog.csdn.net/stdcoutzyx/article/details/46676515 又是好久没写博客,记得有一次看Ng大神的訪谈录,假设每周读三篇论文, ...
- 分布式机器学习框架:CXXNet
caffe是很优秀的dl平台.影响了后面很多相关框架. cxxnet借鉴了很多caffe的思想.相比之下,cxxnet在实现上更加干净,例如依赖很少,通过mshadow的模板化使得gpu ...
- DMLC深度机器学习框架MXNet的编译安装
这篇文章将介绍MXNet的编译安装. MXNet的编译安装分为两步: 首先,从C++源码编译共享库(libmxnet.so for linux,libmxnet.dylib for osx,libmx ...
- 机器学习框架MXnet安装步骤
安装环境:redhat7.1+vmw 安装步骤: # Install git if not already installed. sudo yum -y install git-all# Clone ...
- Angel 实现FFM 一、对于Angel 和分布式机器学习的简单了解
Angel是腾讯开源的一个分布式机器学习框架.是一个PS模式的分布式机器学习框架. https://github.com/Angel-ML/angel 这是github地址. 我了解的分布式机器学 ...
- 分布式机器学习系统笔记(一)——模型并行,数据并行,参数平均,ASGD
欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld. 技术交流QQ群:433250724,欢迎对算法.技术.应用感兴趣的同学加入. 文章索引::"机器学 ...
- 使用Java语言开发机器学习框架和参数服务器
https://github.com/wudikua/ps 本项目是我自己动手实现的机器学习训练框架,代码简单,有很多不完善,但是也保留了最小可用功能 通过自己编写这个项目,可以帮助自己入门机器学习 ...
- 人工智能深度学习框架MXNet实战:深度神经网络的交通标志识别训练
人工智能深度学习框架MXNet实战:深度神经网络的交通标志识别训练 MXNet 是一个轻量级.可移植.灵活的分布式深度学习框架,2017 年 1 月 23 日,该项目进入 Apache 基金会,成为 ...
随机推荐
- 《hello-world》第八次团队作业:Alpha冲刺-Scrum Meeting 2
项目 内容 这个作业属于哪个课程 2016级计算机科学与工程学院软件工程(西北师范大学) 这个作业的要求在哪里 实验十二 团队作业8:软件测试与Alpha冲刺 团队名称 <hello--worl ...
- random随机库
random库是用于产生并运用随机数的标准库 主要包含的有9个随机函数,分别是: seed(), random(), randint(), getrandbits(), randrange(), un ...
- bupt summer training for 16 #3 ——构造
https://vjudge.net/contest/172464 后来补题发现这场做的可真他妈傻逼 A.签到傻逼题,自己分情况 #include <cstdio> #include &l ...
- Maven学习总结(6)——Maven与Eclipse整合
Maven学习总结(六)--Maven与Eclipse整合 一.安装Maven插件 下载下来的maven插件如下图所示:,插件存放的路径是:E:/MavenProject/Maven2EclipseP ...
- hdu 4888 最大流给出行列和求矩阵
第一步,考虑如何求是否有解.使用网络流求解,每一行和每一列分别对应一个点,加上源点和汇点一共有N+M+2个点.有三类边: 1. 源点 -> 每一行对应的点,流量限制为该行的和 2. 每一行对应的 ...
- MapReduce Shuffle优化方向
Shuffle过程介绍可以查看该博客:http://langyu.iteye.com/blog/992916 优化方向: 压缩:对数据进行压缩,减少写读数据量: 减少不必要的排序:并不是所有类型的Re ...
- EC2:将80端口直接转向8080端口
当安装Tomcat后,需要将服务器的80端口直接指向8080端口,做法如下:1. 确认当前状态.在终端键入:netstat –ntl命令.输入结果应该和下面图片类似.可以看到8080端口处于监听 ...
- Axure RP一个专业的高速原型设计工具
Axure RP是一个专业的高速原型设计工具.Axure(发音:Ack-sure),代表美国Axure公司.RP则是Rapid Prototyping(高速原型)的缩写. Axure简要介绍 Axur ...
- jenkins集成钉钉
1.创建通知人群组,添加机器人 2.2.获取自定义机器人webhook 3.jenkins 安装"Dingding[钉钉] Plugin"插件: 4.插件安装完成后,创建/修改任务 ...
- C语言之基本算法40—字符串删除元音字母倒序输出
//字符串,数组 /* ================================================================== 题目: 输入一行字符,将辅音字母按反序输出 ...