MXNet 发布新版本,支持Core ML和Keras
选自AWS
机器之心编译
参与:黄小天、路雪
近日,孵化于 Apache 软件基金会 Apache MXNet 发布了 v0.11.0 候选版本,它不仅具有一个 Core ML 模型转换器,同时还支持 Keras v1.2。此外,该版本还包括额外的功能更新、性能提升以及一些修复。你可以从源代码构建 MXNet 从而获取候选版本。
Apache MXNet 正在 Apache 软件基金会(ASF)中进行孵化。上周,MXNet 社区为 MXNet v0.11.0 引入了一个候选版本,作为一个孵化项目这还是第一次,社区现在正投票决定是否要发行这一候选版本,它主要有以下功能提升:
一个 Core ML 模型转换器,允许你通过 MXNet 训练深度学习模型,并轻松部署到苹果设备上。
支持 Keras v1.2,允许你在构建深度学习模型时使用以 MXNet 为运行后端的 Keras 接口。
这个 v0.11.0 候选版本还包括额外的功能更新、性能提升以及一些修复。
使用 Core ML(开发者预览版)在苹果设备上运行 MXNet 模型
该发布包含一个可用于将 MXNet 深度学习模型转换为苹果 Core ML 格式的工具。Core ML 是一个框架,应用开发者可以使用它在苹果设备上以最小的内存占用和电耗部署机器学习模型。该框架使用 Swift 编程语言,可在 Xcode 集成开发环境(IDE)上获取。它允许开发者像所有其他的 Swift 对象类一样与机器学习模型互动。
现在有了这款转换工具,你就具备了可构建深度学习应用的快速管道。使用 MXNet 将可扩展、高效的分布模型训练从云端移到苹果设备的快速运行时界面。Core ML 模型转换器的开发者预览版支持计算机视觉模型。更多详细信息,请查看 https://github.com/apache/incubator-mxnet/tree/master/tools。
支持 Keras v1.2 多 GPU 执行
该版本同样为 Keras v1.2 提供了各种支持,Keras v1.2 是一个非常流行的高级 Python 库,它可以轻松地开发深度学习模型。Keras 还提供了高级构建块(对神经网络建模)的易用接口。
开发者可以使用其它框架(如 TensorFlow、Theano 等)配置 Keras,而现在 MXNet 可以作为运行后端(runtime backend)执行底层的复杂计算和模型训练。
使用 MXNet 作为 Keras 的后端,开发者能在多 GPU 上实现高性能扩展。以前使用 Keras 并不能很好地将训练模型扩展到多块 GPU 中。Keras 用户现在可以通过多块 GPU 在训练中实现线性缩放。以下代码展示了当我们把 MXNet 作为后端时,如何在 Keras 中配置 GPU 的数量:
# Prepare the list of GPUs to be used in training
现在,利用 Keras 界面,并在多个 GPU 上运行成为可能。英伟达已经就以 MXNet 为后端的 Keras 的性能基准进行了广泛的研究。你还可以访问 GitHub repo(https://github.com/dmlc/keras/wiki/Installation)了解如何使用 MXNet 作为 Keras 的后端。
候选版本获取途径
你可以从源代码构建 MXNet 从而获取候选版本,或者使用以下命令执行 pip 安装:
pip install mxnet==0.11.0.rc1