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
實例。工作者會透過 gPRC 呼叫 Oracle
方法與中央 Oracle
實例進行通訊。
Trial
物件經常被用作通訊封包,透過 gPRC 呼叫在工作者 Tuner
實例和 Oracle
之間傳遞資訊。例如,Oracle.create_trial()
會傳回 Trial
物件,而 Oracle.end_trial()
會在其引數中接受 Trial
。
當相同的 Trial
實例透過 gRPC 呼叫時,會重建新的副本。當工作者 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
中未指定的超參數項目新增至搜尋空間。如果沒有,則會使用這些參數的預設值。預設值為 True。hyperparameters
中列出的超參數項目。預設值為 True。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()