def reinitialize_requires_grad_diff_layers()

in one_shot_domain_adaptation.py [0:0]


def reinitialize_requires_grad_diff_layers(generator, opt):
    for name, param in generator.named_parameters():
        if "1024x1024" in name and opt.finetune_layers >= 1:
            param.requires_grad = True
        elif "512x512" in name and opt.finetune_layers >= 2:
            param.requires_grad = True
        elif "256x256" in name and opt.finetune_layers >= 3:
            param.requires_grad = True
        elif "128x128" in name and opt.finetune_layers >= 4:
            param.requires_grad = True
        elif "64x64" in name and opt.finetune_layers >= 5:
            param.requires_grad = True
        elif "32x32" in name and opt.finetune_layers >= 6:
            param.requires_grad = True
        elif "16x16" in name and opt.finetune_layers >= 7:
            param.requires_grad = True
        elif "8x8" in name and opt.finetune_layers >= 8:
            param.requires_grad = True
        elif "4x4" in name and opt.finetune_layers >= 9:
            param.requires_grad = True
        else:
            param.requires_grad = False