Compartilhar via


Como comparar várias configurações de parâmetros de target com o Avaliador de Recursos

Neste artigo, você aprenderá a executar várias configurações de parâmetros de target ao mesmo tempo e compará-los usando o Avaliador de recursos do Azure Quantum.

O Avaliador de Recursos do Azure Quantum permite que você execute várias configurações de parâmetros target como um único trabalho para evitar executar novamente vários trabalhos no mesmo programa quântico.

Um trabalho pode consistir em vários itens ou configurações de parâmetros target. Alguns cenários em que talvez você queira executar vários itens como um único trabalho:

  • Execute múltiplos parâmetros de target com os mesmos argumentos de operação em todos os itens.
  • Execute múltiplos parâmetros de target com diferentes argumentos de operação em todos os itens.
  • Compare facilmente vários resultados em um formato tabular.
  • Compare facilmente vários resultados em um gráfico.

Para obter informações sobre como executar o Avaliador de Recursos, consulte Diferentes maneiras de usar o Avaliador de Recursos.

Pré-requisitos

Executando várias configurações com o Avaliador de Recursos

A execução de várias configurações de parâmetros de target como um único trabalho em Q# pode ser feita em um Jupyter Notebook no VS Code. Você pode passar uma lista de parâmetros target para o parâmetro params da função qsharp.estimate.

O exemplo a seguir mostra como executar duas configurações de parâmetros target como um único trabalho. A primeira configuração usa os parâmetros padrão target e a segunda configuração usa o qubit_maj_ns_e6 parâmetro qubit e o floquet_code esquema QEC.

No mesmo Jupyter Notebook do seu Q# programa, adicione uma nova célula e execute o seguinte código:

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⁻⁶"])

Você também pode construir uma lista de parâmetros de estimativa target usando a EstimatorParams classe. O código a seguir mostra como colocar em lote seis configurações de parâmetros target como um único trabalho.

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)

Observação

Se você tiver algum problema ao trabalhar com o Avaliador de recursos, verifique a páginaAzureQuantumInfo@microsoft.com