Open sun-yitao opened 5 years ago
The validation_set_size by default is set to 1000, and that 1000 comes from the initial training data you provide. So because (TRAIN_SET_SIZE * .75) == 2250, that means that only 750 is available for the validation portion of the data which results in an error. So you might need to decrease the number you provide to train_set_size 🤔
I'm also having issues with that variable and the amount provided to train_set_size. Hope it works though!
I have tried train_set_size = TRAIN_SET_SIZE-1000, but it doesn't work. From my understanding of build_features.py, the 1000 validation images are sampled from the remaining images not used in training:
def sample_validation_set(data):
val_seed_size = len(data["X_val_seed"])
ix = np.random.choice(range(val_seed_size), min(val_seed_size, 1000), False)
X_val = data["X_val_seed"][ix].copy()
y_val = data["y_val_seed"][ix].copy()
return X_val, y_val
The error seems to come from deepaugment.py _do_initial_training method:
self.notebook.record(
-1, ["first", 0.0, "first", 0.0, "first", 0.0, 0.0], 1, None, history
)
The trial hyperparams list passed to the notebook object is len(7) but the notebook.record method will attempt to access all the way until the 19th index:
new_df["E_aug1_type"] = trial_hyperparams[16]
new_df["E_aug1_magnitude"] = trial_hyperparams[17]
new_df["E_aug2_type"] = trial_hyperparams[18]
new_df["E_aug2_magnitude"] = trial_hyperparams[19]
Hence the list index out of range error, when I change the _do_initial_training to the following then it won't throw an error
self.notebook.record(
-1, ["first", 0.0] * 10, 1, None, history
)
When setting child_first_train_epochs (I tried with 15 and 20), the following error occurs after training 'child_first_train_epochs' number of epochs:
Here is my config used:
Where TRAIN_SET_SIZE is a custom dataset of 3000 examples The code runs fine if I omit the child_first_train_epochs setting