"shuffle": False, "num_workers": NUM_WORKERS, "flatten_inputs": True, "flatten_targets": True, "multi_target": True, } test_loader = get_coordinate_trajectory_dataset(**test_dataset_args) # ########## SET UP MODEL ########## # model = FullyConnectedClassifier(**network_args).to(DEVICE) model.load_state_dict( torch.load( os.path.join(MODEL_LOAD_PATH, "fold_" + str(fold) + ".weights"))) optimizer = optim.Adam(model.parameters(), lr=LEARNING_RATE, weight_decay=WEIGHT_DECAY) loss_function = nn.BCELoss() # ########## EVALUATE ########## # test_args = { "model": model, "device": DEVICE, "test_loader": test_loader,
"departure_cameras_path": DEPARTURE_CAMERA_PATH, "targets_path": TARGETS_PATH, "fold": fold, "phase": "test", "batch_size": BATCH_SIZE, "shuffle": False, "num_workers": NUM_WORKERS, "flatten_inputs": False, "multi_target": True, } test_loader = get_coordinate_trajectory_dataset(**test_dataset_args) # ########## SET UP MODEL ########## # encoder = RecurrentEncoder(**encoder_args).to(DEVICE) decoder = FullyConnectedClassifier(**decoder_args).to(DEVICE) encoder.load_state_dict( torch.load( os.path.join(MODEL_LOAD_PATH, "encoder_fold_" + str(fold) + ".weights"))) decoder.load_state_dict( torch.load( os.path.join(MODEL_LOAD_PATH, "decoder_fold_" + str(fold) + ".weights"))) loss_function = nn.BCELoss() # ########## EVALUATE ########## # test_args = { "encoder": encoder,
"departure_cameras_path": CROSS_VALIDATION_DEPARTURE_CAMERAS_PATH, "targets_path": CROSS_VALIDATION_WHEN_TARGETS_PATH, "fold": fold, "phase": "test", "batch_size": BATCH_SIZE, "shuffle": False, "num_workers": NUM_WORKERS, "flatten_inputs": True, "flatten_targets": True, } train_loader = get_coordinate_trajectory_dataset(**train_dataset_args) val_loader = get_coordinate_trajectory_dataset(**val_dataset_args) test_loader = get_coordinate_trajectory_dataset(**test_dataset_args) # ########## SET UP MODEL ########## # model = FullyConnectedClassifier(**network_args).to(DEVICE) print(fold, model) optimizer = optim.Adam(model.parameters(), lr=LEARNING_RATE, weight_decay=WEIGHT_DECAY) loss_function = nn.BCELoss() # ########## TRAIN AND EVALUATE ########## # best_ap = 0 for epoch in range(NUM_EPOCHS): print("----------- EPOCH " + str(epoch) + " -----------") trainer_args = { "model": model, "device": DEVICE,
"targets_path": CROSS_VALIDATION_WHICH_TARGETS_PATH, "fold": fold, "phase": "test", "batch_size": BATCH_SIZE, "shuffle": False, "num_workers": NUM_WORKERS, "flatten_inputs": False, } train_loader = get_coordinate_trajectory_dataset(**train_dataset_args) val_loader = get_coordinate_trajectory_dataset(**val_dataset_args) test_loader = get_coordinate_trajectory_dataset(**test_dataset_args) # ########## SET UP MODEL ########## # encoder = ConvolutionalEncoder(**encoder_args).to(DEVICE) decoder = FullyConnectedClassifier(**decoder_args).to(DEVICE) params = list(encoder.parameters()) + list(decoder.parameters()) optimizer = optim.Adam(params, lr=LEARNING_RATE, weight_decay=WEIGHT_DECAY) loss_function = nn.BCELoss() # ########## TRAIN AND EVALUATE ########## # best_ap = 0 for epoch in range(NUM_EPOCHS): print("----------- EPOCH " + str(epoch) + " -----------") trainer_args = { "encoder": encoder, "decoder": decoder, "device": DEVICE,