def __init__(self, **kwargs): super(Net, self).__init__() #scale = kwargs.get("scale") scale = 2 multi_scale = kwargs.get("multi_scale") group = kwargs.get("group", 1) self.sub_mean = ops.MeanShift((0.4488, 0.4371, 0.4040), sub=True) self.add_mean = ops.MeanShift((0.4488, 0.4371, 0.4040), sub=False) #@#@ Protect this convolution operation with ABFT self.entry = nn.Conv2d(3, 64, 3, 1, 1) self.b1 = Block(64, 64, group=group) self.b2 = Block(64, 64, group=group) self.b3 = Block(64, 64, group=group) self.c1 = ops.BasicBlock(64*2, 64, 1, 1, 0) self.c2 = ops.BasicBlock(64*3, 64, 1, 1, 0) self.c3 = ops.BasicBlock(64*4, 64, 1, 1, 0) self.upsample = ops.UpsampleBlock(64, scale=scale, multi_scale=multi_scale, group=group) #@#@ Protect this convolution operation with ABFT self.exit = nn.Conv2d(64, 3, 3, 1, 1)
def __init__(self, opt): super().__init__() self.sub_mean = ops.MeanShift(255) self.add_mean = ops.MeanShift(255, sign=1) head = [ ops.DownBlock(opt.scale), nn.Conv2d(3 * opt.scale**2, opt.num_channels, 3, 1, 1) ] body = list() for _ in range(opt.num_groups): body += [ Group(opt.num_channels, opt.num_blocks, opt.reduction, opt.res_scale) ] body += [nn.Conv2d(opt.num_channels, opt.num_channels, 3, 1, 1)] tail = [ ops.Upsampler(opt.num_channels, opt.scale), nn.Conv2d(opt.num_channels, 3, 3, 1, 1) ] self.head = nn.Sequential(*head) self.body = nn.Sequential(*body) self.tail = nn.Sequential(*tail) self.opt = opt
def __init__(self, opt): super().__init__() self.sub_mean = ops.MeanShift(255) self.add_mean = ops.MeanShift(255, sign=1) head = [ ops.DownBlock(opt.scale), nn.Conv2d(3 * opt.scale**2, opt.num_channels, 3, 1, 1) ] # define body module for ng in range(opt.num_groups): setattr( self, "c{}".format(ng + 1), nn.Conv2d(opt.num_channels * (ng + 2), opt.num_channels, 1, 1, 0)) setattr(self, "b{}".format(ng + 1), Group(opt.num_channels, opt.num_blocks)) tail = [ ops.Upsampler(opt.num_channels, opt.scale), nn.Conv2d(opt.num_channels, 3, 3, 1, 1) ] self.head = nn.Sequential(*head) self.tail = nn.Sequential(*tail) self.opt = opt
def __init__(self, conv=common.default_conv): super(EDSR, self).__init__() n_resblocks = 32 n_feats = 64 kernel_size = 3 scale = 2 act = 'relu' #self.url = url['r{}f{}x{}'.format(n_resblocks, n_feats, scale)] # define head module m_head = [conv(3, n_feats, kernel_size)] # define body module m_body = [ common.ResBlock(n_feats, kernel_size, act_type=act, bias=True, res_scale=1) for _ in range(n_resblocks) ] m_body.append(conv(n_feats, n_feats, kernel_size)) # define tail module m_tail = [ common.Upsampler(scale, n_feats, norm_type=False, act_type=False), conv(n_feats, 3, kernel_size) ] self.sub_mean = ops.MeanShift((0.4488, 0.4371, 0.4040), sub=True) self.add_mean = ops.MeanShift((0.4488, 0.4371, 0.4040), sub=False) self.head = nn.Sequential(*m_head) self.body = nn.Sequential(*m_body) self.tail = nn.Sequential(*m_tail)
def __init__(self): super(carn, self).__init__() group = 2 self.sub_mean = ops.MeanShift((0.4488, 0.4371, 0.4040), sub=True) self.add_mean = ops.MeanShift((0.4488, 0.4371, 0.4040), sub=False) self.entry = nn.Conv2d(3, 64, 3, 1, 1) self.b1 = Block(64, 64) self.b2 = Block(64, 64) self.b3 = Block(64, 64) self.c1 = ops.BasicBlock(64 * 2, 64, 1, 1, 0) self.c2 = ops.BasicBlock(64 * 3, 64, 1, 1, 0) self.c3 = ops.BasicBlock(64 * 4, 64, 1, 1, 0) self.upsample = ops.UpsampleBlock(64, scale=2, multi_scale=False, group=group) self.exit = nn.Conv2d(64, 3, 3, 1, 1)
def __init__(self, **kwargs): super(Net, self).__init__() self.scale = kwargs.get("scale") self.multi_scale = kwargs.get("multi_scale") self.group = kwargs.get("group", 1) self.sub_mean = ops.MeanShift((0.4488, 0.4371, 0.4040), sub=True) self.add_mean = ops.MeanShift((0.4488, 0.4371, 0.4040), sub=False) self.entry = nn.Conv2d(3, 64, 3, 1, 1) modules_body = [ SSPBlock(channels=64, split=4, groups=1, bias=True, add=True) \ for _ in range(16) ] modules_body.append(nn.Conv2d(64, 64, 3, 1, 1)) self.body = nn.Sequential(*modules_body) self.upsample = ops.UpsampleBlock(64, scale=self.scale, multi_scale=self.multi_scale, group=self.group) self.exit = nn.Conv2d(64, 3, 3, 1, 1)
def __init__(self, args): super(DRLN, self).__init__() self.stop_block = 1 self.scale = 3#args.scale[0] chs=64 self.sub_mean = ops.MeanShift((0.4488, 0.4371, 0.4040), sub=True) self.add_mean = ops.MeanShift((0.4488, 0.4371, 0.4040), sub=False) self.head = nn.Conv2d(3, chs, 3, 1, 1) self.b1 = Block(chs, chs) self.b2 = Block(chs, chs) self.b3 = Block(chs, chs) self.b4 = Block(chs, chs) self.b5 = Block(chs, chs) self.b6 = Block(chs, chs) self.b7 = Block(chs, chs) self.b8 = Block(chs, chs) self.b9 = Block(chs, chs) self.b10 = Block(chs, chs) self.b11 = Block(chs, chs) self.b12 = Block(chs, chs) self.b13 = Block(chs, chs) self.b14 = Block(chs, chs) self.b15 = Block(chs, chs) self.b16 = Block(chs, chs) self.b17 = Block(chs, chs) self.b18 = Block(chs, chs) self.b19 = Block(chs, chs) self.b20 = Block(chs, chs) self.b21 = Block(chs, chs) self.b22 = Block(chs, chs) self.b23 = Block(chs, chs) self.b24 = Block(chs, chs) self.c1 = ops.BasicBlock(chs*2, chs, 3, 1, 1) self.c2 = ops.BasicBlock(chs*3, chs, 3, 1, 1) self.c3 = ops.BasicBlock(chs*4, chs, 3, 1, 1) self.c4 = ops.BasicBlock(chs*2, chs, 3, 1, 1) self.c5 = ops.BasicBlock(chs*3, chs, 3, 1, 1) self.c6 = ops.BasicBlock(chs*4, chs, 3, 1, 1) self.c7 = ops.BasicBlock(chs*2, chs, 3, 1, 1) self.c8 = ops.BasicBlock(chs*3, chs, 3, 1, 1) self.c9 = ops.BasicBlock(chs*4, chs, 3, 1, 1) self.c10 = ops.BasicBlock(chs*2, chs, 3, 1, 1) self.c11 = ops.BasicBlock(chs*3, chs, 3, 1, 1) self.c12 = ops.BasicBlock(chs*4, chs, 3, 1, 1) self.c13 = ops.BasicBlock(chs*2, chs, 3, 1, 1) self.c14 = ops.BasicBlock(chs*3, chs, 3, 1, 1) self.c15 = ops.BasicBlock(chs*4, chs, 3, 1, 1) self.c16 = ops.BasicBlock(chs*5, chs, 3, 1, 1) self.c17 = ops.BasicBlock(chs*2, chs, 3, 1, 1) self.c18 = ops.BasicBlock(chs*3, chs, 3, 1, 1) self.c19 = ops.BasicBlock(chs*4, chs, 3, 1, 1) self.c20 = ops.BasicBlock(chs*5, chs, 3, 1, 1) self.c21 = ops.BasicBlock(chs*2, chs, 3, 1, 1) self.c22 = ops.BasicBlock(chs*3, chs, 3, 1, 1) self.c23 = ops.BasicBlock(chs*4, chs, 3, 1, 1) self.c24 = ops.BasicBlock(chs*5, chs, 3, 1, 1) self.upsample = ops.UpsampleBlock(chs, self.scale , multi_scale=False) self.tail = nn.Conv2d(chs, 3, 3, 1, 1)