Saltar al contenido principal
Este proyecto está en fase beta. ¿Encontraste un error? Abre un issue en GitHub. ¿Tienes una pregunta o una idea? Pregunta en Discussions — ¡nos encantaría tu opinión!
¿Cómo es la calidad de la traducción en esta página?

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.

Notas
  • 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 atributo options.

  • El atributo options es del tipo Python dataclass. Puedes usar el método integrado asdict para 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​

Recomendaciones