Let SwitchedSpsr transform count be specified

This commit is contained in:
James Betker 2020-08-18 09:10:25 -06:00
parent 40bb0597bb
commit 24bdcc1181
2 changed files with 5 additions and 4 deletions

View File

@ -228,11 +228,11 @@ class SPSRNet(nn.Module):
x_out = self._branch_pretrain_HR_conv1(x_out)
#########
return x_out_branch, x_out, x_grad
return x_out_branch, x_out, x_gradn
class SwitchedSpsr(nn.Module):
def __init__(self, in_nc, out_nc, nf, upscale=4):
def __init__(self, in_nc, out_nc, nf, xforms=8, upscale=4):
super(SwitchedSpsr, self).__init__()
n_upscale = int(math.log(upscale, 2))
@ -241,7 +241,7 @@ class SwitchedSpsr(nn.Module):
switch_filters = nf
switch_reductions = 3
switch_processing_layers = 2
self.transformation_counts = 8
self.transformation_counts = xforms
multiplx_fn = functools.partial(ConvBasisMultiplexer, transformation_filters, switch_filters, switch_reductions,
switch_processing_layers, self.transformation_counts, use_exp2=True)
pretransform_fn = functools.partial(ConvGnLelu, transformation_filters, transformation_filters, norm=False, bias=False, weight_init_factor=.1)

View File

@ -112,7 +112,8 @@ def define_G(opt, net_key='network_G'):
netG = spsr.SPSRNetSimplifiedNoSkip(in_nc=opt_net['in_nc'], out_nc=opt_net['out_nc'], nf=opt_net['nf'],
nb=opt_net['nb'], upscale=opt_net['scale'])
elif which_model == "spsr_switched":
netG = spsr.SwitchedSpsr(in_nc=3, out_nc=3, nf=opt_net['nf'], upscale=opt_net['scale'])
xforms = opt_net['num_transforms'] if 'num_transforms' in opt_net.keys() else 8
netG = spsr.SwitchedSpsr(in_nc=3, out_nc=3, nf=opt_net['nf'], xforms=xforms, upscale=opt_net['scale'])
# image corruption
elif which_model == 'HighToLowResNet':