昇思MindSpore是一个全场景深度学习框架,旨在实现易开发、高效执行、全场景统一部署三大目标。
其中,易开发表现为API友好、调试难度低;高效执行包括计算效率、数据预处理效率和分布式训练效率;全场景则指框架同时支持云、边缘以及端侧场景。
设计理念
- 支持全场景统一部署
- 提供Python编程范式,简化AI编程
- 提供动态图和静态图统一的编码方式
用户无需开发多套代码,仅变更一行代码便可切换动态图/静态图模式,用户可拥有更轻松的开发调试及性能体验。例如:
设置set_context(mode=PYNATIVE_MODE)可切换成动态图模式。
设置set_context(mode=GRAPH_MODE)可切换成静态图模式。
- 采用AI和科学计算融合编程,使用户聚焦于模型算法的数学原生表达
- 分布式训练原生
在单机代码中添加少量代码即可实现分布式训练,提高神经网络训练效率,大大降低了AI开发门槛,使用户能够快速实现想要的模型。
例如设置可自动建立代价模型,为用户选择一种较优的并行模式
set_auto_parallel_context(parallel_mode=ParallelMode.AUTO_PARALLEL)
层次结构
向用户提供了3个不同层次的API,支撑用户进行AI应用(算法/模型)开发,从高到低分别为High-Level Python API、Medium-Level Python API以及Low-Level Python API
-
High-Level Python API
第一层为高阶API,其在中阶API的基础上又提供了训练推理的管理、混合精度训练、调试调优等高级接口,方便用户控制整网的执行流程和实现神经网络的训练推理及调优。
-
Medium-Level Python API
第二层为中阶API,其封装了低阶API,提供网络层、优化器、损失函数等模块,用户可通过中阶API灵活构建神经网络和控制执行流程,快速实现模型算法逻辑。
-
Low-Level Python API
第三层为低阶API,主要包括张量定义、基础算子、自动微分等模块,用户可使用低阶API轻松实现张量定义和求导计算。