查看超参数
创建混合作业时,您可以定义算法所需的超参数,如学习率或步长。超参数值通常用于控制算法的各个方面,并且通常可以对其进行调整以优化算法的性能。要在 Braket 混合作业中使用超参数,您需要将其名称和值明确指定为字典。指定搜索最优值集时要测试的超参数值。使用超参数的第一步是设置超参数并将其定义为字典,这可以在以下代码中看到。
from braket.devices import Devices device_arn = Devices.Amazon.SV1 hyperparameters = {"shots": 1_000}
然后传递上面给出的代码片段中定义的超参数,以便在您选择的算法中使用。要运行以下代码示例,请在与超参数文件相同的路径中创建一个名为“src”的目录。在“src”目录中,添加 0_getting_started_papermill.ipynb
import time from braket.aws import AwsQuantumJob job = AwsQuantumJob.create( device=device_arn, source_module="src", entry_point="src.notebook_runner:run_notebook", input_data="src/0_Getting_started_papermill.ipynb", hyperparameters=hyperparameters, job_name=f"papermill-job-demo-{int(time.time())}", ) # Print job to record the ARN print(job)
要从混合作业脚本中访问您的超参数,请参阅 notebook_runner.pyload_jobs_hyperparams() 函数。要在混合作业脚本之外访问您的超参数,请运行以下代码。
from braket.aws import AwsQuantumJob # Get the job using the ARN job_arn = "arn:aws:braket:us-east-1:111122223333:job/5eabb790-d3ff-47cc-98ed-b4025e9e296f" # Replace with your job ARN job = AwsQuantumJob(arn=job_arn) # Access the hyperparameters job_metadata = job.metadata() hyperparameters = job_metadata.get("hyperParameters", {}) print(hyperparameters)
有关学习如何使用超参数的更多信息,请参阅带 Amazon Braket Hybrid Jobs 和 PennyLane 的 QAOA