def __init__(self): super(Decom, self).__init__() self.conv_1 = keras.layers.Conv2D(filters=32, kernel_size=3, strides=1, padding='same', name='conv_1', activation=tf.nn.leaky_relu) self.pool_1 = keras.layers.MaxPool2D(name='pool_1') self.conv_2 = keras.layers.Conv2D(filters=64, kernel_size=3, strides=1, padding='same', name='conv_2', activation=tf.nn.leaky_relu) self.pool_2 = keras.layers.MaxPool2D(name='pool_2') self.conv_3 = keras.layers.Conv2D(filters=128, kernel_size=3, strides=1, padding='same', name='conv_3', activation=tf.nn.leaky_relu) # self.pool_3 = keras.layers.MaxPool2D(name='pool_3') self.up_1 = Layer.Conv_Upsample_Concat(kernel_num_1=64, kernel_num_2=64, kernel_size_1=3, kernel_size_2=3, activation='leaky_relu', name='up_1') self.up_2 = Layer.Conv_Upsample_Concat(kernel_num_1=32, kernel_num_2=32, kernel_size_1=3, kernel_size_2=3, activation='leaky_relu', name='up_2') self.relfer = keras.layers.Conv2D(filters=3, kernel_size=1, strides=1, padding='same', name='relfer') self.illum_1 = keras.layers.Conv2D(filters=32, kernel_size=3, strides=1, padding='same', activation=tf.nn.leaky_relu, name='illum_1') self.illum_2 = keras.layers.Conv2D(filters=1, kernel_size=1, strides=1, padding='same', name='illum_2')
def __init__(self): super(Restor, self).__init__() self.conv_1_1 = keras.layers.Conv2D(filters=32, kernel_size=3, strides=1, padding='same', name='conv_1_1', activation=tf.nn.leaky_relu) self.conv_1_2 = keras.layers.Conv2D(filters=32, kernel_size=3, strides=1, padding='same', name='conv_1_2', activation=tf.nn.leaky_relu) self.pool_1 = keras.layers.MaxPool2D(name='pool_1') self.conv_2_1 = keras.layers.Conv2D(filters=64, kernel_size=3, strides=1, padding='same', name='conv_2_1', activation=tf.nn.leaky_relu) self.conv_2_2 = keras.layers.Conv2D(filters=64, kernel_size=3, strides=1, padding='same', name='conv_2_2', activation=tf.nn.leaky_relu) self.pool_2 = keras.layers.MaxPool2D(name='pool_2') self.conv_3_1 = keras.layers.Conv2D(filters=128, kernel_size=3, strides=1, padding='same', name='conv_3_1', activation=tf.nn.leaky_relu) self.conv_3_2 = keras.layers.Conv2D(filters=128, kernel_size=3, strides=1, padding='same', name='conv_3_2', activation=tf.nn.leaky_relu) self.pool_3 = keras.layers.MaxPool2D(name='pool_3') self.conv_4_1 = keras.layers.Conv2D(filters=256, kernel_size=3, strides=1, padding='same', name='conv_4_1', activation=tf.nn.leaky_relu) self.conv_4_2 = keras.layers.Conv2D(filters=256, kernel_size=3, strides=1, padding='same', name='conv_4_2', activation=tf.nn.leaky_relu) self.pool_4 = keras.layers.MaxPool2D(name='pool_4') self.conv_5_1 = keras.layers.Conv2D(filters=512, kernel_size=3, strides=1, padding='same', name='conv_5_1', activation=tf.nn.leaky_relu) self.conv_5_2 = keras.layers.Conv2D(filters=512, kernel_size=3, strides=1, padding='same', name='conv_5_2', activation=tf.nn.leaky_relu) # self.pool_5 = keras.layers.MaxPool2D(name='pool_5') self.up_1 = Layer.Conv_Upsample_Concat(kernel_num_1=256, kernel_num_2=256, kernel_size_1=3, kernel_size_2=3, activation='leaky_relu', name='up_1') self.up_1_conv = keras.layers.Conv2D(filters=256, kernel_size=3, strides=1, padding='same', name='up_1_conv', activation=tf.nn.leaky_relu) self.up_2 = Layer.Conv_Upsample_Concat(kernel_num_1=128, kernel_num_2=128, kernel_size_1=3, kernel_size_2=3, activation='leaky_relu', name='up_2') self.up_2_conv = keras.layers.Conv2D(filters=128, kernel_size=3, strides=1, padding='same', name='up_2_conv', activation=tf.nn.leaky_relu) self.up_3 = Layer.Conv_Upsample_Concat(kernel_num_1=64, kernel_num_2=64, kernel_size_1=3, kernel_size_2=3, activation='leaky_relu', name='up_3') self.up_3_conv = keras.layers.Conv2D(filters=64, kernel_size=3, strides=1, padding='same', name='up_3_conv', activation=tf.nn.leaky_relu) self.up_4 = Layer.Conv_Upsample_Concat(kernel_num_1=32, kernel_num_2=32, kernel_size_1=3, kernel_size_2=3, activation='leaky_relu', name='up_4') self.up_4_conv = keras.layers.Conv2D(filters=32, kernel_size=3, strides=1, padding='same', name='up_4_conv', activation=tf.nn.leaky_relu) self.restor = keras.layers.Conv2D(filters=3, kernel_size=3, strides=1, padding='same', name='restor', activation=tf.nn.leaky_relu)