test_dataset = CelebA(args.data_path, args.attr_path, args.img_size, 'test', args.attrs) if args.data == 'CelebA-HQ': from data import CelebA_HQ test_dataset = CelebA_HQ(args.data_path, args.attr_path, args.image_list_path, args.img_size, 'test', args.attrs) os.makedirs(output_path, exist_ok=True) test_dataloader = data.DataLoader( test_dataset, batch_size=1, num_workers=args.num_workers, shuffle=False, drop_last=False ) if args.num_test is None: print('Testing images:', len(test_dataset)) else: print('Testing images:', min(len(test_dataset), args.num_test)) attgan = AttGAN(args) attgan.load(find_model(join('output', args.experiment_name, 'checkpoint'), args.load_epoch)) progressbar = Progressbar() attgan.eval() for idx, (img_a, att_a) in enumerate(test_dataloader): if args.num_test is not None and idx == args.num_test: break img_a = img_a.cuda() if args.gpu else img_a att_a = att_a.cuda() if args.gpu else att_a att_a = att_a.type(torch.float) att_b_list = [att_a]
from os.path import join from attgan import AttGAN def parse(args=None): parser = argparse.ArgumentParser() parser.add_argument('--experiment_name', dest='experiment_name', type=str, default='06-36AM on March 09, 2021') parser.add_argument('--load_epoch', dest='load_epoch', type=int, default=0) parser.add_argument('--gpu', dest='gpu', type=bool, default=False) return parser.parse_args(args) args_ = parse() with open(join('output', args_.experiment_name, 'setting.txt'), 'r') as f: args = json.load(f, object_hook=lambda d: argparse.Namespace(**d)) args.gpu = args_.gpu args.experiment_name = args_.experiment_name args.load_epoch = args_.load_epoch args.betas = (args.beta1, args.beta2) model = AttGAN(args) model.load( os.path.join('output', args.experiment_name, 'checkpoint', 'weights.' + str(args.load_epoch) + '.pth')) model.saveG_D(os.path.join('output', args.experiment_name, 'checkpoint', 'weights_unzip.{:d}.pth'.format(args.load_epoch)), flag='unzip')