Beispiel #1
0
def main(args):
	lr_train_patch_size = args.patch_size
	layers_to_extract = [5, 9]
	hr_train_patch_size = lr_train_patch_size * args.scale
	if args.model == 'rdn':
		model = RDN(arch_params={'C':4, 'D':3, 'G':64, 'G0':64, 'T':10, 'x':args.scale}, patch_size=lr_train_patch_size)
	else: 
		model = RRDN(arch_params={'C':4, 'D':3, 'G':64, 'G0':64, 'T':10, 'x':args.scale}, patch_size=lr_train_patch_size)
	f_ext = Cut_VGG19(patch_size=hr_train_patch_size, layers_to_extract=layers_to_extract)
	discr = Discriminator(patch_size=hr_train_patch_size, kernel_size=3)
	loss_weights = {
   		'generator': 0.0,
    	'feature_extractor': 0.0833,
    	'discriminator': 0.01,
	}

	trainer = Trainer(
	    generator=model,
	    discriminator=discr,
	    feature_extractor=f_ext,
	    lr_train_dir='low_res/training/images',
	    hr_train_dir='high_res/training/images',
	    lr_valid_dir='low_res/validation/images',
	    hr_valid_dir='high_res/validation/images',
	    loss_weights=loss_weights,
	    dataname=args.name,
	    logs_dir='./logs',
	    weights_dir='./weights',
	    weights_generator=None,
	    weights_discriminator=None,
	    n_validation=40,
	    lr_decay_frequency=30,
	    lr_decay_factor=0.5,
	)

	trainer.train(epochs=args.num_epochs,
				  steps_per_epoch=args.epoch_steps,
				  batch_size,args.batch_size)
Beispiel #2
0
learning_rate = {
    'initial_value': 0.0004,
    'decay_factor': 0.5,
    'decay_frequency': 30
}

flatness = {'min': 0.0, 'max': 0.15, 'increase': 0.01, 'increase_frequency': 5}

trainer = Trainer(
    generator=rrdn,
    discriminator=discr,
    feature_extractor=f_ext,
    lr_train_dir='/home/sandeeppanku/Public/Code/superres/data/trainImageslr',
    hr_train_dir='/home/sandeeppanku/Public/Code/superres/data/trainImageshr',
    lr_valid_dir='/home/sandeeppanku/Public/Code/superres/data/testImageslr',
    hr_valid_dir='/home/sandeeppanku/Public/Code/superres/data/testImageshr',
    loss_weights=loss_weights,
    learning_rate=learning_rate,
    flatness=flatness,
    log_dirs=log_dirs,
    weights_generator=None,
    weights_discriminator=None,
    n_validation=40,
)

trainer.train(epochs=80,
              steps_per_epoch=500,
              batch_size=16,
              monitored_metrics={'val_PSNR_Y': 'max'})
##################################################################################################################
learning_rate = {
    'initial_value': 0.0004,
    'decay_factor': 0.5,
    'decay_frequency': 30
}

flatness = {'min': 0.0, 'max': 0.15, 'increase': 0.01, 'increase_frequency': 5}

trainer = Trainer(
    generator=rdn,
    discriminator=discr,
    feature_extractor=f_ext,
    hr_train_dir='galaxy_zoo/individuals_2blend_train/',
    lr_train_dir='galaxy_zoo/merged_2blend_train/',
    hr_valid_dir='galaxy_zoo/individuals_2blend_valid/',
    lr_valid_dir='galaxy_zoo/merged_2blend_valid/',
    loss_weights=loss_weights,
    learning_rate=learning_rate,
    flatness=flatness,
    dataname='div2k',
    log_dirs=log_dirs,
    weights_generator=None,
    weights_discriminator=None,
    n_validation=5,  #to be modified
)

trainer.train(epochs=200,
              steps_per_epoch=5000,
              batch_size=16,
              monitored_metrics={'val_generator_PSNR_Y': 'max'})
Beispiel #4
0
learning_rate = {
    'initial_value': 0.0004,
    'decay_factor': 0.5,
    'decay_frequency': 30
}

flatness = {'min': 0.0, 'max': 0.15, 'increase': 0.01, 'increase_frequency': 5}

trainer = Trainer(
    generator=rrdn,
    discriminator=discr,
    feature_extractor=f_ext,
    hr_train_dir='images/face_train/',
    lr_train_dir='images/musk_train/',
    hr_valid_dir='images/face_valid/',
    lr_valid_dir='images/musk_valid/',
    loss_weights=loss_weights,
    learning_rate=learning_rate,
    flatness=flatness,
    dataname='div2k',
    log_dirs=log_dirs,
    weights_generator=None,
    weights_discriminator=None,
    n_validation=5,  #to be modified
)

trainer.train(epochs=200,
              steps_per_epoch=1000,
              batch_size=4,
              monitored_metrics={'val_generator_PSNR_Y': 'max'})
    'initial_value': 0.0004,
    'decay_factor': 0.5,
    'decay_frequency': 30
    }

flatness = {'min': 0.0, 'max': 0.15, 'increase': 0.01, 'increase_frequency': 5}

trainer = Trainer(
    generator=rrdn,
    discriminator=discr,
    feature_extractor=f_ext,
    lr_train_dir='training_lr/3x/',
    hr_train_dir='training/',
    lr_valid_dir='training_lr/3x/',
    hr_valid_dir='training/',
    loss_weights=loss_weights,
    learning_rate=learning_rate,
    flatness=flatness,
    dataname='training',
    log_dirs=log_dirs,
    weights_generator=None,
    weights_discriminator=None,
    n_validation=291,
)

trainer.train(
    epochs=100,
    steps_per_epoch=500,
    batch_size=16,
    monitored_metrics={'val_generator_PSNR_Y': 'max'}
)
    'initial_value': 0.0004,
    'decay_factor': 0.5,
    'decay_frequency': 30
}

flatness = {'min': 0.0, 'max': 0.15, 'increase': 0.01, 'increase_frequency': 5}

trainer = Trainer(
    generator=rrdn,
    discriminator=discr,
    feature_extractor=f_ext,
    lr_train_dir='data/DIV2K/DIV2K_train_LR_bicubic/X2',
    hr_train_dir='data/DIV2K/DIV2K_train_HR',
    lr_valid_dir='data/DIV2K/DIV2K_valid_LR_bicubic/X2',
    hr_valid_dir='data/DIV2K/DIV2K_valid_HR',
    loss_weights=loss_weights,
    learning_rate=learning_rate,
    flatness=flatness,
    dataname='image_dataset',
    log_dirs=log_dirs,
    weights_generator=None,
    weights_discriminator=None,
    n_validation=40,
)

trainer.train(epochs=80,
              steps_per_epoch=500,
              batch_size=16,
              monitored_metrics={'val_PSNR_Y': 'max'})

rrdn.model.save_weights('ex.hdf5')
}

flatness = {'min': 0.0, 'max': 0.15, 'increase': 0.01, 'increase_frequency': 5}

adam_optimizer = {'beta1': 0.9, 'beta2': 0.999, 'epsilon': None}

trainer = Trainer(
    generator=rrdn,
    discriminator=discr,
    feature_extractor=f_ext,
    lr_train_dir='/media/jhonatan/Data/h6f86gl(2)/final/lr_train',
    hr_train_dir='/media/jhonatan/Data/h6f86gl(2)/final/hr_train',
    lr_valid_dir='/media/jhonatan/Data/h6f86gl(2)/final/lr_val',
    hr_valid_dir='/media/jhonatan/Data/h6f86gl(2)/final/hr_val',
    loss_weights=loss_weights,
    losses=losses,
    learning_rate=learning_rate,
    flatness=flatness,
    log_dirs=log_dirs,
    adam_optimizer=adam_optimizer,
    metrics={'generator': 'PSNR_Y'},
    dataname='aolp',
    weights_generator=None,
    weights_discriminator=None,
    n_validation=40,
)

trainer.train(epochs=100,
              steps_per_epoch=20,
              batch_size=4,
              monitored_metrics={'val_generator_loss': 'min'})
Beispiel #8
0
learning_rate = {
    'initial_value': 0.0004,
    'decay_factor': 0.5,
    'decay_frequency': 30
}

flatness = {'min': 0.0, 'max': 0.15, 'increase': 0.01, 'increase_frequency': 5}

trainer = Trainer(
    generator=rrdn,
    discriminator=discr,
    feature_extractor=f_ext,
    lr_train_dir='train/low',
    hr_train_dir='train/high',
    lr_valid_dir='test/low',
    hr_valid_dir='test/high',
    loss_weights=loss_weights,
    learning_rate=learning_rate,
    flatness=flatness,
    dataname='image_dataset',
    log_dirs=log_dirs,
    weights_generator=None,
    weights_discriminator=None,
    n_validation=40,
)

trainer.train(epochs=1,
              steps_per_epoch=11,
              batch_size=16,
              monitored_metrics={'val_PSNR_Y': 'max'})
    'decay_factor': 0.5,
    'decay_frequency': 30
}

flatness = {'min': 0.0, 'max': 0.15, 'increase': 0.01, 'increase_frequency': 5}

trainer = Trainer(
    generator=rrdn,
    discriminator=discr,
    feature_extractor=f_ext,
    lr_train_dir=
    '/home/minhhoang/image-super-resolution/data/training/div2k/DIV2K_train_LR_bicubic/X2/',
    hr_train_dir=
    '/home/minhhoang/image-super-resolution/data/training/div2k/DIV2K_train_HR/',
    lr_valid_dir=
    '/home/minhhoang/image-super-resolution/data/training/div2k/DIV2K_train_LR_bicubic/X2/',
    hr_valid_dir=
    '/home/minhhoang/image-super-resolution/data/training/div2k/DIV2K_train_HR/',
    loss_weights=loss_weights,
    learning_rate=learning_rate,
    flatness=flatness,
    dataname='div2k',
    log_dirs=log_dirs,
    weights_generator=None,
    weights_discriminator=None,
    n_validation=40,
)
trainer.train(epochs=1,
              steps_per_epoch=20,
              batch_size=4,
              monitored_metrics={'val_generator_PSNR_Y': 'max'})