Jak uruchomić wiele konfiguracji parametrów target za pomocą narzędzia do szacowania zasobów
Z tego artykułu dowiesz się, jak uruchomić wiele konfiguracji parametrów target i porównać je przy użyciu narzędzia do szacowania zasobów usługi Azure Quantum.
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
Do uruchomienia narzędzia do szacowania zasobów wymagane są następujące wymagania wstępne:
Do uruchamiania Q# programów w narzędziu do szacowania zasobów potrzebne są następujące elementy:
- Najnowsza wersja Visual Studio Code lub otwórz program VS Code w sieci Web.
- Najnowsza wersja rozszerzenia zestawu Azure Quantum Development Kit . Aby uzyskać szczegółowe informacje na temat instalacji, zobacz Instalowanie nowoczesnego zestawu QDK w programie VS Code.
Jeśli chcesz użyć języka Python w programie VS Code, potrzebne są również następujące elementy:
Zainstaluj najnowszą wersję rozszerzeń języka Python i programu Jupyter dla programu VS Code.
Najnowszy pakiet usługi Azure Quantum
qsharp
.python -m pip install --upgrade qsharp
Aby przesłać zadania do narzędzia do szacowania zasobów, potrzebne są następujące elementy:
- Konto platformy Azure z aktywną subskrypcją. Jeśli nie masz konta platformy Azure, zarejestruj się bezpłatnie i zarejestruj się w celu uzyskania subskrypcji z płatnością zgodnie z rzeczywistym użyciem.
- Obszar roboczy usługi Azure Quantum. Aby uzyskać więcej informacji, zobacz Tworzenie obszaru roboczego usługi Azure Quantum.
Przetwarzanie wsadowe za pomocą narzędzia do szacowania zasobów
Narzędzie do szacowania zasobów usługi Azure Quantum umożliwia przesyłanie zadań z wieloma konfiguracjami parametrów zadania, nazywanymi również elementami, co pozwala uniknąć ponownego uruchamiania wielu zadań w tym samym programie kwantowym.
Zadanie szacowania zasobów składa się z dwóch typów parametrów zadania:
- Parametry docelowe: model kubitu, schematy QEC, budżet błędu, ograniczenia na poziomie składnika i jednostki gorzelni.
- Argumenty operacji: argumenty, które można przekazać do programu (jeśli punkt wejścia QIR zawiera argumenty).
Jeden element składa się z jednej konfiguracji parametrów zadania, czyli jednej konfiguracji target parametrów i argumentów operacji. Kilka elementów jest reprezentowanych jako tablica parametrów zadania.
Niektóre scenariusze, w których można przesłać wiele elementów jako jedno zadanie:
- Prześlij wiele target parametrów z tymi samymi argumentami operacji we wszystkich elementach.
- Prześlij wiele target 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.
- Przetwarzanie wsadowe za pomocą polecenia Q#
- Przetwarzanie wsadowe za pomocą zestawu Qiskit
- Przetwarzanie wsadowe przy użyciu protokołu PyQIR
Jeśli oceniasz zasoby Q# programu, możesz uruchomić wiele konfiguracji parametrów, nazywanych również przetwarzaniem wsadowymtarget. Przetwarzanie wsadowe Q# można wykonać w Jupyter Notebook w programie VS Code.
Szacowanie wsadowe można wykonać, przekazując listę parametrów target do params
parametru qsharp.estimate
funkcji. W poniższym przykładzie pokazano, jak przesłać dwie konfiguracje parametrów target jako jedno zadanie. Pierwsza konfiguracja używa parametrów domyślnych target , a druga konfiguracja używa parametru qubit_maj_ns_e6
kubitu i schematu floquet_code
QEC.
W tej samej 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żna również utworzyć listę parametrów szacowania target przy użyciu EstimatorParams
klasy . Poniższy kod przedstawia sposób przesyłania sześciu konfiguracji parametrów target jako pojedynczego 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.comprogramem .
Zawartość pokrewna
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla