使用超參數 - Amazon Braket

了解量子計算的基礎 AWS!註冊 Amazon Braket 數位學習計劃,並在完成一系列學習課程和數位評估後獲得自己的數位徽章。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用超參數

建立混合式工作時,您可以定義演算法所需的超參數,例如學習速率或步數大小。超參數值通常用於控制演算法的各個層面,而且通常可以調整以最佳化演算法的效能。若要在 Braket 混合工作中使用超參數,您需要明確指定其名稱和值作為字典。請注意,這些值必須是字符串數據類型。搜尋最佳值集時,您可以指定要測試的超參數值。使用超參數的第一個步驟是將超參數設定並定義為字典,可在下列程式碼中看到:

#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 }

然後,您將傳遞上面給出的代碼片段中定義的超參數,以便在您選擇的算法中使用,並具有如下所示的內容:

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, )
注意

若要進一步瞭解輸入資料,請參閱「入」區段。

然後,超參數會使用下列程式碼載入混合式工作指令碼中:

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)
注意

有關如何將輸入數據和設備 arn 等信息傳遞給混合作業腳本的更多信息,請參閱此 github 頁面

QAOA 在 Amazon Braket 混合任務教程中提供了一些對於學習如何使用超參數非常有用的指南與 Amazon Braket 混合任務 PennyLane和量子機器學習