TIF_E41253395/nbeats_hyperparameters.json

181 lines
6.3 KiB
JSON

{
"input_size": 7,
"output_size": 1,
"hidden_size": 512,
"n_stacks_trend": 3,
"n_stacks_seasonal": 4,
"blocks_per_stack": 3,
"theta_size_trend": 2,
"theta_size_season": 4,
"epochs": 300,
"batch_size": 32,
"learning_rate": 0.0001,
"loss_type": "mse",
"alpha": 0.1,
"neuron_function": "GELU(approximate='none')",
"device": "cuda",
"train_samples": 1971,
"validation_samples": 494,
"train_input_shape": [
1971,
7
],
"train_target_shape": [
1971,
1
],
"validation_input_shape": [
494,
7
],
"validation_target_shape": [
494,
1
],
"best_epoch": 300,
"best_validation_loss": 4.962215825798921e-05,
"time_complexity": {
"forward": "O(N * B * H^2)",
"training_step_approx": "O(N * B * H^2)",
"gradient_norm_calculation": "O(P)",
"N_batch_size": 32,
"B_total_blocks": 21,
"H_hidden_size": 512,
"I_input_size": 7,
"O_output_size": 1,
"total_parameters": 16750308
},
"big_o_empirical_test": {
"benchmark_batch_size": 8,
"device": "cuda",
"hidden_size_scaling": {
"expected_complexity": "O(H^2)",
"results": [
{
"hidden_size": 128,
"total_blocks": 21,
"batch_size": 8,
"time_seconds_median": 0.01987130008637905,
"time_milliseconds_median": 19.87130008637905,
"theoretical_relative_cost_vs_first": 1.0
},
{
"hidden_size": 256,
"total_blocks": 21,
"batch_size": 8,
"time_seconds_median": 0.01879219990223646,
"time_milliseconds_median": 18.79219990223646,
"theoretical_relative_cost_vs_first": 4.0
},
{
"hidden_size": 512,
"total_blocks": 21,
"batch_size": 8,
"time_seconds_median": 0.019390400033444166,
"time_milliseconds_median": 19.390400033444166,
"theoretical_relative_cost_vs_first": 16.0
}
],
"log_log_fit": {
"exponent": -0.017671848609463185,
"intercept": -3.847262919698698,
"r2": 0.1915588923022309
}
},
"block_scaling": {
"expected_complexity": "O(B)",
"results": [
{
"blocks_per_stack": 10,
"total_blocks": 70,
"hidden_size": 512,
"batch_size": 8,
"time_seconds_median": 0.06300389999523759,
"time_milliseconds_median": 63.00389999523759,
"theoretical_relative_cost_vs_first": 1.0
},
{
"blocks_per_stack": 20,
"total_blocks": 140,
"hidden_size": 512,
"batch_size": 8,
"time_seconds_median": 0.12464780011214316,
"time_milliseconds_median": 124.64780011214316,
"theoretical_relative_cost_vs_first": 2.0
},
{
"blocks_per_stack": 30,
"total_blocks": 210,
"hidden_size": 512,
"batch_size": 8,
"time_seconds_median": 0.18604329996742308,
"time_milliseconds_median": 186.04329996742308,
"theoretical_relative_cost_vs_first": 3.0
}
],
"log_log_fit": {
"exponent": 0.9854571097543345,
"intercept": -6.951476412790202,
"r2": 0.9999991876654754
}
},
"input_batch_scaling": {
"expected_complexity": "O(N)",
"results": [
{
"batch_size": 1,
"hidden_size": 512,
"total_blocks": 21,
"time_seconds_median": 0.01942260004580021,
"time_milliseconds_median": 19.42260004580021,
"theoretical_relative_cost_vs_first": 1.0
},
{
"batch_size": 2,
"hidden_size": 512,
"total_blocks": 21,
"time_seconds_median": 0.019125699996948242,
"time_milliseconds_median": 19.125699996948242,
"theoretical_relative_cost_vs_first": 2.0
},
{
"batch_size": 4,
"hidden_size": 512,
"total_blocks": 21,
"time_seconds_median": 0.018762200139462948,
"time_milliseconds_median": 18.762200139462948,
"theoretical_relative_cost_vs_first": 4.0
},
{
"batch_size": 8,
"hidden_size": 512,
"total_blocks": 21,
"time_seconds_median": 0.01835409994237125,
"time_milliseconds_median": 18.35409994237125,
"theoretical_relative_cost_vs_first": 8.0
},
{
"batch_size": 16,
"hidden_size": 512,
"total_blocks": 21,
"time_seconds_median": 0.019410799955949187,
"time_milliseconds_median": 19.410799955949187,
"theoretical_relative_cost_vs_first": 16.0
},
{
"batch_size": 32,
"hidden_size": 512,
"total_blocks": 21,
"time_seconds_median": 0.01993660000152886,
"time_milliseconds_median": 19.93660000152886,
"theoretical_relative_cost_vs_first": 32.0
}
],
"log_log_fit": {
"exponent": 0.006306562161759777,
"intercept": -3.965757991421921,
"r2": 0.07918679416134755
}
}
}
}