def __init__(self, **kwargs): super(Net, self).__init__() scale = kwargs.get("scale") multi_scale = kwargs.get("multi_scale") reduce_upsample = kwargs.get("reduce_upsample", False) 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.relu = nn.ReLU() 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) self.c2 = ops.BasicBlock(64 * 3, 64, 1) self.c3 = ops.BasicBlock(64 * 4, 64, 1) self.upsample = ops.UpsampleBlock(64, scale=scale, multi_scale=multi_scale, reduce=reduce_upsample) self.exit = nn.Sequential(nn.Conv2d(64, 3, 3, 1, 1))
def __init__(self, **kwargs): super(Net, self).__init__() self.device = torch.device( "cuda" if torch.cuda.is_available() else "cpu") self.carnchannel = 32 #self.conv1_e = nn.Conv2d(1, self.carnchannel//2, 3, 1, 2, bias=False).to(self.device) #self.conv2 = nn.Conv2d(self.carnchannel//2, self.carnchannel//2, 3, 1, 1, bias=False).to(self.device) #torch.nn.init.xavier_normal_(self.conv1_e.weight) #torch.nn.init.xavier_normal_(self.conv2.weight) self.entry = nn.Conv2d(3, self.carnchannel, 5, 1, 2, bias=True).to(self.device) torch.nn.init.xavier_normal_(self.entry.weight) self.b1 = Block(self.carnchannel, self.carnchannel).to(self.device) self.b2 = Block(self.carnchannel, self.carnchannel).to(self.device) self.c1 = ops.BasicBlock(self.carnchannel * 2, self.carnchannel, 1, 1, 0).to(self.device) self.c2 = ops.BasicBlock(self.carnchannel * 3, self.carnchannel, 1, 1, 0).to(self.device) self.upsample = ops.UpsampleBlock(self.carnchannel, scale=4).to(self.device) self.exit = nn.Conv2d(self.carnchannel, 3, 3, 1, 1, bias=True).to(self.device) torch.nn.init.xavier_normal_(self.exit.weight)
def __init__( self, scale=4, multi_scale=True, num_channels=64, mobile=False, groups=1 ): super().__init__() 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, num_channels, 3, 1, 1) self.b1 = Block(num_channels, mobile, groups) self.b2 = Block(num_channels, mobile, groups) self.b3 = Block(num_channels, mobile, groups) self.c1 = nn.Conv2d(num_channels*2, num_channels, 1, 1, 0) self.c2 = nn.Conv2d(num_channels*3, num_channels, 1, 1, 0) self.c3 = nn.Conv2d(num_channels*4, num_channels, 1, 1, 0) self.upsample = ops.UpsampleBlock( num_channels, scale=scale, multi_scale=multi_scale, groups=groups ) self.exit = nn.Conv2d(num_channels, 3, 3, 1, 1)
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, args): super(CARN, self).__init__() #scale = kwargs.get("scale") #multi_scale = kwargs.get("multi_scale") #group = kwargs.get("group", 1) multi_scale = len(args.scale) > 1 self.scale_idx = 0 scale = args.scale[self.scale_idx] group = 1 self.scale = args.scale rgb_mean = (0.4488, 0.4371, 0.4040) rgb_std = (1.0, 1.0, 1.0) self.sub_mean = common.MeanShift(args.rgb_range, rgb_mean, rgb_std) self.add_mean = common.MeanShift(args.rgb_range, rgb_mean, rgb_std, 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) 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=scale, multi_scale=multi_scale, group=group) self.exit = nn.Conv2d(64, 3, 3, 1, 1)
def __init__(self, args): super(Net, self).__init__() self.args = args #scale = args.scale[0] self.scale = args.scale[0] #print(self.scale) multi_scale = args.multi_scale group = args.group #group = kwargs.get("group", 1) self.num_types = args.num_types self.neuf = args.neuf self.neufed = False self.part = args.part #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) if self.args.use_real: self.input_channels = self.args.n_colors + 3 else: self.input_channels = self.args.n_colors self.entry = nn.Conv2d(self.input_channels, self.args.n_feats, 3, 1, 1) if self.args.split: self.b1 = BlockBucket(self.args, self.args.n_feats, self.args.n_feats) if self.args.bottom_only: self.b2 = Block(self.args.n_feats, self.args.n_feats) self.b3 = Block(self.args.n_feats, self.args.n_feats) else: self.b2 = BlockBucket(self.args, self.args.n_feats, self.args.n_feats) self.b3 = BlockBucket(self.args, self.args.n_feats, self.args.n_feats) else: self.b1 = Block(self.args.n_feats, self.args.n_feats) self.b2 = Block(self.args.n_feats, self.args.n_feats) self.b3 = Block(self.args.n_feats, self.args.n_feats) self.c1 = ops.BasicBlock(self.args.n_feats * 2, self.args.n_feats, 1, 1, 0) self.c2 = ops.BasicBlock(self.args.n_feats * 3, self.args.n_feats, 1, 1, 0) self.c3 = ops.BasicBlock(self.args.n_feats * 4, self.args.n_feats, 1, 1, 0) if self.scale != 1: self.upsample = ops.UpsampleBlock(self.args.n_feats, scale=self.scale, multi_scale=multi_scale, group=group) else: self.upsample = None #print(self.upsample) self.exit = nn.Conv2d(self.args.n_feats, args.n_colors, 3, 1, 1)
def __init__(self, scale_factor, num_channels=1, d=56, s=12, m=4): super(FSRCNN_ps1, self).__init__() self.first_part = nn.Sequential( nn.Conv2d(num_channels, d, kernel_size=5, padding=5 // 2), nn.PReLU(d)) self.mid_part = [nn.Conv2d(d, s, kernel_size=1), nn.PReLU(s)] for _ in range(m): self.mid_part.extend( [nn.Conv2d(s, s, kernel_size=3, padding=3 // 2), nn.PReLU(s)]) self.mid_part.extend([nn.Conv2d(s, d, kernel_size=1), nn.PReLU(d)]) self.mid_part = nn.Sequential(*self.mid_part) self.upsample_part = ops.UpsampleBlock(d, scale=scale_factor, group=1) self.refine_part = nn.Conv2d(d, 1, kernel_size=3, padding=1) self._initialize_weights()
def __init__(self): super(CARN, self).__init__() self.b1 = Block(64, 64) self.b2 = Block(64, 64) self.b3 = Block(64, 64) self.b4 = Block(64, 64) self.b5 = Block(64, 64) self.b6 = Block(64, 64) self.b7 = Block(64, 64) self.b8 = Block(64, 64) self.c1 = ops.BasicBlock(64 * 2, 64, 1) self.c2 = ops.BasicBlock(64 * 3, 64, 1) self.c3 = ops.BasicBlock(64 * 4, 64, 1) self.c4 = ops.BasicBlock(64 * 5, 64, 1) self.c5 = ops.BasicBlock(64 * 6, 64, 1) self.c6 = ops.BasicBlock(64 * 7, 64, 1) self.c7 = ops.BasicBlock(64 * 8, 64, 1) self.c8 = ops.BasicBlock(64 * 9, 64, 1) self.up = ops.UpsampleBlock(64, scale=2)
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, **kwargs): super(Net, self).__init__() scale = kwargs.get("scale") #value of scale is scale. multi_scale = kwargs.get("multi_scale") # value of multi_scale is multi_scale in args. group = kwargs.get("group", 1) #if valule of group isn't given, group is 1. kernel_size = 3 #tcw 201904091123 kernel_size1 = 1 #tcw 201904091123 padding1 = 0 #tcw 201904091124 padding = 1 #tcw201904091123 features = 64 #tcw201904091124 groups = 1 #tcw201904091124 channels = 3 features1 = 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) ''' in_channels, out_channels, kernel_size, stride, padding,dialation, groups, ''' self.conv1_1 = nn.Sequential(nn.Conv2d(in_channels=channels,out_channels=features,kernel_size=(1,3),padding=(0,1),groups=1,bias=False)) self.conv1_2 = nn.Sequential(nn.Conv2d(in_channels=channels,out_channels=features,kernel_size=(3,1),padding=(1,0),groups=1,bias=False)) self.conv1_3 = nn.Sequential(nn.Conv2d(in_channels=channels,out_channels=features,kernel_size=(3,3),padding=(1,1),groups=1,bias=False)) self.conv2_1 = nn.Sequential(nn.Conv2d(in_channels=features,out_channels=features,kernel_size=(1,3),padding=(0,1),groups=1,bias=False)) self.conv2_2 = nn.Sequential(nn.Conv2d(in_channels=features,out_channels=features,kernel_size=(3,1),padding=(1,0),groups=1,bias=False)) self.conv2_3 = nn.Sequential(nn.Conv2d(in_channels=features,out_channels=features,kernel_size=(3,3),padding=(1,1),groups=1,bias=False)) self.conv3_1 = nn.Sequential(nn.Conv2d(in_channels=features,out_channels=features,kernel_size=(1,3),padding=(0,1),groups=1,bias=False)) self.conv3_2 = nn.Sequential(nn.Conv2d(in_channels=features,out_channels=features,kernel_size=(3,1),padding=(1,0),groups=1,bias=False)) self.conv3_3 = nn.Sequential(nn.Conv2d(in_channels=features,out_channels=features,kernel_size=(3,3),padding=(1,1),groups=1,bias=False)) self.conv4_1 = nn.Sequential(nn.Conv2d(in_channels=features,out_channels=features,kernel_size=(1,3),padding=(0,1),groups=1,bias=False)) self.conv4_2 = nn.Sequential(nn.Conv2d(in_channels=features,out_channels=features,kernel_size=(3,1),padding=(1,0),groups=1,bias=False)) self.conv4_3 = nn.Sequential(nn.Conv2d(in_channels=features,out_channels=features,kernel_size=(3,3),padding=(1,1),groups=1,bias=False)) self.conv5_1 = nn.Sequential(nn.Conv2d(in_channels=features,out_channels=features,kernel_size=(1,3),padding=(0,1),groups=1,bias=False)) self.conv5_2 = nn.Sequential(nn.Conv2d(in_channels=features,out_channels=features,kernel_size=(3,1),padding=(1,0),groups=1,bias=False)) self.conv5_3 = nn.Sequential(nn.Conv2d(in_channels=features,out_channels=features,kernel_size=(3,3),padding=(1,1),groups=1,bias=False)) self.conv6_1 = nn.Sequential(nn.Conv2d(in_channels=features,out_channels=features,kernel_size=(1,3),padding=(0,1),groups=1,bias=False)) self.conv6_2 = nn.Sequential(nn.Conv2d(in_channels=features,out_channels=features,kernel_size=(3,1),padding=(1,0),groups=1,bias=False)) self.conv6_3 = nn.Sequential(nn.Conv2d(in_channels=features,out_channels=features,kernel_size=(3,3),padding=(1,1),groups=1,bias=False)) self.conv7_1 = nn.Sequential(nn.Conv2d(in_channels=features,out_channels=features,kernel_size=(1,3),padding=(0,1),groups=1,bias=False)) self.conv7_2 = nn.Sequential(nn.Conv2d(in_channels=features,out_channels=features,kernel_size=(3,1),padding=(1,0),groups=1,bias=False)) self.conv7_3 = nn.Sequential(nn.Conv2d(in_channels=features,out_channels=features,kernel_size=(3,3),padding=(1,1),groups=1,bias=False)) self.conv8_1 = nn.Sequential(nn.Conv2d(in_channels=features,out_channels=features,kernel_size=(1,3),padding=(0,1),groups=1,bias=False)) self.conv8_2 = nn.Sequential(nn.Conv2d(in_channels=features,out_channels=features,kernel_size=(3,1),padding=(1,0),groups=1,bias=False)) self.conv8_3 = nn.Sequential(nn.Conv2d(in_channels=features,out_channels=features,kernel_size=(3,3),padding=(1,1),groups=1,bias=False)) self.conv9_1 = nn.Sequential(nn.Conv2d(in_channels=features,out_channels=features,kernel_size=(1,3),padding=(0,1),groups=1,bias=False)) self.conv9_2 = nn.Sequential(nn.Conv2d(in_channels=features,out_channels=features,kernel_size=(3,1),padding=(1,0),groups=1,bias=False)) self.conv9_3 = nn.Sequential(nn.Conv2d(in_channels=features,out_channels=features,kernel_size=(3,3),padding=(1,1),groups=1,bias=False)) self.conv10_1 = nn.Sequential(nn.Conv2d(in_channels=features,out_channels=features,kernel_size=(1,3),padding=(0,1),groups=1,bias=False)) self.conv10_2 = nn.Sequential(nn.Conv2d(in_channels=features,out_channels=features,kernel_size=(3,1),padding=(1,0),groups=1,bias=False)) self.conv10_3 = nn.Sequential(nn.Conv2d(in_channels=features,out_channels=features,kernel_size=(3,3),padding=(1,1),groups=1,bias=False)) self.conv11_1 = nn.Sequential(nn.Conv2d(in_channels=features,out_channels=features,kernel_size=(1,3),padding=(0,1),groups=1,bias=False)) self.conv11_2 = nn.Sequential(nn.Conv2d(in_channels=features,out_channels=features,kernel_size=(3,1),padding=(1,0),groups=1,bias=False)) self.conv11_3 = nn.Sequential(nn.Conv2d(in_channels=features,out_channels=features,kernel_size=(3,3),padding=(1,1),groups=1,bias=False)) self.conv12_1 = nn.Sequential(nn.Conv2d(in_channels=features,out_channels=features,kernel_size=(1,3),padding=(0,1),groups=1,bias=False)) self.conv12_2 = nn.Sequential(nn.Conv2d(in_channels=features,out_channels=features,kernel_size=(3,1),padding=(1,0),groups=1,bias=False)) self.conv12_3 = nn.Sequential(nn.Conv2d(in_channels=features,out_channels=features,kernel_size=(3,3),padding=(1,1),groups=1,bias=False)) self.conv13_1 = nn.Sequential(nn.Conv2d(in_channels=features,out_channels=features,kernel_size=(1,3),padding=(0,1),groups=1,bias=False)) self.conv13_2 = nn.Sequential(nn.Conv2d(in_channels=features,out_channels=features,kernel_size=(3,1),padding=(1,0),groups=1,bias=False)) self.conv13_3 = nn.Sequential(nn.Conv2d(in_channels=features,out_channels=features,kernel_size=(3,3),padding=(1,1),groups=1,bias=False)) self.conv14_1 = nn.Sequential(nn.Conv2d(in_channels=features,out_channels=features,kernel_size=(1,3),padding=(0,1),groups=1,bias=False)) self.conv14_2 = nn.Sequential(nn.Conv2d(in_channels=features,out_channels=features,kernel_size=(3,1),padding=(1,0),groups=1,bias=False)) self.conv14_3 = nn.Sequential(nn.Conv2d(in_channels=features,out_channels=features,kernel_size=(3,3),padding=(1,1),groups=1,bias=False)) self.conv15_1 = nn.Sequential(nn.Conv2d(in_channels=features,out_channels=features,kernel_size=(1,3),padding=(0,1),groups=1,bias=False)) self.conv15_2 = nn.Sequential(nn.Conv2d(in_channels=features,out_channels=features,kernel_size=(3,1),padding=(1,0),groups=1,bias=False)) self.conv15_3 = nn.Sequential(nn.Conv2d(in_channels=features,out_channels=features,kernel_size=(3,3),padding=(1,1),groups=1,bias=False)) self.conv16_1 = nn.Sequential(nn.Conv2d(in_channels=features,out_channels=features,kernel_size=(1,3),padding=(0,1),groups=1,bias=False)) self.conv16_2 = nn.Sequential(nn.Conv2d(in_channels=features,out_channels=features,kernel_size=(3,1),padding=(1,0),groups=1,bias=False)) self.conv16_3 = nn.Sequential(nn.Conv2d(in_channels=features,out_channels=features,kernel_size=(3,3),padding=(1,1),groups=1,bias=False)) self.conv17_1 = nn.Sequential(nn.Conv2d(in_channels=features,out_channels=features,kernel_size=(1,3),padding=(0,1),groups=1,bias=False)) self.conv17_2 = nn.Sequential(nn.Conv2d(in_channels=features,out_channels=features,kernel_size=(3,1),padding=(1,0),groups=1,bias=False)) self.conv17_3 = nn.Sequential(nn.Conv2d(in_channels=features,out_channels=features,kernel_size=(3,3),padding=(1,1),groups=1,bias=False)) self.conv18_1 = nn.Sequential(nn.Conv2d(in_channels=features,out_channels=features,kernel_size=(3,3),padding=(1,1),groups=1,bias=False),nn.ReLU(inplace=True)) self.conv18_2 = nn.Sequential(nn.Conv2d(in_channels=features,out_channels=features,kernel_size=(3,3),padding=(1,1),groups=1,bias=False),nn.ReLU(inplace=True)) self.conv19_1 = nn.Sequential(nn.Conv2d(in_channels=features,out_channels=features,kernel_size=(3,3),padding=(1,1),groups=1,bias=False)) self.conv19_2 = nn.Sequential(nn.Conv2d(in_channels=features,out_channels=features,kernel_size=(3,3),padding=(1,1),groups=1,bias=False)) self.conv20 = nn.Sequential(nn.Conv2d(in_channels=features,out_channels=features,kernel_size=(3,3),padding=(1,1),groups=1,bias=False),nn.ReLU(inplace=True)) self.conv21 = nn.Sequential(nn.Conv2d(in_channels=features,out_channels=features,kernel_size=(3,3),padding=(1,1),groups=1,bias=False),nn.ReLU(inplace=True)) self.conv22 = nn.Sequential(nn.Conv2d(in_channels=features,out_channels=3,kernel_size=kernel_size,padding=padding,groups=groups,bias=False)) self.ReLU=nn.ReLU(inplace=True) #self.BN = nn.BatchNorm2d(features) self.upsample = ops.UpsampleBlock(64, scale=scale, multi_scale=multi_scale,group=1)
def __init__(self, args): super(DRLN, self).__init__() #n_resgroups = args.n_resgroups #n_resblocks = args.n_resblocks #n_feats = args.n_feats #kernel_size = 3 #reduction = args.reduction #scale = args.scale[0] #act = nn.ReLU(True) self.scale = 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) # feature extraction self.b1 = Block(chs, chs) # DRLM 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.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.upsample = ops.UpsampleBlock(chs, self.scale, multi_scale=False) #self.convert = ops.ConvertBlock(chs, chs, 20) self.tail = nn.Conv2d(chs, 3, 3, 1, 1)
def __init__(self, **kwargs): super(Net, self).__init__() scale = kwargs.get("scale") #value of scale is scale. multi_scale = kwargs.get( "multi_scale") # value of multi_scale is multi_scale in args. group = kwargs.get("group", 1) #if valule of group isn't given, group is 1. kernel_size = 3 #tcw 201904091123 kernel_size1 = 1 #tcw 201904091123 padding1 = 0 #tcw 201904091124 padding = 1 #tcw201904091123 features = 64 #tcw201904091124 groups = 1 #tcw201904091124 channels = 3 features1 = 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) ''' in_channels, out_channels, kernel_size, stride, padding,dialation, groups, ''' self.conv1 = nn.Sequential( nn.Conv2d(in_channels=channels, out_channels=features, kernel_size=kernel_size, padding=padding, groups=1, bias=False)) self.conv2 = nn.Sequential( nn.Conv2d(in_channels=features, out_channels=features, kernel_size=kernel_size, padding=1, groups=1, bias=False), nn.ReLU(inplace=True)) self.conv3 = nn.Sequential( nn.Conv2d(in_channels=features, out_channels=features, kernel_size=kernel_size1, padding=0, groups=groups, bias=False)) self.conv4 = nn.Sequential( nn.Conv2d(in_channels=features, out_channels=features, kernel_size=kernel_size, padding=1, groups=1, bias=False), nn.ReLU(inplace=True)) self.conv5 = nn.Sequential( nn.Conv2d(in_channels=features, out_channels=features, kernel_size=kernel_size1, padding=0, groups=groups, bias=False)) self.conv6 = nn.Sequential( nn.Conv2d(in_channels=features, out_channels=features, kernel_size=kernel_size, padding=1, groups=1, bias=False), nn.ReLU(inplace=True)) self.conv7 = nn.Sequential( nn.Conv2d(in_channels=features, out_channels=features, kernel_size=kernel_size1, padding=0, groups=groups, bias=False)) self.conv8 = nn.Sequential( nn.Conv2d(in_channels=features, out_channels=features, kernel_size=kernel_size, padding=1, groups=1, bias=False), nn.ReLU(inplace=True)) self.conv9 = nn.Sequential( nn.Conv2d(in_channels=features, out_channels=features, kernel_size=kernel_size1, padding=0, groups=groups, bias=False)) self.conv10 = nn.Sequential( nn.Conv2d(in_channels=features, out_channels=features, kernel_size=kernel_size, padding=1, groups=1, bias=False), nn.ReLU(inplace=True)) self.conv11 = nn.Sequential( nn.Conv2d(in_channels=features, out_channels=features, kernel_size=kernel_size1, padding=0, groups=groups, bias=False)) self.conv12 = nn.Sequential( nn.Conv2d(in_channels=features, out_channels=features, kernel_size=kernel_size, padding=1, groups=1, bias=False), nn.ReLU(inplace=True)) self.conv13 = nn.Sequential( nn.Conv2d(in_channels=features, out_channels=features, kernel_size=kernel_size1, padding=0, groups=groups, bias=False)) self.conv14 = nn.Sequential( nn.Conv2d(in_channels=features, out_channels=features, kernel_size=kernel_size, padding=1, groups=1, bias=False), nn.ReLU(inplace=True)) self.conv15 = nn.Sequential( nn.Conv2d(in_channels=features, out_channels=features, kernel_size=kernel_size1, padding=0, groups=groups, bias=False)) self.conv16 = nn.Sequential( nn.Conv2d(in_channels=features, out_channels=features, kernel_size=kernel_size, padding=1, groups=1, bias=False), nn.ReLU(inplace=True)) self.conv17 = nn.Sequential( nn.Conv2d(in_channels=features, out_channels=features, kernel_size=kernel_size1, padding=0, groups=groups, bias=False)) self.conv17_1 = nn.Sequential( nn.Conv2d(in_channels=features, out_channels=features, kernel_size=kernel_size, padding=1, groups=1, bias=False), nn.ReLU(inplace=True)) self.conv17_2 = nn.Sequential( nn.Conv2d(in_channels=features, out_channels=features, kernel_size=kernel_size, padding=1, groups=1, bias=False), nn.ReLU(inplace=True)) self.conv17_3 = nn.Sequential( nn.Conv2d(in_channels=features, out_channels=features, kernel_size=kernel_size, padding=1, groups=1, bias=False), nn.ReLU(inplace=True)) self.conv17_4 = nn.Sequential( nn.Conv2d(in_channels=features, out_channels=features, kernel_size=kernel_size, padding=1, groups=1, bias=False), nn.ReLU(inplace=True)) self.conv18 = nn.Sequential( nn.Conv2d(in_channels=features, out_channels=3, kernel_size=kernel_size, padding=padding, groups=groups, bias=False)) ''' self.conv18 = nn.Conv2d(in_channels=features,out_channels=features1,kernel_size=kernel_size1,padding=padding1,groups=groups,bias=False) self.ReLU = nn.ReLU(inplace=True) ''' self.ReLU = nn.ReLU(inplace=True) self.upsample = ops.UpsampleBlock(64, scale=scale, multi_scale=multi_scale, group=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)