save_dir = f'./results/biggan_256/hybridng_{fn}'

var_manager = VariableManager()
loss_fn = LF.ProjectionLoss()

# (4) define input output variable structure. the variable name must match
# the argument name of the model and loss function call

var_manager.register(
    variable_name='z',
    shape=(128, ),
    grad_free=True,
    distribution=dist.TruncatedNormalModulo(sigma=1.0, trunc=args.truncate),
    var_type='input',
    learning_rate=args.lr,
    hook_fn=hook.Clamp(args.truncate),
)

var_manager.register(
    variable_name='c',
    shape=(128, ),
    requires_grad=True,
    default=model.get_class_embedding(class_lbl)[0],
    var_type='input',
    learning_rate=0.01,
)

var_manager.register(variable_name='target',
                     shape=(3, 256, 256),
                     requires_grad=False,
                     default=target,
Exemplo n.º 2
0
var_manager = VariableManager()

var_manager.register(
                variable_name='z',
                shape=(512,),
                default=None,
                grad_free=True,
                distribution=dist.TruncatedNormalModulo(
                                            sigma=1.0,
                                            trunc=args.truncate
                                            ),
                var_type='input',
                learning_rate=args.lr,
                hook_fn=hook.Compose(
                            hook.NormalPerturb(sigma=args.latent_noise),
                            hook.Clamp(trunc=args.truncate),
                            )
                )

var_manager.register(
                variable_name='target',
                shape=(3, 512, 512),
                requires_grad=False,
                default=target,
                var_type='output'
                )

var_manager.register(
                variable_name='weight',
                shape=(3, 512, 512),
                requires_grad=False,