Fixed small summary with model architectures until now

This commit is contained in:
Victor Mylle
2023-11-30 21:53:35 +00:00
parent eba10c8f83
commit 120b6aa5bd
23 changed files with 402 additions and 185 deletions

View File

@@ -60,11 +60,16 @@ quantile_lists = [
quantiles_range = DiscreteParameterRange("general/quantiles", values=quantile_lists)
#### Data Config ####
quarter_range = DiscreteParameterRange("data_features/quarter", values=[True, False])
day_of_week_range = DiscreteParameterRange("data_features/day_of_week", values=[True, False])
quarter_range = DiscreteParameterRange("data_features/quarter", values=[True])
day_of_week_range = DiscreteParameterRange("data_features/day_of_week", values=[True])
load_forecast_range = DiscreteParameterRange("data_features/load_forecast", values=[True, False])
load_history_range = DiscreteParameterRange("data_features/load_history", values=[True, False])
load_forecast_range = DiscreteParameterRange("data_features/load_forecast", values=[True])
learning_rate = DiscreteParameterRange("model_parameters/learning_rate", values=[0.00001, 0.00005, 0.0001, 0.0005, 0.001])
hidden_size = DiscreteParameterRange("model_parameters/hidden_size", values=[64, 128, 256, 512, 1024, 2048])
num_layers = DiscreteParameterRange("model_parameters/num_layers", values=[1, 2, 3, 4, 5, 6])
dropout = DiscreteParameterRange("model_parameters/dropout", values=[0.0, 0.1, 0.2, 0.3, 0.4, 0.5])
time_feature_embedding = DiscreteParameterRange("model_parameters/time_feature_embedding", values=[1,2,3,4,5,6])
### OPTIMIZER OBJECT ###
optimizer = HyperParameterOptimizer(
@@ -75,24 +80,27 @@ optimizer = HyperParameterOptimizer(
execution_queue=execution_queue,
max_number_of_concurrent_tasks=1,
optimizer_class=aSearchStrategy,
max_iteration_per_job=50,
max_iteration_per_job=300,
# save_top_k_tasks_only=3,
pool_period_min=0.2,
total_max_jobs=15,
pool_period_min=1,
total_max_jobs=40,
hyper_parameters=[
quantiles_range,
quarter_range,
day_of_week_range,
load_forecast_range,
load_history_range
learning_rate,
hidden_size,
num_layers,
dropout,
time_feature_embedding
]
)
task.execute_remotely(queue_name="hypertuning", exit_process=True)
optimizer.set_report_period(0.2)
optimizer.set_report_period(1)
def job_complete_callback(
job_id, # type: str
@@ -106,9 +114,9 @@ def job_complete_callback(
print('WOOT WOOT we broke the record! Objective reached {}'.format(objective_value))
optimizer.start(job_complete_callback=job_complete_callback)
optimizer.set_time_limit(in_minutes=120.0)
optimizer.set_time_limit(in_minutes=120.0*8)
optimizer.wait()
top_exp = optimizer.get_top_experiments(top_k=3)
top_exp = optimizer.get_top_experiments(top_k=5)
print([t.id for t in top_exp])
# make sure background optimization stopped
optimizer.stop()