Udostępnij za pośrednictwem


Jak porównać wiele konfiguracji parametrów target z narzędziem do szacowania zasobów

Z tego artykułu dowiesz się, jak uruchomić wiele konfiguracji parametrów target jednocześnie i porównać je przy użyciu narzędzia do szacowania zasobów Azure Quantum.

Narzędzie do szacowania zasobów usługi Azure Quantum umożliwia uruchamianie wielu konfiguracji parametrów target jako pojedynczego zadania, aby uniknąć ponownego uruchamiania wielu zadań w tym samym programie kwantowym.

Jedno zadanie może składać się z wielu elementów lub konfiguracji parametrów target. Niektóre scenariusze, w których możesz chcieć uruchomić wiele elementów jako jedno zadanie:

  • Uruchom wiele parametrów z takimi samymi argumentami operacji we wszystkich elementach.
  • Uruchom wiele parametrów z różnymi argumentami operacji we wszystkich elementach.
  • Łatwe porównywanie wielu wyników w formacie tabelarycznym.
  • Łatwe porównywanie wielu wyników na wykresie.

Aby uzyskać informacje o sposobie uruchamiania narzędzia do szacowania zasobów, zobacz Różne sposoby korzystania z narzędzia do szacowania zasobów.

Wymagania wstępne

Uruchamianie wielu konfiguracji za pomocą narzędzia do szacowania zasobów

Uruchamianie wielu konfiguracji parametrów target jako pojedynczego zadania w Q# można wykonać w notesie Jupyter w środowisku VS Code. Listę parametrów target można przekazać do parametru params funkcji qsharp.estimate.

W poniższym przykładzie pokazano, jak uruchomić dwie konfiguracje parametrów target jako pojedyncze zadanie. Pierwsza konfiguracja używa parametrów domyślnych target , a druga konfiguracja używa parametru kubitu qubit_maj_ns_e6 i schematu floquet_code QEC.

W tym samym notesie Jupyter Notebook programu Q# dodaj nową komórkę i uruchom następujący kod:

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⁻⁶"])

Możesz również utworzyć listę parametrów szacowania target przy użyciu EstimatorParams klasy . Poniższy kod pokazuje, jak przetwarzać wsadowo sześć konfiguracji parametrów target w ramach jednego zadania.

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)

Uwaga

Jeśli wystąpi jakikolwiek problem podczas pracy z narzędziem do szacowania zasobów, zapoznaj się ze stroną Rozwiązywanie problemów lub skontaktuj się z .AzureQuantumInfo@microsoft.com