共用方式為


如何使用資源估算器執行多個參數位組 target 態

在本文中,您將瞭解如何執行多個參數組 target 態,並使用 Azure Quantum Resource Estimator 加以比較。

如需如何執行資源估算器的詳細資訊,請參閱 使用資源估算器的不同方式。

必要條件

執行資源估算器需要下列必要條件:

若要在資源估算器中執行 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 ,也稱為 批處理。 使用 Q# 批處理可以在 VS Code 中的 Jupyter Notebook 中完成

您可以將參數清單 target 傳遞至 params 函式的參數 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