mt.Callbacks.SavePyvistaPoints( on_step=1000, properties=['curvature'], filename=f'./fold_{fold_number}/train/data'), mt.Callbacks.LRFind(), mt.Callbacks.ReduceLROnValidPlateau() ] test_callbacks = [ mt.Callbacks.SavePyvistaPoints( on_batch=1, properties=['curvature'], filename=f'./fold_{fold_number}/test/data') ] trainer = mt.Trainer(model, optimizer, criterion, **config.trainer) start_time = time() trainer.fit_on_loader(train_loader, valid_dataloader=valid_loader, cycles=[ 100, ], callbacks=fit_callbacks, std_to_file=f'./fold_{fold_number}/train/log') end_time = time() train_time = end_time - start_time trainer.load_best_model(f'./fold_{fold_number}/Checkpoints')
time_log.append( dict(train_steps_per_epoch=len(train_loader), test_steps_per_epoch=len(test_loader))) fold_number += 1 if fold_number in [1]: print(f'runing fold {fold_number}/{5}') model = config.ml_model(*config.model.args, **config.model.kwargs) criterion = torch.nn.L1Loss(**config.criterion) test_callbacks = [] trainer = mt.Trainer(model, None, criterion, **config.trainer) trainer.load_best_model(f'./fold_{fold_number}/Checkpoints') start_time = time() trainer.test_on_loader( test_loader, std_to_file=f'./fold_{fold_number}/test/log', callbacks=test_callbacks) end_time = time() test_time = end_time - start_time del fold_number del model del criterion