Oracle
類別keras_tuner.Oracle(
objective=None,
max_trials=None,
hyperparameters=None,
allow_new_entries=True,
tune_new_entries=True,
seed=None,
max_retries_per_trial=0,
max_consecutive_failed_trials=3,
)
實作超參數優化演算法。
在平行調整設定中,只有一個 Oracle
實例。工作器會透過 gRPC 呼叫與集中式 Oracle
實例通訊,以呼叫 Oracle
方法。
Trial
物件經常被用作透過 gRPC 呼叫傳遞工作器 Tuner
實例和 Oracle
之間資訊的通訊封包。例如,Oracle.create_trial()
會傳回 Trial
物件,而 Oracle.end_trial()
則接受 Trial
作為其引數。
當 Trial
實例透過 gRPC 呼叫傳遞時,會重建相同 Trial
實例的新副本。當工作器 Tuner
中的 Trial
物件透過呼叫 Oracle.end_trial()
傳回 Oracle
時,它們的變更會與 Oracle
中的原始副本同步。
引數
keras_tuner.Objective
實例或 keras_tuner.Objective
和字串的清單。如果是字串,則會推斷出最佳化的方向(最小值或最大值)。如果是 keras_tuner.Objective
的清單,我們將最小化所有目標的總和以最小化減去所有目標的總和以最大化。當 Tuner.run_trial()
或 HyperModel.fit()
傳回單一浮點數作為要最小化的目標時,objective
引數是可選的。max_trial
模型之前中斷搜尋。HyperParameters
實例。可用於覆寫(或預先註冊)搜尋空間中的超參數。hyperparameters
中指定的超參數項目添加到搜索空間。如果為 False,則將使用這些參數的默認值。默認為 True。hyperparameters
中未列出的超參數項目。默認為 True。Trial
崩潰或結果無效,則重試 Trial
的最大次數。Trial
的最大次數。達到此數字後,搜索將停止。當所有重試均未成功時,Trial
將被標記為失敗。wrapped_func
函式keras_tuner.Oracle.create_trial()
wrapped_func
函式keras_tuner.Oracle.end_trial()
get_best_trials
方法Oracle.get_best_trials(num_trials=1)
返回最佳的 Trial
。
get_state
方法Oracle.get_state()
返回此物件的當前狀態。
此方法在 save
期間被呼叫。
返回
一個可序列化物件的字典作為狀態。
set_state
方法Oracle.set_state(state)
設定此物件的當前狀態。
此方法在 reload
期間被呼叫。
引數
score_trial
方法Oracle.score_trial(trial)
為已完成的 Trial
評分。
可以在子類別中覆寫此方法,以便為一組超參數值提供分數。此方法在已完成的 Trial
上從 end_trial
呼叫。
引數
Trial
物件。populate_space
方法Oracle.populate_space(trial_id)
使用試驗值填充超參數空間。
應該在子類別中覆寫此方法,並在 create_trial
中呼叫此方法,以便使用值填充超參數空間。
引數
返回
一個包含鍵值 "values" 和 "status" 的字典,其中 "values" 是參數名稱到建議值的映射,而 "status" 應該是 "RUNNING"(試驗可以正常開始)、"IDLE"(oracle 正在等待某些東西且無法建立試驗)或 "STOPPED"(oracle 已完成搜索且不應建立新的試驗)其中之一。
wrapped_func
函式keras_tuner.Oracle.update_trial()