convolution based upscale enhancement

This commit is contained in:
2022-10-07 21:59:58 +00:00
parent 165fff9ec4
commit e09ba52327
2 changed files with 65 additions and 33 deletions
+33 -3
View File
@@ -99,11 +99,11 @@ class UpscalerBasicNew(tf.keras.Model):
self.flatten = tf.keras.layers.Flatten(name='upscale_enhancer_flattent')
self.seq = tf.keras.Sequential([
tf.keras.layers.Dense(1024, activation='relu', name='upscale_enhancer_dense_1'),
tf.keras.layers.Dense(4096, activation='relu', name='upscale_enhancer_dense_1'),
tf.keras.layers.BatchNormalization(name='upscale_enhancer_batch_norm_1'),
tf.keras.layers.Dense(1024, activation='relu', name='upscale_enhancer_dense_2'),
tf.keras.layers.Dense(2048, activation='relu', name='upscale_enhancer_dense_2'),
tf.keras.layers.BatchNormalization(name='upscale_enhancer_batch_norm_2'),
tf.keras.layers.Dense(1024, activation='relu', name='upscale_enhancer_dense_3'),
tf.keras.layers.Dense(2048, activation='relu', name='upscale_enhancer_dense_3'),
tf.keras.layers.BatchNormalization(name='upscale_enhancer_batch_norm_3'),
tf.keras.layers.Dense(low_res * (low_res//2) * 3, activation='tanh', name='upscale_enhancer_dense_final'),
])
@@ -123,6 +123,36 @@ class UpscalerBasicNew(tf.keras.Model):
return x
class UpscalerBasicConv(tf.keras.Model):
def __init__(self, low_res=32):
super(UpscalerBasicConv, self).__init__()
self.low_res = low_res
self.seq = tf.keras.Sequential([
tf.keras.layers.Conv2D(4096, kernel_size=3, padding='same', activation='relu', name='upscale_enhancer_conv_1'),
tf.keras.layers.BatchNormalization(name='upscale_enhancer_batch_norm_1'),
tf.keras.layers.Conv2D(2048, kernel_size=3, padding='same', activation='relu', name='upscale_enhancer_conv_2'),
tf.keras.layers.BatchNormalization(name='upscale_enhancer_batch_norm_2'),
tf.keras.layers.Conv2D(1024, kernel_size=3, padding='same', activation='relu', name='upscale_enhancer_conv_3'),
tf.keras.layers.BatchNormalization(name='upscale_enhancer_batch_norm_3'),
tf.keras.layers.Conv2D(128, kernel_size=3, padding='same', activation='relu', name='upscale_enhancer_conv_4'),
tf.keras.layers.BatchNormalization(name='upscale_enhancer_batch_norm_4'),
tf.keras.layers.Dense(3, activation='tanh', name='upscale_enhancer_dense_final'),
])
def call(self, inputs, training=None):
img, mask = inputs
x = self.seq(img, training=training)
x = x * (1 - mask[:,:,:,tf.newaxis])
x = x + img
return x
# class Upscaler(tf.keras.Model):
# def __init__(self, bottleneck_size):