AWS发布深度学习框架MXNet 1.0.0版本,新功能将简化深度学习训练
Posted AI前线
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AWS发布深度学习框架MXNet 1.0.0版本,新功能将简化深度学习训练相关的知识,希望对你有一定的参考价值。
更多干货内容请关注微信公众号“AI 前线”(ID:ai-front)
同期,12 月 4 日,AWS 宣布为 Apache MXNet 的深度学习引擎 1.0 版本引入新的模型服务功能 Model server for Apache MXNet 。AWS 称,这些新功能将可以简化培训和部署深度学习模型,增强其最新性能,并提高深度学习框架之间的简单互操作性。Model server 包含 10 个可用的预训练模型,省去了用户自己训练模型的时间,并简化了 Web、移动和物联网应用程序中 AI 功能的开发。
最新版本的 MXNet 1.0.0 性能得到优化,包括:
sparse.dot 运算符性能增强。
现在,MXNet 可以自动设置 OpenMP,在未设置 NUM_OMP_THREADS 时可以使用所有可用的 CPU 内核,以最大限度地提高 CPU 利用率。
一元运算符和二元运算符现在可以避免在小数组上使用 OpenMP,因为实际上小数组多线程会损害运算性能。
显着提高了 broadcast_add、broadcast_mul 等在 CPU 上的性能。
将批量执行添加到命令模式。用户可以用 mxnet.engine.bulk 来控制段的大小。因此,混合模式下 Gluon 的速度提高,特别是在小型网络和多 GPU 上。
改进了 Python 前端调用 ctypes 的速度。
此外,MXNet 1.0.0 还增加了若干新功能。
MXNet 1.0.0 通过压缩梯度通讯来加速多 GPU 和分布式训练。这在训练具有大型完全连接层的网络时,是非常有效的。在 Gluon 中,梯度通讯可以通过训练器中的 compression_params 来激活。
在多个 GPU 上使用 kvstore ='nccl'(在某些情况下)以更快进行训练。
小批量处理时比 kvstore ='device'速度快得多。
使用 NCCL 2.1 版或更新版本时,建议将环境变量 NCCL_LAUNCH_MODE 设置为 PARALLEL。
·NDArray 现在支持由 numpy 标准指定的高级索引(包括 slice 和 assign):
https://docs.scipy.org/doc/numpy-1.13.0/reference/arrays.indexing.html#combining-advanced-and-basic-indexing
并有如下限制:
如果 key 是列表类型,则只支持整数列表。例如,支持 key = [1,2],而不支持 key = [[1,2]]。
不支持省略号(...)和 np.newaxis。
不支持布尔数组索引。
上述性能优化。
添加了对 gluon.data.DataLoader 并行加载数据的支持。worker 的数量可以用 num_worker 设置。不支持 Windows。
增加了 Block.cast 以支持具有不同数据类型的网络,例如 float16。
添加了用于将用户定义的函数打包的 Lambda 块。
广义 gluon.data.ArrayDataset 支持任意数量的数组。
最新版本的 MXNet 现在可以在 ARMv6、ARMv7、ARMv64(包括 Raspberry Pi 设备)上编译并运行。更多信息,请参见 https://github.com/apache/incubator-mxnet/tree/master/docker_multiarch。
MXNet 现在在具有 GPU 加速功能的 NVIDIA Jetson TX2 主板上进行编译和运行。
可以通过运行 - $ pip install mxnet-jetson-tx2 在 Jetson 板上安装 python MXNet 软件包。
添加了更多的稀疏算子:contrib.SparseEmbedding、sparse.sum 和 sparse.mean。
添加 asscipy(),以方便转换为 scipy。
添加了 sparse ndarrays 的 check_format()来检查数组格式是否有效。
修复了在 NDArray 上无效的 [-1] 索引。
修复了轴<0 时的 expand_dims。
修正导致 topk 在大数组上产生不正确结果的 bug。
提高 float64 数据的一元和二元运算符的数值精度。
固定 log2 和 log10 的衍生物, 它曾经和日志相同。
修复了导致 MXNet 在 fork 之后中止的错误。请注意,由于 CUDA 的限制,用户仍然无法在 fork 之后的子进程中使用 GPU。
修复了在使用辅助状态时,CustomOp 失败的 bug。
修复了在分布式模式下运行培训时,MXNet 会监听所有可用接口的安全漏洞。
在 FAQ 部分添加了一个安全最佳实践文档。
修复许可标题,包括恢复版权归属。
文档更新。
查看源代码的链接。
以上是关于AWS发布深度学习框架MXNet 1.0.0版本,新功能将简化深度学习训练的主要内容,如果未能解决你的问题,请参考以下文章
AWS CTO:解读首选 MXNet 做为 AWS 的深度学习框架的原因
资源 | 一张速查表实现Apache MXNet深度学习框架五大特征的开发利用