Compartir a través de


Comparación de varias configuraciones de parámetros de target con el estimador de recursos

En este artículo, aprenderá a ejecutar varias configuraciones de parámetros de target al mismo tiempo y compararlas con el estimador de recursos de Azure Quantum .

El estimador de recursos de Azure Quantum permite ejecutar varias configuraciones de parámetros de target como un único trabajo para evitar volver a ejecutar varios trabajos en el mismo programa cuántico.

Un trabajo puede estar formado por varios elementos o configuraciones de parámetros target. Algunos escenarios en los que puede que desee ejecutar varios elementos como un solo trabajo:

  • Ejecute varios parámetros de target con mismos argumentos de operación en todos los elementos.
  • Ejecute varios parámetros de target con diferentes argumentos de operación en todos los elementos.
  • Compare fácilmente varios resultados en un formato tabular.
  • Comparar fácilmente varios resultados en un gráfico.

Para obtener información sobre cómo ejecutar el estimador de recursos, consulte Diferentes formas de usar el estimador de recursos.

Requisitos previos

Ejecución de varias configuraciones con el estimador de recursos

La ejecución de varias configuraciones de parámetros de target, como un solo trabajo en Q#, se puede realizar en un Jupyter Notebook en VS Code. Puede pasar una lista de parámetros de target al parámetro params de la función qsharp.estimate.

En el ejemplo siguiente se muestra cómo ejecutar dos configuraciones de target parámetros como un único trabajo. La primera configuración usa los parámetros predeterminados target y la segunda configuración usa el qubit_maj_ns_e6 parámetro qubit y el floquet_code esquema QEC.

En el mismo jupyter Notebook del Q# programa, agregue una nueva celda y ejecute el código siguiente:

result_batch = qsharp.estimate("RunProgram()", params=
                [{}, # Default parameters
                {
                    "qubitParams": {
                        "name": "qubit_maj_ns_e6"
                    },
                    "qecScheme": {
                        "name": "floquet_code"
                    }
                }])
result_batch.summary_data_frame(labels=["Gate-based ns, 10⁻³", "Majorana ns, 10⁻⁶"])

También puede construir una lista de parámetros de estimación target mediante la EstimatorParams clase . En el código siguiente se muestra cómo procesar por lotes seis configuraciones de parámetros de target como un solo trabajo.

from qsharp.estimator import EstimatorParams, QubitParams, QECScheme

labels = ["Gate-based µs, 10⁻³", "Gate-based µs, 10⁻⁴", "Gate-based ns, 10⁻³", "Gate-based ns, 10⁻⁴", "Majorana ns, 10⁻⁴", "Majorana ns, 10⁻⁶"]

params = EstimatorParams(num_items=6)
params.error_budget = 0.333
params.items[0].qubit_params.name = QubitParams.GATE_US_E3
params.items[1].qubit_params.name = QubitParams.GATE_US_E4
params.items[2].qubit_params.name = QubitParams.GATE_NS_E3
params.items[3].qubit_params.name = QubitParams.GATE_NS_E4
params.items[4].qubit_params.name = QubitParams.MAJ_NS_E4
params.items[4].qec_scheme.name = QECScheme.FLOQUET_CODE
params.items[5].qubit_params.name = QubitParams.MAJ_NS_E6
params.items[5].qec_scheme.name = QECScheme.FLOQUET_CODE

qsharp.estimate("RunProgram()", params=params).summary_data_frame(labels=labels)

Nota:

Si tiene algún problema al trabajar con el estimador de recursos, consulte la página Solución de problemas o póngase en contacto con AzureQuantumInfo@microsoft.com.