| from .base_options import BaseOptions | |
| class TrainOptions(BaseOptions): | |
| def initialize(self, parser): | |
| BaseOptions.initialize(self, parser) | |
| parser.add_argument('--display_freq', type=int, default=100, | |
| help='frequency of showing training results on screen') | |
| parser.add_argument('--print_freq', type=int, default=100, | |
| help='frequency of showing training results on console') | |
| parser.add_argument('--save_latest_freq', type=int, default=5000, help='frequency of saving the latest results') | |
| parser.add_argument('--save_epoch_freq', type=int, default=10, | |
| help='frequency of saving checkpoints at the end of epochs') | |
| parser.add_argument('--no_html', action='store_true', | |
| help='do not save intermediate training results to [opt.checkpoints_dir]/[opt.name]/web/') | |
| parser.add_argument('--debug', action='store_true', help='only do one epoch and displays at each iteration') | |
| parser.add_argument('--tf_log', action='store_true', | |
| help='if specified, use tensorboard logging. Requires tensorflow installed') | |
| parser.add_argument('--continue_train', action='store_true', help='continue training: load the latest model') | |
| parser.add_argument('--which_epoch', type=str, default='latest', | |
| help='which epoch to load? set to latest to use latest cached model') | |
| parser.add_argument('--niter', type=int, default=50, | |
| help='# of iter at starting learning rate. This is NOT the total #epochs. Totla #epochs is niter + niter_decay') | |
| parser.add_argument('--niter_decay', type=int, default=0, | |
| help='# of iter to linearly decay learning rate to zero') | |
| parser.add_argument('--optimizer', type=str, default='adam') | |
| parser.add_argument('--beta1', type=float, default=0.5, help='momentum term of adam') | |
| parser.add_argument('--beta2', type=float, default=0.999, help='momentum term of adam') | |
| parser.add_argument('--lr', type=float, default=0.0002, help='initial learning rate for adam') | |
| parser.add_argument('--D_steps_per_G', type=int, default=1, | |
| help='number of discriminator iterations per generator iterations.') | |
| parser.add_argument('--ndf', type=int, default=64, help='# of discrim filters in first conv layer') | |
| parser.add_argument('--lambda_feat', type=float, default=10.0, help='weight for feature matching loss') | |
| parser.add_argument('--lambda_vgg', type=float, default=10.0, help='weight for vgg loss') | |
| parser.add_argument('--no_ganFeat_loss', action='store_true', | |
| help='if specified, do *not* use discriminator feature matching loss') | |
| parser.add_argument('--no_vgg_loss', action='store_true', | |
| help='if specified, do *not* use VGG feature matching loss') | |
| parser.add_argument('--gan_mode', type=str, default='hinge', help='(ls|original|hinge)') | |
| parser.add_argument('--netD', type=str, | |
| help='(NLayerDiscriminator|MultiscaleDiscriminator|swin_transformer_conditional_discriminator)') | |
| parser.add_argument('--no_TTUR', action='store_true', help='Use TTUR training scheme') | |
| parser.add_argument('--lambda_kld', type=float, default=0.05) | |
| parser.add_argument('--lambda_z_reg', type=float, default=0.0, help='weight for latent z-vector regularization') | |
| parser.add_argument('--lambda_night_content', type=float, default=0.0, | |
| help='weight for VGG content loss specifically at night') | |
| self.isTrain = True | |
| return parser | |