1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mindspore-mindquantum

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

MindQuantum

PyPI - Python Version PyPI Downloads API Tutorial Issues Release LICENSE PRs Welcome

查看中文

Что такое MindQuantum

MindQuantum — это новое поколение квантовых вычислительных фреймворков, основанных на MindSpore, ориентированных на реализацию алгоритмов NISQ. Он объединяет высокопроизводительный квантовый вычислительный симулятор HiQ с параллельной возможностью автоматического дифференцирования MindSpore. MindQuantum прост в использовании и обладает сверхвысокой производительностью. Он может эффективно решать такие задачи, как квантовое машинное обучение, моделирование квантовой химии и квантовая оптимизация. MindQuantum предоставляет исследователям, преподавателям и студентам эффективную платформу для быстрого проектирования и проверки квантовых алгоритмов, делая квантовые вычисления доступными для всех.

MindQuantum Architecture

Первый опыт

Создание параметризованного квантового контура

Приведённый ниже пример показывает, как создать параметризованный квантовый контур.

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⟩

В ноутбуке Jupyter мы можем просто вызвать svg() любого контура для отображения контура в виде SVG-картинки (dark и light режимы также поддерживаются).

circuit = (qft(range(3)) + BarrierGate(True)).measure_all()
circuit.svg()  # circuit.svg('light')
Circuit SVG

Обучение квантовой нейронной сети

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())))

The trained parameters are:

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

Tutorials

  1. Basic usage

  2. Variational quantum algorithm

  3. GENERAL QUANTUM ALGORITHM

API

For more API, please refer to MindQuantum API.

Installation

Confirming System Environment Information

  • The hardware platform should be CPU with avx2 supported.
  • Refer to MindQuantum Installation Guide, install MindSpore, version 1.4.0 or later is required.
  • See setup.py for the remaining dependencies.

Install by Source Code

  1. Download Source Code from Gitee

    cd ~
    git clone https://gitee.com/mindspore/mindquantum.git
  2. Compiling MindQuantum

    cd ~/mindquantum
    bash build.sh
    cd output
    pip install mindquantum-*.whl

Install by pip

Install MindSpore

Please refer to MindSpore installation guide to install MindSpore that at least 1.4.0 version. Установка MindQuantum

pip install mindquantum

Сборка из исходного кода

  1. Клонируйте исходный код.

    cd ~
    git clone https://gitee.com/mindspore/mindquantum.git
  2. Соберите MindQuantum.

Для Linux-системы убедитесь, что ваша версия cmake >= 3.18.3, а затем запустите код:

```bash
cd ~/mindquantum
bash build.sh --gitee
```

Здесь --gitee указывает скрипту загрузить сторонние компоненты с gitee. Если вы хотите загрузить с github, вы можете проигнорировать этот флаг. Если вы хотите собрать под GPU, убедитесь, что у вас установлена CUDA 11.x и драйвер для GPU, а затем выполните код:

```bash
cd ~/mindquantum
bash build.sh --gitee --gpu
```

Для Windows-системы убедитесь, что вы установили MinGW-W64 и CMake >= 3.18.3, и затем запустите:

```bash
cd ~/mindquantum
./build.bat /Gitee
```

Для Mac-системы установите openmp и CMake >= 3.18.3 и затем запустите:

```bash
cd ~/mindquantum
bash build.sh --gitee
```
  1. Установите whl.

Перейдите в папку output и установите пакет колеса mindquantum с помощью pip.

Проверка успешной установки

Установка прошла успешно, если при выполнении следующей команды не появляется сообщение об ошибке типа «No module named 'mindquantum'»:

python -c 'import mindquantum'

Установка с Docker

Пользователи Mac или Windows могут установить MindQuantum через Docker. Пожалуйста, обратитесь к руководству по установке Docker.

Примечание

Перед запуском сценариев MindQuantum задайте количество параллельных ядер. Например, если вы хотите задать количество параллельных ядер равным 4, выполните следующую команду:

export OMP_NUM_THREADS=4

На больших серверах количество параллельных ядер следует задавать в соответствии с размером модели для достижения оптимальных результатов.

Создание бинарных колёс

Если вы хотите создать бинарные колёса для распространения, пожалуйста, ознакомьтесь с нашим руководством по созданию бинарных колёс

Быстрый старт

Более подробную информацию о том, как построить параметризованную квантовую цепь и квантовую нейронную сеть и как обучить эти модели, см. в Учебнике MindQuantum.

Документация

Дополнительные сведения об инструкциях по установке, учебниках и API см. в Пользовательской документации.

Сообщество

Управление

Узнайте, как работает управление MindSpore Open Governance (https://gitee.com/mindspore/community/blob/master/governance.md).

Вклад

Мы приветствуем вклад. Подробнее см. в нашей Вики для участников.

Как цитировать

Добро пожаловать на доступ к белой книге MindQuantum. При использовании MindQuantum для исследований, пожалуйста, укажите:

@misc{xu2024mindspore,
      title={MindSpore Quantum: A User-Friendly, High-Performance, and AI-Compatible Quantum Computing Framework},
      author={Xusheng Xu and Jiangyu Cui and Zidong Cui and Runhong He and Qingyu Li and Xiaowei Li and Yanling Lin and Jiale Liu and Wuxin Liu and Jiale Lu and others},
      year={2024},
      eprint={2406.17248},
      archivePrefix={arXiv},
      primaryClass={quant-ph},
      url={https://arxiv.org/abs/2406.17248}
}

Лицензия

Apache License 2.0

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/mindspore-mindquantum.git
git@api.gitlife.ru:oschina-mirror/mindspore-mindquantum.git
oschina-mirror
mindspore-mindquantum
mindspore-mindquantum
master