train_start = '2015-01-01 01:30:00' train_end = '2019-03-01 15:00:00' cv_start = '2019-03-02 01:30:00' cv_end = '2019-12-01 15:00:00' test_start = '2019-12-02 01:30:00' test_end = '2021-04-20 15:00:00' data_processor = DataProcessor() train_loader = data_processor.get_data(train_start, train_end) cv_loader = data_processor.get_data(cv_start, cv_end) test_loader = data_processor.get_data(test_start, test_end) model = CNN(transform='GAF') model = model.double() loss_fn = torch.nn.CrossEntropyLoss() optimizer = torch.optim.Adam(model.parameters(), lr=1e-3) max_epochs = 100 accuracy_list = [] for t in range(max_epochs): print(f"Epoch {t+1}\n-------------------------------") train_loop(train_loader, model, loss_fn, optimizer) acc = test_loop(cv_loader, model, loss_fn) accuracy_list.append(acc) if len(accuracy_list) > 8: print(accuracy_list[-8:]) if len(accuracy_list) > 8 and max(
if __name__ == "__main__": ip = IndexProcessor() data, y = ip.get_data() images = ip.apply_gaf(data) print(images.shape) print(y.shape) train_loader, cv_loader, test_loader = ip.split_data(images, y) use_gpu = torch.cuda.is_available() print('gpu:', use_gpu) if use_gpu: model = CNN(transform='GAF') model = model.double().cuda() loss_fn = torch.nn.CrossEntropyLoss().cuda() optimizer = torch.optim.Adam(model.parameters(), lr=1e-3) max_epochs = 100 accuracy_list = [] for t in range(max_epochs): print(f"Epoch {t+1}\n-------------------------------") train_loop(train_loader, model, loss_fn, optimizer) acc = test_loop(cv_loader, model, loss_fn) accuracy_list.append(acc) if len(accuracy_list) > 10: print(accuracy_list[-10:]) if len(accuracy_list) > 10 and max(