Verwendung von Hyperparametern - Amazon Braket

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verwendung von Hyperparametern

Sie können Hyperparameter definieren, die Ihr Algorithmus benötigt, z. B. die Lernrate oder die Schrittgröße, wenn Sie einen Hybrid-Job erstellen. Hyperparameterwerte werden in der Regel zur Steuerung verschiedener Aspekte des Algorithmus verwendet und können häufig angepasst werden, um die Leistung des Algorithmus zu optimieren. Um Hyperparameter in einem Braket-Hybrid-Job zu verwenden, müssen Sie ihre Namen und Werte explizit als Wörterbuch angeben. Beachten Sie, dass die Werte vom Datentyp „Zeichenfolge“ sein müssen. Sie geben die Hyperparameterwerte an, die Sie testen möchten, wenn Sie nach dem optimalen Wertesatz suchen. Der erste Schritt zur Verwendung von Hyperparametern besteht darin, die Hyperparameter als Wörterbuch einzurichten und zu definieren, was im folgenden Code zu sehen ist:

#defining the number of qubits used n_qubits = 8 #defining the number of layers used n_layers = 10 #defining the number of iterations used for your optimization algorithm n_iterations = 10 hyperparams = { "n_qubits": n_qubits, "n_layers": n_layers, "n_iterations": n_iterations }

Anschließend würden Sie die im oben angegebenen Codeausschnitt definierten Hyperparameter zur Verwendung im Algorithmus Ihrer Wahl mit etwas übergeben, das wie folgt aussieht:

import time from braket.aws import AwsQuantumJob #Name your job so that it can be later identified job_name = f"qcbm-gaussian-training-{n_qubits}-{n_layers}-" + str(int(time.time())) job = AwsQuantumJob.create( #Run this hybrid job on the SV1 simulator device="arn:aws:braket:::device/quantum-simulator/amazon/sv1", #The directory or single file containing the code to run. source_module="qcbm", #The main script or function the job will run. entry_point="qcbm.qcbm_job:main", #Set the job_name job_name=job_name, #Set the hyperparameters hyperparameters=hyperparams, #Define the file that contains the input data input_data="data.npy", # or input_data=s3_path # wait_until_complete=False, )

Die Hyperparameter würden dann mit dem folgenden Code in das Hybrid-Job-Skript geladen:

import json import os #Load the Hybrid Job hyperparameters hp_file = os.environ["AMZN_BRAKET_HP_FILE"] with open(hp_file, "r") as f: hyperparams = json.load(f)
Anmerkung

Weitere Informationen darüber, wie Sie Informationen wie die Eingabedaten und den Geräte-ARN an das Hybrid-Job-Skript übergeben, finden Sie auf dieser Github-Seite.

Einige Anleitungen, die sehr nützlich sind, um mehr über die Verwendung von Hyperparametern zu erfahren, finden Sie in den QAOATutorials mit Amazon Braket Hybrid Jobs PennyLane und Quantum Machine Learning in Amazon Braket Hybrid Jobs.