Como executar várias configurações de target parâmetros com o Avaliador de Recursos
Neste artigo, vai aprender a executar múltiplas configurações de target parâmetros e compará-los com o Avaliador de Recursos do Azure Quantum.
Para obter informações sobre como executar o Avaliador de Recursos, veja Diferentes formas de utilizar o Avaliador de Recursos.
Pré-requisitos
São necessários os seguintes pré-requisitos para executar o Avaliador de Recursos:
Para executar Q# programas no Avaliador de Recursos, precisa do seguinte:
- 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 Azure Quantum Development Kit . Para obter detalhes sobre a instalação, veja Instalar o QDK Moderno no VS Code.
Se quiser utilizar o Python no VS Code, também precisa do seguinte:
Instale a versão mais recente das extensões Python e Jupyter para VS Code.
O mais recente pacote do Azure Quantum
qsharp
.python -m pip install --upgrade qsharp
Para submeter tarefas ao Avaliador de Recursos, precisa do seguinte:
- Uma conta do Azure com uma subscrição ativa. Se não tiver uma conta do Azure, registe-se gratuitamente e inscreva-se numa subscrição pay as you go.
- Uma área de trabalho do Azure Quantum. Para obter mais informações, veja Criar uma área de trabalho do Azure Quantum.
Batching with the Resource Estimator
O Avaliador de Recursos do Azure Quantum permite-lhe submeter tarefas com múltiplas configurações de parâmetros de tarefas, também referidos como itens, como uma única tarefa para evitar executar novamente várias tarefas no mesmo programa quântico.
Uma tarefa de estimativa de recursos consiste em dois tipos de parâmetros de tarefa:
- Parâmetros de destino: modelo qubit, esquemas QEC, orçamento de erros, restrições ao nível do componente e unidades de destilação.
- Argumentos de operação: argumentos que podem ser transmitidos para o programa (se o ponto de entrada QIR contiver argumentos).
Um item consiste numa configuração de parâmetros de tarefa, que é uma configuração de target parâmetros e argumentos de operação. Vários itens são representados como uma matriz de parâmetros de tarefa.
Alguns cenários em que poderá querer submeter vários itens como uma única tarefa:
- Submeta vários target parâmetros com os mesmos argumentos de operação em todos os itens.
- Submeta vários target parâmetros com argumentos de operação diferentes em todos os itens.
- Compare facilmente múltiplos resultados num formato tabular.
- Compare facilmente múltiplos resultados num gráfico.
Se estiver a estimar os recursos de um Q# programa, pode executar várias configurações de target parâmetros, também conhecidos como batching. O batching com Q# pode ser feito num Jupyter Notebook no VS Code.
Pode efetuar uma estimativa de lote ao transmitir uma lista de target parâmetros para o params
parâmetro da qsharp.estimate
função. O exemplo seguinte mostra como submeter duas configurações de target parâmetros como uma única tarefa. A primeira configuração utiliza os parâmetros predefinidos target e a segunda configuração utiliza o qubit_maj_ns_e6
parâmetro qubit e o floquet_code
esquema QEC.
No mesmo Jupyter Notebook do programaQ#, 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⁻⁶"])
Também pode construir uma lista de parâmetros de estimativa target com a EstimatorParams
classe. O código seguinte mostra como submeter seis configurações de target parâmetros como uma única tarefa.
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
Se tiver algum problema ao trabalhar com o Avaliador de Recursos, consulte a página Resolução de problemas ou contacte AzureQuantumInfo@microsoft.com.
Conteúdo relacionado
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários