'cuda', batch_size=batch_size, save_path=base_path) data_path_root_test = pathlib.Path('test/') test_anno = pd.DataFrame({ 'id': [f'pic{num:06}' for num in range(10699)], 'category': [0 for num in range(10699)] }) test_dataset = MyDataset(data_dir=data_path_root_test, data_anno=test_anno, phase='train') test_dataloader = DataLoader(test_dataset, batch_size=batch_size, shuffle=False, num_workers=0) all_preds_list = [] for i in range(7): all_preds_list.append( trainer.predict(test_dataloader, labels=True).flatten()) print((all_preds_list[0] != all_preds_list[1]).mean()) val, count = mode(all_preds_list, axis=0) preds = val.ravel().tolist() submit = pd.DataFrame({ 'id': [f'pic{num:06}' for num in range(10699)], 'category': [TRAFFIC_LABELS[pred] for pred in preds] }) submit.to_csv(base_path / 'submit_tta.csv', index=False) print('Done')
criterion = nn.CrossEntropyLoss() # Scheduler scheduler = torch.optim.lr_scheduler.OneCycleLR(optimizer, max_lr=1.5 * 1e-3, steps_per_epoch=len(train_dataloader), epochs=num_epochs) # Training # optim_gen = lambda parameters, lr: SGD(parameters, lr=lr) # find_lr(model, optim_gen, min_lr, max_lr, num_epochs, train_dataloader, val_dataloader, criterion, device, batch_size, # batches_per_epoch, comet_experiment) save_path = pathlib.Path('models') / name save_path.mkdir(parents=True, exist_ok=True) trainer = Trainer(model, train_dataloader, val_dataloader, criterion, optimizer, None, device, TRAFFIC_LABELS, num_epochs, batch_size, batches_per_epoch, comet_experiment, save_path) try: trainer.fit() except KeyboardInterrupt: pass # Prediction data_path_root_test = pathlib.Path('test/') test_anno = pd.DataFrame({'id': [f'pic{num:06}' for num in range(10699)]}) test_dataset = MyDataset(data_dir=data_path_root_test, data_anno=test_anno, phase='test') test_dataloader = DataLoader(test_dataset, batch_size=batch_size, shuffle=False, num_workers=0) preds = trainer.predict(test_dataloader) submit = pd.DataFrame({'id': [f'pic{num:06}' for num in range(10699)], 'category': [TRAFFIC_LABELS[pred] for pred in preds]}) submit.to_csv(save_path / 'submit.csv') print('Done')