行业资讯
「dnn」是「deep neural network」(深度神经网络)的缩写详情
当前位置:主页 > 企业资讯 > 行业资讯 >
「dnn」是「deep neural network」(深度神经网络)的缩写

   

  原标题:资源 微软开源MMdnn:实现多个框架之间的模型转换 选自GitHub 作者:Kit C

  近日,微软开源 MMdnn,可用于转换、可视化和诊断深度神经网络模型的全面、跨框架解决方案,目前支持 Caffe、Keras、MXNet、CNTK 等框架。

  MMdnn 是一个用于转换、可视化和诊断深度神经网络模型的综合性、跨框架的解决方案。MMdnn 中的「MM」代表模型管理,「dnn」是「deep neural network」(深度神经网络)的缩写。

  MMdnn 可将一个框架训练的 DNN 模型转换到其他框架可用。其主要特征包括:

  业界和学界存在大量现有框架,适合开发者和研究者来设计模型,每个框架具备自己的网络结构定义和模型保存格式。框架之间的差距阻碍了模型的交互操作。

  我们提供一个模型转换器,帮助开发者通过中间表征格式转换模型,以适合不同框架。

  每个支持的框架都有详细的 README 文档,它们可以在以下conversion件夹找到。

  我们在部分 ImageNet 模型上对当前支持的框架间模型转换功能进行了测试。

  你可以使用 MMdnn 模型可视化工具(),提交自己的 IR json 文件进行模型可视化。为了运行下面的命令行,你需要使用喜欢的包管理器安装 requests、Keras、TensorFlow。

  本项目仍在继续开发与探索,它需要各位读者完善中间表征与支持的框架。因此,该项目的作者表示他非常希望有开发者能提供新的运算或扩展。

  中间表征:中间表征在 protobuf 二进制文件中储存网络架构,在 NumPynative 格式中储存预训练权重。此外,目前 IR 权重数据使用的是 NHWC 格式。中间表征的细节请查看 ops.txt 和 graph.proto 文件。

  框架:我们正在扩展到其它框架版本和可视化工具,例如 Caffe2、PyTorch 和 CoreML 等。此外,本项目也在积极开发 RNN 相关的操作方法。

  以下是该项目实现框架转换的基本案例,其中包括官方的教程和用户提供的各种案例,机器之心简要介绍了官方 Keras 到 CNTK 的转换教程。

  2. 准备 Keras 模型。以下示例将首先下载预训练模型,然后使用简单的模型抽取器从 Keras 应用中获取模型,抽取器将抽取 Keras 模型架构和权重。