transforms.Resize(args.resize))

    if args.train:
        train_set = ImageDataset(args.train_manifest, train_transforms)
        train_loader = DataLoader(train_set,
                                  batch_size=args.batch_size,
                                  shuffle=True,
                                  num_workers=args.num_workers)

        eval_set = ImageDataset(args.val_manifest, test_transforms)
        eval_loader = DataLoader(eval_set,
                                 batch_size=args.batch_size,
                                 shuffle=False,
                                 num_workers=args.num_workers)

        logger.add_general_data(model, train_loader)
        train(model, criterion, optimizer, train_loader, eval_loader,
              args.epochs, lr_scheduler, args.gpu)
        print_training_summary(logger, model.name)
    else:
        training_ = torch.load(args.model_path)
        model.load_state_dict(training_["model"])
        print(
            f"Loaded model {model.name} trained for {training_['epoch']} epochs. Results: {training_['result']}"
        )

        test_set = ImageDataset(args.test_manifest, test_transforms)
        test_loader = DataLoader(test_set,
                                 batch_size=args.batch_size,
                                 shuffle=False,
                                 num_workers=4)