迁移指南概述

本迁移指导包含以PyTorch为主的其他机器学习框架将神经网络迁移到MindSpore的完整步骤。

基本的一个迁移流程如下图所示:

  1. 需要配置MindSpore的开发环境;

  2. 需要对需要迁移的网络模型进行分析以及基本数据的获取;

  3. MindSpore的复现。在模型功能调试阶段推荐使用PYNATIVE模式调试,功能调试完成之后转GRAPH模式;模型开发完成之后,推荐先进行推理流程的复现,后进行训练流程的复现;

  4. 功能、精度、性能三个方面的调试调优。

在这个过程中,我们对每个环节需要做些什么,怎么去做有一个相对完整的描述,希望通过迁移指南,开发者可以快速的将其他框架已有代码快速迁移到MindSpore。

flowchart

环境准备与资料获取

网络迁移首先需要配置MindSpore的开发环境,本章会详细描述安装过程与知识准备。知识准备包括对MindSpore组件models和Hub的基本介绍,包含用途、场景与使用方法。此外还有云上训练的相关教程:使用ModelArts适配脚本,在OBS上传数据集,然后进行线上训练等。

模型分析与准备

在做正式的开发前,需要对要迁移的网络/算法做一些分析准备工作。包括:

  • 读论文及参考代码,了解算法及网络结构;

  • 复现论文结果,获取基础模型(ckpt),基准精度及性能;

  • 分析网络中使用的API及功能。

在PyTorch往MindSpore进行网络迁移时,需要注意与PyTorch典型接口区别

MindSpore模型实现

在完成前期的分析准备工作后,就可以使用MindSpore对新网络进行开发了。本章节将会从推理和训练需要的基本模块出发,介绍MindSpore网络构建的相关知识以及训练、推理的流程,并用一两个实际的案例来说明在特殊场景如何构建网络。

调试调优

本章节会从功能,精度,性能三个方面介绍一些调试调优的方法。

网络迁移调试实例

本章包含了一个完整的网络迁移样例。从对标网络的分析与复现开始,详细说明脚本开发与精度调试调优等步骤,最后列出了迁移过程中的常见问题与相应优化方法、框架性能问题等等。

常见问题

在这里会列出一些常见问题与相应解决方法。