你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

如何使用资源估算器运行多个参数配置target

本文介绍如何运行多个参数配置target,并使用 Azure Quantum 资源估算器对其进行比较

有关如何运行资源估算器的信息,请参阅 使用资源估算器的不同方法。

先决条件

运行资源估算器需要满足以下先决条件:

若要在资源估算器中运行 Q# 程序,需要满足以下条件:

如果要在 VS Code 中使用 Python,则还需要以下各项:

  • 安装最新版本的 Python适用于 VS Code 的 Jupyter 扩展。

  • 最新的 Azure Quantum qsharp 包。

    python -m pip install --upgrade qsharp 
    

若要将作业提交到资源估算器,需要满足以下条件:


使用资源估算器进行批处理

使用 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