Esegui il tuo primo circuito usando ilAmazonBraketSDK Python - Amazon Braket

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Esegui il tuo primo circuito usando ilAmazonBraketSDK Python

Dopo che l'istanza del notebook è stata avviata, apri l'istanza con un'interfaccia Jupyter standard scegliendo il notebook appena creato.


            pagina della console

Amazon Braketle istanze notebook sono preinstallate con la.Amazon BraketSDK e tutte le sue dipendenze. Inizia creando un notebook conconda_braketkernel.


            jupyter

Puoi iniziare con un semplice «Hello, world!» Esempio Per prima cosa, costruisci un circuito che prepara uno stato Bell, quindi esegui quel circuito su diversi dispositivi per ottenere i risultati.

Inizia importando ilAmazon BraketModuli SDK e definizione di un semplice circuito Bell State.

import boto3 from braket.aws import AwsDevice from braket.devices import LocalSimulator from braket.circuits import Circuit # create the circuit bell = Circuit().h(0).cnot(0, 1)

È possibile visualizzare il circuito con questo comando:

print(bell)

Esegui il tuo circuito sul simulatore locale

Quindi, scegli il dispositivo quantistico su cui eseguire il circuito. LaAmazon BraketSDK viene fornito con un simulatore locale per la prototipazione e il test rapidi. Si consiglia di utilizzare il simulatore locale per circuiti più piccoli fino a 25qubits(a seconda dell'hardware locale).

Ecco come creare un'istanza del simulatore locale:

# instantiate the local simulator local_sim = LocalSimulator()

ed eseguire il circuito:

# run the circuit result = local_sim.run(bell, shots=1000).result() counts = result.measurement_counts print(counts)

Dovrebbe essere visualizzato quanto segue:

Counter({'11': 503, '00': 497})

Lo stato specifico della campana che hai preparato è una sovrapposizione uguale di |00> e |11> e troverai un valore approssimativamente uguale (fino ashotnoise) distribuzione di 00 e 11 come risultati di misurazione, come previsto.

Esegui il tuo circuito su un simulatore su richiesta

Amazon Braketfornisce anche l'accesso a un simulatore completamente gestito e ad alte prestazioni,SV1, per l'esecuzione di circuiti più grandi.SV1è un simulatore stato-vettore che consente la simulazione di circuiti quantistici fino a 34qubits. Puoi trovare ulteriori informazioni inSV1nellaDispositivi supportatie nella sezioneAWSConsole. Quando si eseguono attività suSV1(e viaTN1o qualsiasi QPU), i risultati dell'attività sono memorizzati in un bucket S3 nell'account. Se non si specifica un bucket, ilBraketSDK crea un bucket predefinitoamazon-braket-{region}-{accountID}per te. Per ulteriori informazioni, consultaGestione degli accessi alleAmazon Braket.

Nota

Inserisci il nome effettivo del bucket esistente dove mostra il seguente esempioexample-bucketcome nome bucket. Nomi dei bucketAmazon Braketiniziare sempre conamazon-braket-seguito da altri caratteri identificativi che aggiungi.

# get the account ID aws_account_id = boto3.client("sts").get_caller_identity()["Account"] # the name of the bucket my_bucket = "example-bucket" # the name of the folder in the bucket my_prefix = "simulation-output" s3_folder = (my_bucket, my_prefix)

Per far funzionare un circuitoSV1, è necessario fornire la posizione del bucket S3 precedentemente selezionato, come argomento posizionale nella.run()chiamata.

# choose the cloud-based on-demand simulator to run your circuit device = AwsDevice("arn:aws:braket:::device/quantum-simulator/amazon/sv1") # execute the circuit task = device.run(bell, s3_folder, shots=100) # display the results print(task.result().measurement_counts)

LaAmazon Braketconsole fornisce ulteriori informazioni sulla tua attività. Passare alla .Attivitànella console; la tua attività sarà in cima all'elenco. In alternativa, puoi cercare la tua attività utilizzando l'ID attività univoco o altri criteri.

Nota

Dopo 90 giorni,Amazon Braketrimuove automaticamente tutti gli ID attività e altri metadati associati alle attività. Per ulteriori informazioni, consultaConservazione dei dati.

Esecuzione su una QPU

conAmazon Braket, puoi eseguire il precedente esempio di circuito quantistico su un computer quantistico fisico, semplicemente cambiando una singola riga di codice.Amazon Braketfornisce l'accesso ai dispositivi QPU daIonQ,Rigetti, eD-Wave. Le informazioni sui diversi dispositivi e le finestre di disponibilità sono disponibili nella.Dispositivi supportatie nella sezioneAWSconsole sotto ildispositivischeda. Gli esempi seguenti mostrano come creare un'istanza di.Rigettidispositivo.

# choose the Rigetti hardware to run your circuit device = AwsDevice("arn:aws:braket:::device/qpu/rigetti/Aspen-11")

Scegli unIonQdispositivo con questo codice:

# choose the Ionq device to run your circuit device = AwsDevice("arn:aws:braket:::device/qpu/ionq/ionQdevice")

D-Wavei dispositivi sono ricotture quantistiche. Seguono un paradigma di programmazione diverso. La sezione successiva spiega i dispositivi di ricottura.

Quando esegui il tuo compito, ilAmazon BraketSDK esegue un sondaggio per un risultato, con un timeout predefinito di 5 giorni. Puoi inoltre modificare questa impostazione predefinita tramite la.poll_timeout_secondsparametro nel campo.run()come mostrato nell'esempio seguente. Tenere presente che se il timeout del polling è troppo breve, i risultati potrebbero non essere restituiti entro il tempo di polling, ad esempio quando una QPU non è disponibile e viene restituito un errore di timeout locale. È possibile riavviare il polling chiamando iltask.result()funzione.

# define task with 1 day polling timeout task = device.run(bell, s3_folder, poll_timeout_seconds=24*60*60) print(task.result().measurement_counts)