if not args.val: trainer = Trainer(type=args.type, dataset=args.dataset, split=args.split, lr=args.lr, diter=args.diter, vis_screen=args.vis_screen, save_path=args.save_path, l1_coef=args.l1_coef, l2_coef=args.l2_coef, pre_trained_disc=args.pre_trained_disc, pre_trained_gen=args.pre_trained_gen, batch_size=args.batch_size, num_workers=args.num_workers, epochs=args.epochs) if not args.inference: trainer.train(args.cls) else: trainer.predict() else: validation = Validation(type=args.type, dataset=args.dataset, vis_screen=args.vis_screen, pre_trained_gen=args.pre_trained_gen, batch_size=args.batch_size, num_workers=args.num_workers, epochs=args.epochs) validation.validate()