选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

PennyLane 与 Amazon Braket 一起使用

聚焦模式
PennyLane 与 Amazon Braket 一起使用 - Amazon Braket

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

混合算法是同时包含经典指令和量子指令的算法。经典指令在经典硬件( EC2 实例或笔记本电脑)上运行,量子指令要么在模拟器上运行,要么在量子计算机上运行。我们建议您使用混合作业功能运行混合算法。有关更多信息,请参阅何时使用 Amazon Braket 任务

Amazon Braket 使您能够在 Amazon Braket 插件的帮助下,或者使用 Amazon PennyLane Braket Python SDK 和示例笔记本存储库来设置和运行混合量子算法。基于软件开发工具包的 Amazon Braket 示例笔记本使您无需插件即可设置和运行某些混合算法。 PennyLane 但是,我们 PennyLane 之所以推荐,是因为它提供了更丰富的体验。

关于混合量子算法

混合量子算法对当今的行业很重要,因为当代量子计算设备通常会产生噪声,从而产生错误。计算中添加的每个量子门都会增加增加噪声的机会;因此,长期运行的算法可能会被噪声所淹没,从而导致计算错误。

诸如肖尔(量子相位估计示例)或格罗弗(格罗弗的例子)之类的纯量子算法需要数千或数百万次运算。出于这个原因,它们对于现有的量子器件来说可能是不切实际的,这些器件通常被称为噪声中级量子(NISQ)器件。

在混合量子算法中,量子处理单元 (QPUs) 充当经典算法的协处理器 CPUs,专门用于加快经典算法中的某些计算。电路执行时间大大缩短,触手可及。

带有 Amazon Braket PennyLane

Amazon Braket 为PennyLane围绕量子微分编程概念构建的开源软件框架提供支持。你可以使用这个框架来训练量子电路,就像训练神经网络来寻找量子化学、量子机器学习和优化中计算问题的解决方案一样。

该 PennyLane 库为熟悉的机器学习工具(包括 PyTorch 和)提供了接口 TensorFlow,使量子电路训练变得快速而直观。

  • PennyLane 库-—— PennyLane 已预先安装在 Amazon 支架笔记本电脑。要访问 Amazon 从 Braket 设备打开笔记本电脑 PennyLane,然后使用以下命令导入 PennyLane 库。

import pennylane as qml

教程笔记本可帮助您快速入门。或者,你可以 PennyLane 在 Amazon 从你选择的 IDE 中获得支架。

  • 的 Amazon Braket PennyLane 插件 — 要使用你自己的 IDE,你可以安装 Amazon 手动支架 PennyLane 插件。该插件 PennyLane 与 Amazon Braket Python SDK 连接,因此你可以在上面运行电路 PennyLane Amazon 支架设备。要安装该 PennyLane 插件,请使用以下命令。

pip install amazon-braket-pennylane-plugin

以下示例演示如何设置访问权限 Amazon 支架设备位于 PennyLane:

# to use SV1 import pennylane as qml sv1 = qml.device("braket.aws.qubit", device_arn="arn:aws:braket:::device/quantum-simulator/amazon/sv1", wires=2) # to run a circuit: @qml.qnode(sv1) def circuit(x): qml.RZ(x, wires=0) qml.CNOT(wires=[0,1]) qml.RY(x, wires=1) return qml.expval(qml.PauliZ(1)) result = circuit(0.543) #To use the local sim: local = qml.device("braket.local.qubit", wires=2)

有关教程示例和更多信息 PennyLane,请参阅 Amazon Braket 示例存储库

这些区域有:Amazon Braket PennyLane 插件允许你在两者之间切换 Amazon Braket QPU 和嵌入式仿真器设备只需一行代码。 PennyLane 它提供了两个 Amazon 可与 Braket 量子设备配合使用 PennyLane:

  • braket.aws.qubit用于与 the 一起跑步 Amazon Braket 服务的量子设备,包括 QPUs 和模拟器

  • braket.local.qubit用于与 the 一起跑步 Amazon Braket SDK 的本地模拟器

这些区域有:Amazon Braket PennyLane 插件是开源的。你可以从PennyLane 插件 GitHub 存储库中安装它。

有关的更多信息 PennyLane,请参阅PennyLane 网站上的文档。

Amazon Braket 中的混合算法示例笔记本

Amazon Braket 确实提供了各种不依赖 PennyLane 插件来运行混合算法的示例笔记本。你可以开始使用这些说明变分方法Amazon Braket 混合示例笔记本中的任何一个,例如量子近似优化算法 (QAOA) 或变分量子特征求解器 (VQE)。

亚马逊 Braket 示例笔记本依赖于 Amazon B raket Python SDK。SDK 提供了一个框架,可通过以下方式与量子计算硬件设备进行交互 Amazon 支架。它是一个开源库,旨在帮助您完成混合工作流程的量子部分。

你可以探索 Amazon 再来看看我们的示例笔记本

带有嵌入式 PennyLane 仿真器的混合算法

Amazon Braket Hybrid Jobs 现在配备了基于 CPU 和 GPU 的高性能嵌入式模拟器。PennyLane该系列嵌入式模拟器可以直接嵌入到您的混合作业容器中,包括快速状态向量lightning.qubit模拟器、使用NVIDIA的cu Quantum库加速的lightning.gpu仿真器等。这些嵌入式仿真器非常适合变分算法,例如量子机器学习,这些算法可以从高级方法(例如伴随微分法)中受益您可以在一个或多个 CPU 或 GPU 实例上运行这些嵌入式模拟器。

借助 Hybrid Jobs,您现在可以使用经典协处理器和 QPU 的组合来运行变分算法代码,Amazon Braket 按需模拟器,例如 SV1,或者直接使用中的嵌入式仿真器 PennyLane。

嵌入式模拟器已经在 Hybrid Jobs 容器中可用,你只需要用装饰@hybrid_job器装饰你的主 Python 函数即可。要使用 PennyLane lightning.gpu模拟器,您还需要在中指定 GPU 实例,InstanceConfig如以下代码片段所示:

import pennylane as qml from braket.jobs import hybrid_job from braket.jobs.config import InstanceConfig @hybrid_job(device="local:pennylane/lightning.gpu", instance_config=InstanceConfig(instanceType="ml.p3.8xlarge")) def function(wires): dev = qml.device("lightning.gpu", wires=wires) ...

要开始使用带有 Hybrid Jobs 的 PennyLane 嵌入式模拟器,请参阅示例笔记本

PennyLane 使用 Amazon Braket 模拟器开启伴随渐变

使用 PennyLane Amazon Braket 的插件,在本地状态向量模拟器上运行时,你可以使用伴随的微分法计算梯度,或者。 SV1

注意:要使用伴随微分法,必须在 “” 和 “不是diff_method='adjoint'diff_method='device'qnode指定。请参阅以下示例。

device_arn = "arn:aws:braket:::device/quantum-simulator/amazon/sv1" dev = qml.device("braket.aws.qubit", wires=wires, shots=0, device_arn=device_arn) @qml.qnode(dev, diff_method="device") def cost_function(params): circuit(params) return qml.expval(cost_h) gradient = qml.grad(circuit) initial_gradient = gradient(params0)
注意

目前,PennyLane 将计算 QAOA Hamiltonians 的分组指数,并使用它们将哈密顿函数拆分为多个期望值。如果你想在从中运行 Q SV1 AOA 时使用伴随的微分功能 PennyLane,你需要通过移除分组指数来重建成本哈密顿模型,如下所示:cost_h, mixer_h = qml.qaoa.max_clique(g, constrained=False) cost_h = qml.Hamiltonian(cost_h.coeffs, cost_h.ops)

隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。