AWS发布深度学习框架MXNet 1.0.0版本,新功能将简化深度学习训练

本文由 【 AI前线】原创,原文连接: t.cn/RYE2NXk


AI 前线导读:近日,深度学习框架 MXNet 发布了 1.0.0 版本,性能获得优化,增长了一些新功能,并修复了一些 bug。12 月 4 日,AWS 针对 MXNet 1.0 推出了新的模型服务 Model server,简化深度学习培训和应用程序 AI 功能开发。

更多干货内容请关注微信公众号“AI 前线”(ID:ai-front)

同期,12 月 4 日,AWS 宣布为 Apache MXNet 的深度学习引擎 1.0 版本引入新的模型服务功能 Model server for Apache MXNet 。AWS 称,这些新功能将能够简化培训和部署深度学习模型,加强其最新性能,并提升深度学习框架之间的简单互操做性。Model server 包含 10 个可用的预训练模型,省去了用户本身训练模型的时间,并简化了 Web、移动和物联网应用程序中 AI 功能的开发。html

性能优化

最新版本的 MXNet 1.0.0 性能获得优化,包括:前端

  • sparse.dot 运算符性能加强。python

  • 如今,MXNet 能够自动设置 OpenMP,在未设置 NUM_OMP_THREADS 时可使用全部可用的 CPU 内核,以最大限度地提升 CPU 利用率。git

  • 一元运算符和二元运算符如今能够避免在小数组上使用 OpenMP,由于实际上小数组多线程会损害运算性能。github

  • 显着提升了 broadcast_add、broadcast_mul 等在 CPU 上的性能。docker

  • 将批量执行添加到命令模式。用户能够用 mxnet.engine.bulk 来控制段的大小。所以,混合模式下 Gluon 的速度提升,特别是在小型网络和多 GPU 上。apache

  • 改进了 Python 前端调用 ctypes 的速度。数组

此外,MXNet 1.0.0 还增长了若干新功能。安全

梯度压缩 [试验]

MXNet 1.0.0 经过压缩梯度通信来加速多 GPU 和分布式训练。这在训练具备大型彻底链接层的网络时,是很是有效的。在 Gluon 中,梯度通信能够经过训练器中的 compression_params 来激活。性能优化

支持 NVIDIA 多卡通信框架(NCCL)[试验]
  • 在多个 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[通常可用性]
  • 上述性能优化。

  • 添加了对 gluon.data.DataLoader 并行加载数据的支持。worker 的数量能够用 num_worker 设置。不支持 Windows。

  • 增长了 Block.cast 以支持具备不一样数据类型的网络,例如 float16。

  • 添加了用于将用户定义的函数打包的 Lambda 块。

  • 广义 gluon.data.ArrayDataset 支持任意数量的数组。

支持 ARM / Raspberry Pi[试验]

最新版本的 MXNet 如今能够在 ARMv六、ARMv七、ARMv64(包括 Raspberry Pi 设备)上编译并运行。更多信息,请参见 https://github.com/apache/incubator-mxnet/tree/master/docker_multiarch。

支持 NVIDIA Jetson[试验]
  • MXNet 如今在具备 GPU 加速功能的 NVIDIA Jetson TX2 主板上进行编译和运行。

  • 能够经过运行 - $ pip install mxnet-jetson-tx2 在 Jetson 板上安装 python MXNet 软件包。

支持 Sparse Tensor[通常可用性]
  • 添加了更多的稀疏算子:contrib.SparseEmbedding、sparse.sum 和 sparse.mean。

  • 添加 asscipy(),以方便转换为 scipy。

  • 添加了 sparse ndarrays 的 check_format()来检查数组格式是否有效。

Bug 修复
  • 修复了在 NDArray 上无效的 [-1] 索引。

  • 修复了轴<0 时的 expand_dims。

  • 修正致使 topk 在大数组上产生不正确结果的 bug。

  • 提升 float64 数据的一元和二元运算符的数值精度。

  • 固定 log2 和 log10 的衍生物, 它曾经和日志相同。

  • 修复了致使 MXNet 在 fork 以后停止的错误。请注意,因为 CUDA 的限制,用户仍然没法在 fork 以后的子进程中使用 GPU。

  • 修复了在使用辅助状态时,CustomOp 失败的 bug。

  • 修复了在分布式模式下运行培训时,MXNet 会监听全部可用接口的安全漏洞。

文档更新
  • 在 FAQ 部分添加了一个安全最佳实践文档。

  • 修复许可标题,包括恢复版权归属。

  • 文档更新。

  • 查看源代码的连接。

AI 前线导读:近日,深度学习框架 MXNet 发布了 1.0.0 版本,性能获得优化,增长了一些新功能,并修复了一些 bug。12 月 4 日,AWS 针对 MXNet 1.0 推出了新的模型服务 Model server,简化深度学习培训和应用程序 AI 功能开发。

更多干货内容请关注微信公众号“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 来激活。

支持 NVIDIA 多卡通信框架(NCCL)[试验]
  • 在多个 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[通常可用性]
  • 上述性能优化。

  • 添加了对 gluon.data.DataLoader 并行加载数据的支持。worker 的数量能够用 num_worker 设置。不支持 Windows。

  • 增长了 Block.cast 以支持具备不一样数据类型的网络,例如 float16。

  • 添加了用于将用户定义的函数打包的 Lambda 块。

  • 广义 gluon.data.ArrayDataset 支持任意数量的数组。

支持 ARM / Raspberry Pi[试验]

最新版本的 MXNet 如今能够在 ARMv六、ARMv七、ARMv64(包括 Raspberry Pi 设备)上编译并运行。更多信息,请参见 https://github.com/apache/incubator-mxnet/tree/master/docker_multiarch。

支持 NVIDIA Jetson[试验]
  • MXNet 如今在具备 GPU 加速功能的 NVIDIA Jetson TX2 主板上进行编译和运行。

  • 能够经过运行 - $ pip install mxnet-jetson-tx2 在 Jetson 板上安装 python MXNet 软件包。

支持 Sparse Tensor[通常可用性]
  • 添加了更多的稀疏算子:contrib.SparseEmbedding、sparse.sum 和 sparse.mean。

  • 添加 asscipy(),以方便转换为 scipy。

  • 添加了 sparse ndarrays 的 check_format()来检查数组格式是否有效。

Bug 修复
  • 修复了在 NDArray 上无效的 [-1] 索引。

  • 修复了轴<0 时的 expand_dims。

  • 修正致使 topk 在大数组上产生不正确结果的 bug。

  • 提升 float64 数据的一元和二元运算符的数值精度。

  • 固定 log2 和 log10 的衍生物, 它曾经和日志相同。

  • 修复了致使 MXNet 在 fork 以后停止的错误。请注意,因为 CUDA 的限制,用户仍然没法在 fork 以后的子进程中使用 GPU。

  • 修复了在使用辅助状态时,CustomOp 失败的 bug。

  • 修复了在分布式模式下运行培训时,MXNet 会监听全部可用接口的安全漏洞。

文档更新
  • 在 FAQ 部分添加了一个安全最佳实践文档。

  • 修复许可标题,包括恢复版权归属。

  • 文档更新。

  • 查看源代码的连接。

AI 前线导读:近日,深度学习框架 MXNet 发布了 1.0.0 版本,性能获得优化,增长了一些新功能,并修复了一些 bug。12 月 4 日,AWS 针对 MXNet 1.0 推出了新的模型服务 Model server,简化深度学习培训和应用程序 AI 功能开发。

更多干货内容请关注微信公众号“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 来激活。

支持 NVIDIA 多卡通信框架(NCCL)[试验]
  • 在多个 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[通常可用性]
  • 上述性能优化。

  • 添加了对 gluon.data.DataLoader 并行加载数据的支持。worker 的数量能够用 num_worker 设置。不支持 Windows。

  • 增长了 Block.cast 以支持具备不一样数据类型的网络,例如 float16。

  • 添加了用于将用户定义的函数打包的 Lambda 块。

  • 广义 gluon.data.ArrayDataset 支持任意数量的数组。

支持 ARM / Raspberry Pi[试验]

最新版本的 MXNet 如今能够在 ARMv六、ARMv七、ARMv64(包括 Raspberry Pi 设备)上编译并运行。更多信息,请参见 https://github.com/apache/incubator-mxnet/tree/master/docker_multiarch。

支持 NVIDIA Jetson[试验]
  • MXNet 如今在具备 GPU 加速功能的 NVIDIA Jetson TX2 主板上进行编译和运行。

  • 能够经过运行 - $ pip install mxnet-jetson-tx2 在 Jetson 板上安装 python MXNet 软件包。

支持 Sparse Tensor[通常可用性]
  • 添加了更多的稀疏算子:contrib.SparseEmbedding、sparse.sum 和 sparse.mean。

  • 添加 asscipy(),以方便转换为 scipy。

  • 添加了 sparse ndarrays 的 check_format()来检查数组格式是否有效。

Bug 修复
  • 修复了在 NDArray 上无效的 [-1] 索引。

  • 修复了轴<0 时的 expand_dims。

  • 修正致使 topk 在大数组上产生不正确结果的 bug。

  • 提升 float64 数据的一元和二元运算符的数值精度。

  • 固定 log2 和 log10 的衍生物, 它曾经和日志相同。

  • 修复了致使 MXNet 在 fork 以后停止的错误。请注意,因为 CUDA 的限制,用户仍然没法在 fork 以后的子进程中使用 GPU。

  • 修复了在使用辅助状态时,CustomOp 失败的 bug。

  • 修复了在分布式模式下运行培训时,MXNet 会监听全部可用接口的安全漏洞。

文档更新
  • 在 FAQ 部分添加了一个安全最佳实践文档。

  • 修复许可标题,包括恢复版权归属。

  • 文档更新。

  • 查看源代码的连接。

关注咱们的微信号"AI前线",后台回复“AI”可得到《AI前线》系列PDF电子书

相关文章
相关标签/搜索