Especificar opções do Executor
Versões dos pacotes
O código desta página foi desenvolvido usando os seguintes requisitos. Recomendamos usar essas versões ou versões mais recentes.
qiskit-ibm-runtime~=0.47.0
Você pode usar opções para personalizar a primitiva Executor. Diferente do Sampler e do Estimator, o Executor tem muito poucas opções, já que a maioria das intenções de design está codificada no samplex.
-
Você pode ver as opções disponíveis e atualizar os valores das opções durante ou após a inicialização da primitiva.
-
Use o método
update()para aplicar alterações ao atributooptions. -
O atributo
optionsé do tipo Pythondataclass. Você pode usar o método integradoasdictpara convertê-lo em um dicionário. -
O Executor só pode processar informações codificadas em samplexes. Consulte os guias do Samplomatic para entender as restrições.
Definir opções do Executor
Se uma opção for especificada tanto durante quanto após a inicialização da primitiva, o valor definido após a inicialização da primitiva é usado.
Inicialização da primitiva
Você pode passar uma instância da classe de opções ou um dicionário ao inicializar o Executor, que então faz uma cópia dessas opções. Assim, alterar o dicionário original ou a instância de opções não afeta as opções de propriedade da primitiva.
Classe de opções
Ao criar uma instância da classe Executor, você pode passar uma instância da classe de opções. Essas opções são então aplicadas quando você usa run() para realizar o cálculo. Especifique as opções neste formato: options.option.sub-option.sub-sub-option = choice. Por exemplo: options.environment.log_level = INFO.
Exemplo:
# Added by doQumentation — installs the packages this notebook needs if they are missing
import importlib.util
_needed = {"qiskit_ibm_runtime": "qiskit-ibm-runtime"}
_missing = [pip for module, pip in _needed.items()
if importlib.util.find_spec(module) is None]
# One at a time, so a package that fails to install does not block the others
for _pip in _missing:
%pip install -q {_pip}
if not _missing:
print("\u2713 All required packages are installed")
from qiskit_ibm_runtime import QiskitRuntimeService, Executor
from qiskit_ibm_runtime.options_models 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)
Dicionário
Você pode especificar opções como um dicionário ao inicializar o 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},
},
)
Opções disponíveis
A tabela a seguir documenta as opções da versão mais recente do qiskit-ibm-runtime. Para ver versões antigas de opções, visite a referência da API qiskit-ibm-runtime e selecione uma versão anterior.
environment
Documentação da API environment
environment.job_tags
Lista de tags.
Valores possíveis: Nenhum
Padrão: Nenhum
environment.log_level
Valores possíveis: DEBUG, INFO, WARNING, ERROR, CRITICAL
Padrão: WARNING
environment.private
Opções: True, False
Padrão: False
environment.max_execution_time
Valores possíveis: Número inteiro de segundos no intervalo [1, 10800]
Padrão: 10800 (3 horas)
execution
execution.init_qubits
Se os qubits devem ser redefinidos para o estado fundamental para cada shot.
Opções: True, False
Padrão: True
execution.rep_delay
O atraso entre uma medição e o circuito quântico subsequente.
Valores possíveis: Valor no intervalo fornecido por backend.rep_delay_range
Padrão: Fornecido por backend.default_rep_delay
execution.meas_type
Opções: classified, kerneled, avg_kerneled
Padrão: classified
experimental
Opções experimentais, quando disponíveis.
Próximos passos
- Revise a documentação da API ExecutionOptionsV2.
- Revise a documentação da API EnvironmentOptions.