MindQuantum
View English
MindQuantum介绍
MindQuantum是基于昇思MindSpore开源深度学习框架和HiQ量子计算云平台开发的通用量子计算框架,支持多种量子神经网络的训练和推理。得益于华为HiQ团队的量子计算模拟器和昇思MindSpore高性能自动微分能力,MindQuantum能够高效处理量子机器学习、量子化学模拟和量子优化等问题,为广大的科研人员、老师和学生提供快速设计和验证量子机器学习算法的高效平台。
初体验
搭建参数化量子线路
通过如下示例可便捷搭建参数化量子线路
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⟩
训练量子神经网络
ansatz = CPN(encoder.hermitian(), {'a0': 'b0', 'a1': 'b1'})
sim = Simulator('projectq', 2)
ham = Hamiltonian(-QubitOperator('Z0 Z1'))
grad_ops = sim.get_expectation_with_grad(ham,
encoder + ansatz,
encoder_params_name=encoder.params_name,
ansatz_params_name=ansatz.params_name)
import mindspore as ms
ms.context.set_context(mode=ms.context.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}
API
对于上述示例所涉及API和其他更多用法,请查看MindQuantum API文档文档链接
安装教程
确认系统环境信息
pip安装
安装MindSpore
请根据MindSpore官网安装指南,安装1.3.0及以上版本的MindSpore。
安装MindQuantum
最新版MindQuantum请通过如下指令安装。
pip install https://hiq.huaweicloud.com/download/mindquantum/newest/linux/mindquantum-master-cp37-cp37m-linux_x86_64.whl -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install https://hiq.huaweicloud.com/download/mindquantum/newest/windows/mindquantum-master-cp37-cp37m-win_amd64.whl -i https://pypi.tuna.tsinghua.edu.cn/simple
- 如需安装其他python版本的MindQuantum,请将上述地址中的
cp37-cp37m
更换为cp38-cp38
或者cp39-cp39
。
- 如需安装其他版本的MindQuantum,请浏览所有安装包。
- 在联网状态下,安装whl包时会自动下载MindQuantum安装包的依赖项(依赖项详情参见setup.py),其余情况需自行安装。
源码安装
-
从代码仓下载源码
cd ~
git clone https://gitee.com/mindspore/mindquantum.git
-
编译MindQuantum
Linux系统下请确保安装好CMake >= 3.18.3,然后运行如下命令:
cd ~/mindquantum
bash build.sh
Windows系统下请确保安装好MinGW-W64和CMake >= 3.18.3,然后运行如下命令:
cd mindquantum
./build.bat -G "MinGW Makefiles"
-
安装编译好的whl包
进入output目录,通过pip
命令安装编译好的mindquantum的whl包。
验证是否成功安装
执行如下命令,如果没有报错No module named 'mindquantum'
,则说明安装成功。
python -c 'import mindquantum'
Docker安装
通过Docker也可以在Mac系统或者Windows系统中使用Mindquantum。具体参考Docker安装指南.
注意事项FAQ
运行代码前请设置量子模拟器运行时并行内核数,例如设置并行内核数为4,可运行如下代码:
export OMP_NUM_THREADS=4
对于大型服务器,请根据模型规模合理设置并行内核数以达到最优效果。
更多注意事项请查看FAQ页面。
快速入门
关于如何快速搭建参数化量子线路和量子神经网络,并进行训练,请点击查看MindQuantum使用教程
文档
有关安装指南、教程和API的更多详细信息,请参阅用户文档。
社区
治理
查看MindSpore如何进行开放治理。
贡献
欢迎参与贡献。更多详情,请参阅我们的贡献者Wiki。
许可证
Apache License 2.0