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 dostosowania prymitywu Executor. W przeciwieństwie do Sampler i Estimator, Executor ma bardzo niewiele opcji, ponieważ większość zamierzeń projektowych jest zakodowana w samplex.

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.

  • Executor może przetwarzać wyłącznie informacje zakodowane w samplexach. Zapoznaj się z przewodnikami Samplomatic, aby zrozumieć ograniczenia.

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.

Możliwe wartości: None

Domyślnie: None

environment.log_level

Możliwe wartości: DEBUG, INFO, WARNING, ERROR, CRITICAL

Domyślnie: WARNING

environment.private

Możliwe wartości: True, False

Domyślnie: False

environment.max_execution_time

Możliwe wartości: 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 przed każdym powtórzeniem (shot).

Możliwe wartości: True, False

Domyślnie: True

execution.rep_delay

Opóźnienie między pomiarem a kolejnym obwodem kwantowym.

Możliwe wartości: Wartość w zakresie podanym przez backend.rep_delay_range

Domyślnie: Podane przez backend.default_rep_delay

execution.meas_type

Możliwe wartości: classified, kerneled, avg_kerneled

Domyślnie: classified

experimental

Opcje eksperymentalne, gdy są dostępne.

Następne kroki​

Zalecenia