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.
-
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. -
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.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
- Przejrzyj dokumentację API ExecutionOptionsV2.
- Przejrzyj dokumentację API EnvironmentOptions.