开源机器学习系统mxnet有什么特点?
网友解答: MXNet 介绍MXNet 是亚马逊(Amazon)选择的深度学习库,并且也许是最优秀的库。它拥有类似于 Theano 和 TensorFlow 的数据流图,为多 GPU 配
MXNet 介绍
MXNet 是亚马逊(Amazon)选择的深度学习库,并且也许是最优秀的库。它拥有类似于 Theano 和 TensorFlow 的数据流图,为多 GPU 配置提供了良好的配置,有着类似于 Lasagne 和 Blocks 更高级别的模型构建块,并且可以在你可以想象的任何硬件上运行(包括手机)。
MXNet 是一个全功能,灵活可编程和高扩展性的深度学习框架,支持深度学习模型中的最先进技术,包括卷积神经网络(CNN)和长期短期记忆网络(LSTM)。
MXNet 由学术界发起,包括数个顶尖大学的研究人员的贡献,这些机构包括华盛顿大学和卡内基梅隆大学。「MXNet 是在卡内基梅隆大学中诞生的,它是我所看到的最完美的深度学习可扩展框架,它可以让计算机科学更加美好。让不同学科,不同工作的人们团结在一起。我们对亚马逊选择 MXNet 感到兴奋,MXNet 将由此变得更加强大。」卡内基梅隆大学计算机科学系主任 Andrew Moore 说道。
MXNet 缩放
深度学习框架在多核心处理器中的运行效率是其性能的重要指标。更高效的缩放(Scaling)可以让训练新模型的速度显著提高,或在相同的训练时间内大幅提高模型的复杂性。这正是 MXNet 的优势:我们正在使用越来越多的 GPU 训练图像分析算法 Inception v3(在 MXNet 中实现并在 P2 实例上运行)。MXNet 不仅具有所有已知库中最快的吞吐量(每秒训练的图像数量),而且吞吐量提高几乎与用于训练的 GPU 数量成正比(比例为 85 %)。
用 MXNet 进行
开发除了高可扩展性,MXNet 还提供混合编程模型(命令式和声明式),同时兼容多种编程语言(包括 Python、C ++、R、Scala、Julia、Matlab 和 JavaScript)的代码。
MXNet 中的高效模型和可移植性
计算效率很重要(并且与可扩展性紧密相关),但是内存使用量也同样重要。在运行多达 1000 层的深层网络任务时,MXNet 只需消耗 4GB 的内存。它还可以跨平台移植,并且核心库(具有完整功能)可以整合进单个 C ++源文件中,并为 Android 和 iOS 进行编译。你甚至可以使用 JavaScript 扩展在浏览器中运行它。
更多内容
有关 MXNet 的更多细节可以关注 MXNet 主页,或 GitHub 以获得更多信息,也可参考机器之心官网上的3篇文章:(a)五大主流深度学习框架比较分析:MXNET是最好选择(b)李沐:为什么强大的MXNet一直火不起来?(c)从PyTorch到Mxnet ,对比7大Python深度学习框架。希望可以对你有所帮助。
MXNet 主页:http://mxnet.io/GitHub 地址:https://github.com/dmlc/mxnet五大主流深度学习框架比较分析:MXNET是最好选择:http://www.jiqizhixin.com/article/1401李沐:为什么强大的MXNet一直火不起来?:http://www.jiqizhixin.com/article/1829从PyTorch到Mxnet ,对比7大Python深度学习框架:http://www.jiqizhixin.com/article/2403 网友解答:mxnet与tensorflow相比吧
1 同时支持命令式编程和声明式编程
- 不懂的请看https://github.com/dmlc/mxnet/issues/797,李沐大神亲手写的,相比来说tensorflow只支持声明式编程
2 内存友好,相比于tensorflow,内存优化能到50%以上
3 可扩展,更好的支持分布式
李沐大神是第三代的参数服务器论文一作,tensorflow的参数服务器结构也基本依照他的思路,但是李沐在mxnet中做了更多更好的优化,更scalable、efficient
4 轻量级,api易读,上手快
tensorflow和mxnet的设计理念是不同的。mxnet更像是一把锋利的小刀,tensorflow更像是一把瑞士军刀;tensorflow是想做成下一代的机器学习平台,能够一站式解决各种机器学习的问题,而mxnet的设计理念是尽可能简洁,尽可能用少的功能解决问题。所以api相对于tensorflow少很多,而且功能(api)、性能(内存、吞吐量、gpu利用率)都是走极致的风格。