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
A versão mais recente do Visual Studio Code ou abra o VS Code na Web.
A versão mais recente da extensão do Quantum Development Kit. Para obter detalhes da instalação, consulte Configurar a extensão do QDK.
Instale a versão mais recente das extensões Python e Jupyter para VS Code.
O pacote mais recente do Azure Quantum
qsharp
.python -m pip install --upgrade qsharp
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