I got an issue while training M4 Monthly dataset w...
# neural-forecast
g
I got an issue while training M4 Monthly dataset with default nhits config : raise ValueError("batch_size should be a positive integer value, " ValueError: batch_size should be a positive integer value, but got batch_size=7.0 here hyperparameter config nhits_config = { "input_size": tune.choice([horizon * x for x in [1, 2, 3, 4, 5]]), "h": None, "n_pool_kernel_size": tune.choice( [[2, 2, 1], 3 * [1], 3 * [2], 3 * [4], [8, 4, 1], [16, 8, 1]] ), "step_size":tune.choice([1, horizon]), "n_freq_downsample": tune.choice( [ [168, 24, 1], [24, 12, 1], [180, 60, 1], [60, 8, 1], [40, 20, 1], [1, 1, 1], ] ), "learning_rate": tune.loguniform(1e-4, 1e-1), "scaler_type": tune.choice([None, "robust", "standard"]), "max_steps": tune.quniform(lower=500, upper=1500, q=100), "batch_size": tune.qloguniform( lower=5, upper=9, base=2, q=1 ), # [32, 64, 128, 256] "windows_batch_size": tune.qloguniform( lower=7, upper=10, base=2, q=1 ), # [128, 256, 512, 1024] "loss": None, "random_seed": tune.randint(lower=1, upper=20), } it seems that i am not the only one : https://github.com/Nixtla/neuralforecast/issues/716 Any idea on what could create this issue ?
c
From the error it seems that
qloguniform
you are using for
batch_size
is returning a float (7.0), but it should be an integer (7). Can you try with a different function, like
quniformint
?
We will add a parsing function so that the float is automatically parsed to integer.
g
ok it works if we force these values as int. Thank you