Określanie opcji Executor
Wersje pakietów
Kod na tej stronie został opracowany przy użyciu następujących wymagań. Zalecamy używanie tych lub nowszych wersji.
qiskit-ibm-runtime~=0.46.1
Możesz używać opcji do dostosowywania prymitywu Executor.
- Możesz zobaczyć dostępne opcje i aktualizować wartości opcji podczas lub po inicjalizacji prymitywu.
- Użyj metody
update(), aby zastosować zmiany do atrybutuoptions. - Atrybut
optionsjest typem Pythondataclass. Możesz użyć wbudowanej metodyasdict, aby przekonwertować go na słownik.
Ustawianie opcji Executor
Jeśli opcja jest określona zarówno podczas, jak i po inicjalizacji prymitywu, używana jest wartość ustawiona po inicjalizacji prymitywu.
Inicjalizacja prymitywu
Możesz przekazać instancję klasy opcji lub słownik podczas inicjalizacji Executor, który następnie tworzy kopię tych opcji. Dlatego zmiana oryginalnego słownika lub instancji opcji nie wpływa na opcje posiadane przez prymityw.
Klasa opcji
Podczas tworzenia instancji klasy Executor możesz przekazać instancję klasy opcji. Te opcje są następnie stosowane podczas używania run() do wykonania obliczeń. Określ opcje w tym formacie: options.option.sub-option.sub-sub-option = choice. Na przykład: options.environment.log_level = INFO.
Przykład:
# Added by doQumentation — required packages for this notebook
!pip install -q qiskit-ibm-runtime
from qiskit_ibm_runtime import QiskitRuntimeService, Executor
from qiskit_ibm_runtime.options import ExecutorOptions
service = QiskitRuntimeService()
backend = service.least_busy(operational=True, simulator=False)
options = ExecutorOptions(
environment={"log_level": "INFO"},
execution={"init_qubits": True},
)
# or use the following instead:
options = ExecutorOptions()
options.environment.log_level = "INFO"
options.execution.init_qubits = True
executor = Executor(mode=backend, options=options)
Słownik
Możesz określić opcje jako słownik podczas inicjalizacji Executor.
from qiskit_ibm_runtime import QiskitRuntimeService, Executor
service = QiskitRuntimeService()
backend = service.least_busy(operational=True, simulator=False)
# Setting options during primitive initialization
executor = Executor(
backend,
options={
"environment": {"log_level": "INFO"},
"execution": {"init_qubits": True},
},
)
Dostępne opcje
Poniższa tabela dokumentuje opcje z najnowszej wersji qiskit-ibm-runtime. Aby zobaczyć starsze wersje opcji, odwiedź dokumentację API qiskit-ibm-runtime i wybierz poprzednią wersję.
environment
environment — dokumentacja API
environment.job_tags
Lista tagów.
Opcje: None
Domyślnie: None
environment.log_level
Opcje: DEBUG, INFO, WARNING, ERROR, CRITICAL
Domyślnie: WARNING
environment.private
Opcje: True, False
Domyślnie: False
environment.max_execution_time
Opcje: Liczba całkowita sekund w zakresie [1, 10800]
Domyślnie: 10800 (3 godziny)
execution
execution.init_qubits
Czy resetować kubity do stanu podstawowego dla każdego pomiaru.
Opcje: True, False
Domyślnie: True
execution.rep_delay
Opóźnienie między pomiarem a kolejnym obwodem kwantowym.
Opcje: Wartość w zakresie podanym przez backend.rep_delay_range
Domyślnie: Podane przez backend.default_rep_delay
execution.meas_type
Opcje: classified, kerneled, avg_kerneled
Domyślnie: classified
experimental
Opcje eksperymentalne, gdy są dostępne.
Kompatybilność funkcji
Pewne funkcje środowiska uruchomieniowego nie mogą być używane razem w jednym zadaniu. Kliknij odpowiednią kartę, aby zobaczyć listę funkcji niekompatybilnych z wybraną funkcją:
- Obwody dynamiczne
- Dynamical decoupling
- Bramki ułamkowe
- Gate-folding ZNE
- Twirling bramek
- PEA
- PEC
Niekompatybilne z:
- Gate-folding ZNE
- PEA
- PEC
- Dynamical decoupling
Inne uwagi:
- Twirling bramek można stosować do obwodów dynamicznych, ale tylko do bramek nie wewnątrz bloków warunkowych.
- Twirling pomiarów można stosować tylko do pomiarów końcowych.
- Twirling pomiarów jest niekompatybilny z instrukcją
store. - Kompatybilne z bramkami ułamkowymi podczas używania
qiskit-ibm-runtimev0.42.0 lub nowszego.
Niekompatybilne z obwodami dynamicznymi.
Niekompatybilne z:
- Twirlingiem bramek
- PEA
- PEC
Kompatybilne z obwodami dynamicznymi podczas używania qiskit-ibm-runtime v0.42.0 lub nowszego.
Niekompatybilne z:
- Obwodami dynamicznymi
- PEA
- PEC
Może nie działać przy użyciu niestandardowych bramek.
Niekompatybilne z bramkami ułamkowymi lub ze stretch.
Inne uwagi:
- Twirling bramek można stosować do obwodów dynamicznych, ale tylko do bramek nie wewnątrz bloków warunkowych. Twirling pomiarów można stosować tylko do pomiarów końcowych.
- Nie działa z nieskliffordowymi splątaczami.
Niekompatybilne z:
- Obwodami dynamicznymi
- Bramkami ułamkowymi
- Gate-folding ZNE
- PEC
Niekompatybilne z:
- Obwodami dynamicznymi
- Bramkami ułamkowymi
- Gate-folding ZNE
- PEA
Następne kroki
- Przejrzyj dokumentację API ExecutionOptionsV2.
- Przejrzyj dokumentację API EnvironmentOptions.