Especificar opciones de Executor
Versiones de paquetes
El código de esta página fue desarrollado con los siguientes requisitos. Recomendamos usar estas versiones o más recientes.
qiskit-ibm-runtime~=0.47.0
Puedes usar opciones para personalizar la primitiva Executor. A diferencia de Sampler y Estimator, Executor tiene muy pocas opciones, ya que la mayoría de las intenciones de diseño están codificadas en el samplex.
-
Puedes ver las opciones disponibles y actualizar los valores de las opciones durante o después de la inicialización del primitivo.
-
Usa el método
update()para aplicar cambios al atributooptions. -
El atributo
optionses del tipo Pythondataclass. Puedes usar el método integradoasdictpara convertirlo a un diccionario. -
Executor solo puede procesar información codificada en samplexes. Consulta las guías de Samplomatic para entender las restricciones.
Establecer opciones de Executor
Si una opción se especifica tanto durante como después de la inicialización de la primitiva, se utiliza el valor establecido después de inicializar la primitiva.
Inicialización del primitivo
Puedes pasar una instancia de la clase de opciones o un diccionario al inicializar Executor, que luego hace una copia de esas opciones. Por lo tanto, cambiar el diccionario original o la instancia de opciones no afecta a las opciones que pertenecen al primitivo.
Clase de opciones
Al crear una instancia de la clase Executor, puedes pasar una instancia de la clase de opciones. Esas opciones se aplican luego cuando usas run() para realizar el cálculo. Especifica las opciones en este formato: options.option.sub-option.sub-sub-option = choice. Por ejemplo: options.environment.log_level = INFO.
Ejemplo:
# 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)
Diccionario
Puedes especificar opciones como un diccionario al inicializar 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},
},
)
Opciones disponibles
La siguiente tabla documenta opciones de la última versión de qiskit-ibm-runtime. Para ver versiones de opciones anteriores, visita la referencia de la API de qiskit-ibm-runtime y selecciona una versión anterior.
environment
Documentación de la API de environment
environment.job_tags
Lista de etiquetas.
Valores posibles: None
Predeterminado: None
environment.log_level
Valores posibles: DEBUG, INFO, WARNING, ERROR, CRITICAL
Predeterminado: WARNING
environment.private
Valores posibles: True, False
Predeterminado: False
environment.max_execution_time
Valores posibles: Número entero de segundos en el rango [1, 10800]
Predeterminado: 10800 (3 horas)
execution
Documentación de la API de execution
execution.init_qubits
Si se deben restablecer los qubits al estado fundamental para cada shot.
Valores posibles: True, False
Predeterminado: True
execution.rep_delay
El retraso entre una medición y el circuit cuántico subsiguiente.
Valores posibles: Valor en el rango proporcionado por backend.rep_delay_range
Predeterminado: Dado por backend.default_rep_delay
execution.meas_type
Valores posibles: classified, kerneled, avg_kerneled
Predeterminado: classified
experimental
Opciones experimentales, cuando estén disponibles.
Próximos pasos
- Revisa la documentación de la API ExecutionOptionsV2.
- Revisa la documentación de la API EnvironmentOptions.