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