mindspore

mindspore

Open Source deep learning training/inference framework that could be used for mobile, edge and cloud scenarios

公告
暂无公告

README

MindSpore标志

PyPI - Python Version PyPI Downloads DockerHub LICENSE PRs Welcome

View English

MindSpore介绍

MindSpore是一种适用于端边云场景的新型开源深度学习训练/推理框架。 MindSpore提供了友好的设计和高效的执行,旨在提升数据科学家和算法工程师的开发体验,并为Ascend AI处理器提供原生支持,以及软硬件协同优化。

同时,MindSpore作为全球AI开源社区,致力于进一步开发和丰富AI软硬件应用生态。

MindSpore Architecture

欲了解更多详情,请查看我们的总体架构

自动微分

当前主流深度学习框架中有两种自动微分技术:

  • 操作符重载法: 通过操作符重载对编程语言中的基本操作语义进行重定义,封装其微分规则。 在程序运行时记录算子过载正向执行时网络的运行轨迹,对动态生成的数据流图应用链式法则,实现自动微分。
  • 代码变换法: 该技术是从功能编程框架演进而来,以即时编译(Just-in-time Compilation,JIT)的形式对中间表达式(程序在编译过程中的表达式)进行自动差分转换,支持复杂的控制流场景、高阶函数和闭包。

PyTorch采用的是操作符重载法。相较于代码变换法,操作符重载法是在运行时生成微分计算图的, 无需考虑函数调用与控制流等情况, 开发更为简单。 但该方法不能在编译时刻做微分图的优化, 控制流也需要根据运行时的信息来展开, 很难实现性能的极限优化。

MindSpore则采用的是代码变换法。一方面,它支持自动控制流的自动微分,因此像PyTorch这样的模型构建非常方便。另一方面,MindSpore可以对神经网络进行静态编译优化,以获得更好的性能。

Automatic Differentiation

MindSpore自动微分的实现可以理解为程序本身的符号微分。MindSpore IR是一个函数中间表达式,它与基础代数中的复合函数具有直观的对应关系。复合函数的公式由任意可推导的基础函数组成。MindSpore IR中的每个原语操作都可以对应基础代数中的基本功能,从而可以建立更复杂的流控制。

自动并行

MindSpore自动并行的目的是构建数据并行、模型并行和混合并行相结合的训练方法。该方法能够自动选择开销最小的模型切分策略,实现自动分布并行训练。

Automatic Parallel

目前MindSpore采用的是算子切分的细粒度并行策略,即图中的每个算子被切分为一个集群,完成并行操作。在此期间的切分策略可能非常复杂,但是作为一名Python开发者,您无需关注底层实现,只要顶层API计算是有效的即可。

安装

pip方式安装

MindSpore提供跨多个后端的构建选项:

硬件平台 操作系统 状态
Ascend Linux-x86 ✔️
Linux-aarch64 ✔️
GPU CUDA 11.6 Linux-x86 ✔️
CPU Linux-x86 ✔️
Linux-aarch64 ✔️
Windows-x86 ✔️
MacOS-x86 ✔️
MacOS-aarch64 ✔️

使用pip命令安装,以CPULinux-x86构建版本为例:

  1. 请从MindSpore下载页面下载并安装whl包。

    pip install mindspore==2.7.1 -i https://repo.mindspore.cn/pypi/simple --trusted-host repo.mindspore.cn --extra-index-url https://repo.huaweicloud.com/repository/pypi/simple
    
  2. 执行以下命令,验证安装结果。

    python -c "import mindspore;mindspore.set_device(device_target='CPU');mindspore.run_check()"
    

使用pip方式,在不同的环境安装MindSpore,可参考以下文档。

源码编译方式安装

使用源码编译方式,在不同的环境安装MindSpore,可参考以下文档。

Docker镜像

MindSpore的Docker镜像托管在Huawei SWR上。 使用Docker方式,在不同的环境安装MindSpore,可参考以下文档。

快速入门

参考快速入门实现图片分类。

文档

有关安装指南、教程和API的更多详细信息,请参阅用户文档

社区

治理

查看MindSpore如何进行开放治理

交流

贡献

欢迎参与贡献。更多详情,请参阅我们的贡献者Wiki

版本维护策略

MindSpore的版本有以下几种维护阶段:

状态 持续时间 说明
Planning 1 - 3 months 特性规划。
Development 3 months 特性开发。
Maintained 6 - 12 months 允许所有问题修复的合入,并发布版本。
Unmaintained 0 - 3 months 允许所有问题修复的合入,无专人维护,不再发布版本。
End Of Life (EOL) N/A 不再接受修改合入该版本。

现有版本维护状态

版本名 当前状态 上线时间 后续状态 EOL 日期
r2.9 Maintained 2026-04-29 Unmaintained
2027-04-29 estimated
2027-04-29
r2.8 Maintained 2026-01-28 Unmaintained
2027-01-28 estimated
2027-01-28
r2.7 Maintained 2025-08-08 Unmaintained
2026-08-08 estimated
2026-08-08
r2.6 End Of Life 2025-05-19 2026-05-19
r2.5 End Of Life 2025-02-08 2026-02-08
r2.4 End Of Life 2024-10-30 2025-10-30
r2.3 End Of Life 2024-07-15 2025-07-15
r2.2 End Of Life 2023-10-18 2024-10-18
r2.1 End Of Life 2023-07-29 2024-07-29
r2.0 End Of Life 2023-06-15 2024-06-15
r1.10 End Of Life 2023-02-02 2024-02-02
r1.9 End Of Life 2022-10-26 2023-10-26
r1.8 End Of Life 2022-07-29 2023-07-29
r1.7 End Of Life 2022-04-29 2023-04-29
r1.6 End Of Life 2022-01-29 2023-01-29
r1.5 End Of Life 2021-10-15 2022-10-15
r1.4 End Of Life 2021-08-15 2022-08-15
r1.3 End Of Life 2021-07-15 2022-07-15
r1.2 End Of Life 2021-04-15 2022-04-29
r1.1 End Of Life 2020-12-31 2021-09-30
r1.0 End Of Life 2020-09-24 2021-07-30
r0.7 End Of Life 2020-08-31 2021-02-28
r0.6 End Of Life 2020-07-31 2020-12-30
r0.5 End Of Life 2020-06-30 2021-06-30
r0.3 End Of Life 2020-05-31 2020-09-30
r0.2 End Of Life 2020-04-30 2020-08-31
r0.1 End Of Life 2020-03-28 2020-06-30

版本说明

版本说明请参阅RELEASE

许可证

Apache License 2.0

热门项目
181

MindSpore is a new open source deep learning training/inference framework that could be used for mobile, edge and cloud scenarios.

C++
181
238
172

MindQuantum is a general software library supporting the development of applications for quantum computation.

Python
172
86
87

AKG(Auto Kernel Generator) is an optimizer for operators in Deep Learning Networks, which provides the ability to automatically fuse ops with specific patterns.

Python
87
77
69

可用于简化昇腾超节点编程,释放算力潜能。提供昇腾超节点亲和的分布式并行加速能力,支持资源池化管理、拓扑感知调度、FP8混合精度训练,实现模型与系统优化解耦,保障训练稳定性与精度可复现性。

Python
69
94
64

MindSpore Transformers套件的目标是构建一个大模型预训练、微调、推理、部署的全流程开发套件,提供业内主流的Transformer类大语言模型(Large Language Models, LLMs)和多模态理解模型(Multimodal Models, MMs)。期望帮助用户轻松地实现大模型全流程开发。

Python
64
73
  • MindSpore document

    Jupyter Notebook
    47
    61
    Apache-2.0
    更新于 1 天前
    Star
  • MindSpore Transformers套件的目标是构建一个大模型预训练、微调、推理、部署的全流程开发套件,提供业内主流的Transformer类大语言模型(Large Language Models, LLMs)和多模态理解模型(Multimodal Models, MMs)。期望帮助用户轻松地实现大模型全流程开发。

    Python
    64
    73
    Apache-2.0
    更新于 14 小时前
    Star
  • MindSpore is a new open source deep learning training/inference framework that could be used for mobile, edge and cloud scenarios.

    C++
    181
    238
    Apache-2.0
    更新于 12 小时前
    Star
  • MindQuantum is a general software library supporting the development of applications for quantum computation.

    Python
    172
    86
    Apache-2.0
    更新于 9 天前
    Star
  • MindSpore community

    Python
    43
    37
    Apache-2.0
    更新于 22 天前
    Star
  • MindSpore Lite

    C++
    51
    58
    Apache-2.0
    更新于 1 天前
    Star
  • AKG(Auto Kernel Generator) is an optimizer for operators in Deep Learning Networks, which provides the ability to automatically fuse ops with specific patterns.

    Python
    87
    77
    Apache-2.0
    更新于 13 小时前
    Star
  • 可用于简化昇腾超节点编程,释放算力潜能。提供昇腾超节点亲和的分布式并行加速能力,支持资源池化管理、拓扑感知调度、FP8混合精度训练,实现模型与系统优化解耦,保障训练稳定性与精度可复现性。

    Python
    69
    94
    Apache-2.0
    更新于 12 小时前
    Star
  • MindSpore的vLLM插件,支持基于vLLM框架部署MindSpore模型的推理服务。

    Python
    45
    49
    Apache-2.0
    更新于 9 小时前
    Star
  • 业界唯一的微秒级实时AI算子编译和执行框架,原生支持动态Shape、动态图等动态模型场景。

    C++
    36
    9
    Apache-2.0
    更新于 10 小时前
    Star
查看全部项目 >
公告
暂无公告
成就
950
Star
881
Fork
587.6k
Download
常用语言
Python
C++
Go
Jupyter Notebook
C
社区动态