Przejdź do głównej treści

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.

Uwagi
  • Możesz zobaczyć dostępne opcje i aktualizować wartości opcji podczas lub po inicjalizacji prymitywu.
  • Użyj metody update(), aby zastosować zmiany do atrybutu options.
  • Atrybut options jest typem Python dataclass. Możesz użyć wbudowanej metody asdict, 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 — dokumentacja API

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ą:

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-runtime v0.42.0 lub nowszego.

Następne kroki

Zalecenia