本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用超參數
您可以在建立混合任務時定義演算法所需的超參數,例如學習速率或步進大小。超參數值通常用於控制演算法的各個層面,並且通常可以進行調校以最佳化演算法的效能。若要在 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 混合任務教學中的 QAOA 和 Amazon Braket 混合任務以及 PennyLane