Files
2025-02-06 12:15:28 +08:00

63 lines
4.5 KiB
Python

import argparse
class Options():
def __init__(self):
self.parser=argparse.ArgumentParser()
# data loader related
self.parser.add_argument('--data_root', type=str, default='../MT-Dataset/images', help='path of data')
self.parser.add_argument('--phase', type=str, default='train', help='phase for train or test')
self.parser.add_argument('--input_dim', type=int, default=3, help='input_dim')
self.parser.add_argument('--output_dim', type=int, default=3, help='output_dim')
self.parser.add_argument('--semantic_dim', type=int, default=10, help='semantic_dim')
self.parser.add_argument('--batch_size', type=int, default=1, help='batch size')
self.parser.add_argument('--resize_size', type=int, default=286, help='resized image size for training')
self.parser.add_argument('--crop_size', type=int, default=256, help='cropped image size for training')
self.parser.add_argument('--flip', type=bool, default=True, help='specified if flipping')
self.parser.add_argument('--nThreads', type=int, default=4, help='# of threads for data loader')
# log related
self.parser.add_argument('--name', type=str, default='CSD-MT', help='folder name to save outputs')
self.parser.add_argument('--log_dir', type=str, default='./logs', help='path for saving display results')
self.parser.add_argument('--img_dir', type=str, default='./imgs', help='path for saving result images')
self.parser.add_argument('--model_dir', type=str, default='./weights', help='path for saving result models')
self.parser.add_argument('--log_freq', type=int, default=10, help='freq (iteration) of log')
self.parser.add_argument('--img_save_freq', type=int, default=1, help='freq (epoch) of saving images')
self.parser.add_argument('--model_save_freq', type=int, default=50, help='freq (epoch) of saving models')
# weight
self.parser.add_argument('--weight_self_recL1', type=float, default=10, help='weight_self_recL1')
self.parser.add_argument('--weight_cycleL1', type=float, default=10, help='weight_cycleL1')
self.parser.add_argument('--weight_back', type=float, default=5, help='weight_back')
self.parser.add_argument('--weight_contrastive', type=float, default=1, help='weight_contrastive')
self.parser.add_argument('--weight_identity', type=float, default=0.1, help='weight_identity')
self.parser.add_argument('--weight_semantic', type=float, default=0, help='weight_semantic')
self.parser.add_argument('--weight_adv', type=float, default=2, help='weight_adv')
self.parser.add_argument('--weight_corr', type=float, default=1, help='weight_corr')
# training related
# discriminator
self.parser.add_argument('--dis_scale', type=int, default=3, help='scale of discriminator')
self.parser.add_argument('--dis_norm', type=str, default='None',
help='normalization layer in discriminator [None, Instance]')
self.parser.add_argument('--dis_sn', type=bool, default=True,
help='use spectral normalization in discriminator')
# generator
self.parser.add_argument('--G_sn', type=bool,default=True, help='use spectral normalization in generator')
self.parser.add_argument('--gan_mode', type=str, default='original', help='gan_mode')
self.parser.add_argument('--gpu', type=int, default=0, help='gpu: e.g. 0 ,use -1 for CPU')
self.parser.add_argument('--lr', type=float, default=0.0002, help='learning rate of discriminator')
self.parser.add_argument('--lr_policy', type=str, default='lambda', help='type of learn rate decay')
self.parser.add_argument('--init_type', type=str, default='normal', help='init_type [normal, xavier, kaiming, orthogonal]')
self.parser.add_argument('--n_ep', type=int, default=500, help='number of epochs')
self.parser.add_argument('--n_ep_decay', type=int, default=250, help='epoch start decay learning rate, set -1 if no decay')
self.parser.add_argument('--resume', type=str, default=None, help='specified the dir of saved models for resume the training')
def parse(self):
self.opt = self.parser.parse_args()
args = vars(self.opt)
print('\n--- load options ---')
for name, value in sorted(args.items()):
print('%s: %s' % (str(name), str(value)))
return self.opt