MindSpore Quantum编程实践指导
收藏回复举报
MindSpore Quantum编程实践指导
新人帖
发表于2025-10-13 15:26:38
0 查看
  • MindSpore Quantum简介
  • 量子编程准备
  • 软件安装与配置
  • 量子编程初体验
  • 代码提交到MindQuantum代码仓流程
  • FAQ

一、MindSpore Quantum 简介

1.1 什么是 MindSpore Quantum?

Mindspore Quantum是昇思MindSpore社区推出的新一代、开源量子经典混合计算框架,能够高效地支持主流的量子算法和经典量子混合算法,不但在量子机器学习、量子化学模拟和量子组合优化等变分量子算法上有着卓越的性能,而且在量子化学模拟规模上也处于领先地位,为量子计算的研究和发展提供了一个高效的开发平台。

1.2 核心特性

  • 高性能模拟:推出CPU和GPU架构优化的高性能量子模拟器,支持单/双精度模拟模式切换,满足不同精度需求。
  • NISQ算法支持:高效支持量子机器学习、量子化学模拟和量子组合优化等主流变分量子算法。
  • 丰富的量子启发式算法:内置业界领先的量子启发式优化算法库,包含模拟分岔机、相干伊辛机、噪声平均场退火等多种高性能求解器,并针对不同硬件(CPU, GPU, NPU)进行了深度性能优化。
  • 简捷易用:提供丰富且高度集成的量子编程接口,降低开发难度,提升开发效率。
  • 深度学习集成:与MindSpore深度结合,让混合量子-经典算法开发更高效。

1.3 应用场景

  • 量子机器学习
  • 量子化学模拟
  • 组合优化问题
  • 量子算法研究

二、量子编程准备

1)访问AtomGit官网(https://atomgit.com/mindspore/mindquantum)注册并登录,如之前注册过Gitee账号,可绑定Gitee账号,同步数据。

2)欢迎 Watch、Star、Fork MindQuantum代码仓。

cke_56324.png

三、软件安装与配置

3.1 安装Python编程环境(如果已经安装Python或Anaconda,可跳过此步)

安装MindQuantum前,请确保您的 Python 环境是 Python 3.9, 3.10 或 3.11 版本。您可以使用 python --version 命令查看。

进入Python官网的安装页面,根据本地系统(Windows、Mac、Linux)选择合适的版本, 此处建议安装Python==3.9.0(MindQuantum支持py3.7~3.9) (如果Python官网无法进入或下载速度很慢,建议使用后面两个国内的镜像,华为源,第三方源,找到对应版本的安装包,下载安装)

cke_460.jpg

页面拉到最下方,如下图,选择相应版本安装。

cke_461.jpg

Python官网安装包

cke_462.jpg

华为源Python安装包

注意:安装过程中请勾选Add Python 3.9 to PATH,会自动设置环境变量。

cke_463.jpg

cke_464.png

安装完成后,打开终端(点击电脑左下角的windows图标cke_465.jpg,再点击命令提示符,如下图)输入python。

cke_466.jpg

如果出现版本号,进入python交互式环境,说明安装成功;反之,安装失败。

退出python交互式环境,输入quit()

cke_467.jpg

3.2 安装MindSpore

请根据MindSpore官网安装指南,安装2.6.0及以上版本的MindSpore。如果 MindSpore 版本不匹配,可能会导致安装或运行时出现兼容性问题。

3.3 安装MindQuantum

1)使用pip安装(推荐)

pip install mindquantum

# 如果提示网络问题,可以设置下载源,华为源或清华源

pip install mindquantum --trusted-host https://mirrors.huaweicloud.com -i https://mirrors.huaweicloud.com/repository/pypi/simple
pip install mindquantum -i https://mirrors.tuna.tsinghua.edu.cn

12.png

如果pip联网安装,报错或出现问题,点击下方链接,找到对应操作系统的 whl 包下载,本地安装。

cid:link_2

cke_8164.png

打开终端,输入命令并执行:

pip install ***\mindquantum-0.12.0-cp39-cp39-win_amd64.whl 
# 例如:pip install C:\Users\XXX\Downloads\mindquantum-0.12.0-cp39-cp39-win_amd64.whl 
# ***表示whl包所在的路径,如C:\Users\XXX\Downloads

2)检查是否安装成功

执行如下命令,如果没有报错No module named 'mindquantum',则说明安装成功。

安装完成后,在终端输入命令,会显示mindquantum的版本号,说明安装完成。

pip show mindquantum

0.12.0.png

四、量子编程初体验

4.1 搭建参数化量子线路

首先新建一个py或者ipynb文件,使用 mindquantum搭建包括H门、RX门和RY门的量子线路,并得到量子态。

from mindquantum import *
import numpy as np

encoder = Circuit().h(0).rx({'a0': 2}, 0).ry('a1', 1)
print(encoder)
print(encoder.get_qs(pr={'a0': np.pi / 2, 'a1': np.pi / 2}, ket=True))

运行上述代码,将会输出量子线路和末态

┏━━━┓ ┏━━━━━━━━━━┓
q0: ──┨ H ┠─┨ RX(2*a0) ┠───
      ┗━━━┛ ┗━━━━━━━━━━┛
      ┏━━━━━━━━┓
q1: ──┨ RY(a1) ┠───────────
      ┗━━━━━━━━┛

-1/2j¦00⟩
-1/2j¦01⟩
-1/2j¦10⟩
-1/2j¦11⟩

4.2 训练量子神经网络

ansatz = CPN(encoder.hermitian(), {'a0': 'b0', 'a1': 'b1'})
sim = Simulator('mqvector', 2)
ham = Hamiltonian(-QubitOperator('Z0 Z1'))
grad_ops = sim.get_expectation_with_grad(
    ham,
    encoder.as_encoder() + ansatz.as_ansatz(),
)

import mindspore as ms

ms.set_context(mode=ms.PYNATIVE_MODE, device_target='CPU')
net = MQLayer(grad_ops)
encoder_data = ms.Tensor(np.array([[np.pi / 2, np.pi / 2]]))
opti = ms.nn.Adam(net.trainable_params(), learning_rate=0.1)
train_net = ms.nn.TrainOneStepCell(net, opti)
for i in range(100):
    train_net(encoder_data)
print(dict(zip(ansatz.params_name, net.trainable_params()[0].asnumpy())))

运行上述代码,训练得到参数为:

{'b1': 1.5720831, 'b0': 0.006396801}

更多样例教程,请查看:https://www.mindspore.cn/mindquantum/docs/zh-CN/r0.12/index.html

五、代码提交到MindQuantum代码仓流程

 5.1 签署CLA(已签署可跳过此步)

首次参与MindSpore Quantum开源的开发者,建议在提交PR前,先签署CLA。在签署前请先完成以下操作:

(1)检查邮箱设置:设置-用户资料-【公开个人邮箱】开启,签署的邮箱与提交邮箱保持一致。若未开启,提交PR后会导致CLA签署失败。

(2)进入CLA签署页面,选择【sign Individual CLA】,并根据AtomGit上个人信息,填写签署信息。

​

5.2 提交代码到个人仓库

1)Fork MindQuantum代码仓

在提交代码至MindQuantum项目之前,请确保已fork此项目到您自己的代码仓。MindQuantum代码仓和您自己的代码仓之间可能会并行开发,请注意它们之间的一致性。

2)克隆远程代码仓

代码下载到本地计算机,可使用Git方法

#在AtomGit上
git clone https://atomgit.com/{insert_your_forked_repo}/mindquantum.git

3)本地开发代码

避免分支不一致,建议切换到新分支:

git checkout -b {新分支名称} origin/master

以master分支为例,如果MindQuantum需要创建版本分支和下游开发分支,请先修复上游的bug,再更改代码。

4)将代码推送到远程代码仓

代码更新后,以正式的方式推送更新:

git add .  # 提交代码
git status # 查看更新状态
git commit -m "commit message" #commit message是提交的标题
git commit -s --amend # 添加commit的具体描述,可选。
git push origin {新分支名称}

5.3 新建PR提交代码到主仓库

(1)回到AtomGit个人MindQuantum分支界面创建PR,点击【Pull Request】,将个人远程代码仓提交到主仓库,完成最终代码的提交。

cke_427188.png

(2)选择源分支和目标分支,比较更新后的代码差异。提交PR请求后,评论区会出现MindSpore-Bot小助手进行操作说明。

六、FAQ

1、已成功签署cla后,PR中仍显示mindspore-cla/no 标签的可能原因?

1) 签署邮箱与提交邮箱不一致。

解决方法:使用提交邮箱签署cla。

2)AtomGit 用户资料未开启“公开个人邮箱”。

解决方法:点击右上角个人账户->用户资料-开启“公开个人邮箱”;然后需要撤回已提交的commit,重新提交。

3)如何检查具体报错原因

访问PR网页(https://docs.atomgit.com/docs/apis/get-api-v-5-repos-owner-repo-pulls-number-commits/),输入PR信息进行检查。

检查commit使用的email是否与签署cla的邮箱对应。

参考资料:

MindSpore Quantum社区(新):https://atomgit.com/mindspore/mindquantum(原社区https://gitee.com/mindspore/mindquantum已迁移到atomgit)

MindSpore Quantum教程文档:https://www.mindspore.cn/mindquantum/docs/zh-CN/r0.12/index.html

MindSpore Quantum贡献指南:https://gitcode.com/mindspore/mindquantum/blob/master/CONTRIBUTING_CN.md

本帖最后由 匿名用户 于 2026/04/23 11:58:48 编辑

我要发帖子