你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
如何使用资源估算器运行多个参数配置target
本文介绍如何运行多个参数配置target,并使用 Azure Quantum 资源估算器对其进行比较。
有关如何运行资源估算器的信息,请参阅 使用资源估算器的不同方法。
先决条件
运行资源估算器需要满足以下先决条件:
若要在资源估算器中运行 Q# 程序,需要满足以下条件:
- 最新版本的 Visual Studio Code 或打开网页版 VS Code。
- 最新版本的 Azure Quantum 开发工具包扩展。 有关安装详细信息,请参阅 在 VS Code 上安装 QDK。
如果要在 VS Code 中使用 Python,则还需要以下各项:
安装最新版本的 Python 和适用于 VS Code 的 Jupyter 扩展。
最新的 Azure Quantum
qsharp
包。python -m pip install --upgrade qsharp
若要将作业提交到资源估算器,需要满足以下条件:
- 具有活动订阅的 Azure 帐户。 如果没有 Azure 帐户,请免费注册并注册 即用即付订阅。
- Azure Quantum 工作区。 有关详细信息,请参阅创建 Azure Quantum 工作区。
使用资源估算器进行批处理
使用 Azure Quantum 资源估算器,可以提交具有多个作业参数配置的作业,也称为 项,作为单个作业,以避免在同一量子程序中重新运行多个作业。
资源估算作业由两种类型的作业参数组成:
- 目标参数:量子比特模型、QEC 方案、错误预算、组件级约束和提取单元。
- 操作参数:可传递给程序的参数(如果 QIR 入口点包含参数)。
一项由作业参数的一个配置组成,即参数和操作参数的 target 一个配置。 多个项表示为作业参数数组。
在某些情况下,你可能希望将多个项作为单个作业提交:
- 在所有项中提交具有相同操作参数的多个target参数。
- 在所有项中提交具有不同操作参数的多个target参数。
- 以表格格式轻松比较多个结果。
- 在图表中轻松比较多个结果。
使用不同语言对作业进行批处理
选择所需的选项卡,获取资源估算器批处理的示例。
如果要估算程序的资源 Q# ,则可以运行多个参数配置 target ,也称为 批处理。 可以在 VS Code 中的 Jupyter Notebook 中完成批处理Q#。
可以通过将参数params
列表target传递给函数的参数qsharp.estimate
来执行批处理估计。 以下示例演示如何将两个参数配置 target 作为单个作业提交。 第一个配置使用默认 target 参数,第二个配置使用 qubit_maj_ns_e6
量子比特参数和 floquet_code
QEC 方案。
在程序的同一 Jupyter Notebook Q# 中,添加新单元格并运行以下代码:
result_batch = qsharp.estimate("RunProgram()", params=
[{}, # Default parameters
{
"qubitParams": {
"name": "qubit_maj_ns_e6"
},
"qecScheme": {
"name": "floquet_code"
}
}])
result_batch.summary_data_frame(labels=["Gate-based ns, 10⁻³", "Majorana ns, 10⁻⁶"])
还可以使用EstimatorParams
类构造估计target参数列表。 以下代码演示如何将六个 target 参数配置作为单个作业提交。
from qsharp.estimator import EstimatorParams, QubitParams, QECScheme
labels = ["Gate-based µs, 10⁻³", "Gate-based µs, 10⁻⁴", "Gate-based ns, 10⁻³", "Gate-based ns, 10⁻⁴", "Majorana ns, 10⁻⁴", "Majorana ns, 10⁻⁶"]
params = EstimatorParams(num_items=6)
params.error_budget = 0.333
params.items[0].qubit_params.name = QubitParams.GATE_US_E3
params.items[1].qubit_params.name = QubitParams.GATE_US_E4
params.items[2].qubit_params.name = QubitParams.GATE_NS_E3
params.items[3].qubit_params.name = QubitParams.GATE_NS_E4
params.items[4].qubit_params.name = QubitParams.MAJ_NS_E4
params.items[4].qec_scheme.name = QECScheme.FLOQUET_CODE
params.items[5].qubit_params.name = QubitParams.MAJ_NS_E6
params.items[5].qec_scheme.name = QECScheme.FLOQUET_CODE
qsharp.estimate("RunProgram()", params=params).summary_data_frame(labels=labels)
注意
如果在使用资源估算器时遇到任何问题,请查看 “故障排除”页或联系 AzureQuantumInfo@microsoft.com。