如何使用資源估算器執行多個參數位組 target 態
在本文中,您將瞭解如何執行多個參數組 target 態,並使用 Azure Quantum Resource Estimator 加以比較。
如需如何執行資源估算器的詳細資訊,請參閱 使用資源估算器的不同方式。
必要條件
執行資源估算器需要下列必要條件:
若要在資源估算器中執行 Q# 程式,您需要下列專案:
- 最新版的 Visual Studio Code 或開啟 Web上的 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 ,也稱為 批處理。 使用 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。