Exemple #1
0
        def Encoder(input_shape):
            input_layer = self.keras.layers.Input(input_shape)
            x = input_layer
            if created_vram_gb >= 4:
                x = conv(self.keras, x, 128)
                x = conv(self.keras, x, 256)
                x = conv(self.keras, x, 512)
                x = conv(self.keras, x, 1024)
                x = self.keras.layers.Dense(1024)(
                    self.keras.layers.Flatten()(x))
                x = self.keras.layers.Dense(4 * 4 * 1024)(x)
                x = self.keras.layers.Reshape((4, 4, 1024))(x)
                x = upscale(self.keras, x, 512)
            else:
                x = conv(self.keras, x, 128)
                x = conv(self.keras, x, 256)
                x = conv(self.keras, x, 512)
                x = conv(self.keras, x, 768)
                x = self.keras.layers.Dense(512)(
                    self.keras.layers.Flatten()(x))
                x = self.keras.layers.Dense(4 * 4 * 512)(x)
                x = self.keras.layers.Reshape((4, 4, 512))(x)
                x = upscale(self.keras, x, 256)

            return self.keras.models.Model(input_layer, x)
Exemple #2
0
    def Decoder(self):
        input_ = self.keras.layers.Input(shape=(4, 4, 1024))
        x = input_
        x = upscale(self.keras, x, 512)
        x = res(self.keras, x, 512)
        x = upscale(self.keras, x, 256)
        x = res(self.keras, x, 256)
        x = upscale(self.keras, x, 128)
        x = res(self.keras, x, 128)
        x = upscale(self.keras, x, 64)
        x = res(self.keras, x, 64)
        x = upscale(self.keras, x, 32)
        x = res(self.keras, x, 32)
        x = self.keras.layers.convolutional.Conv2D(3,
                                                   kernel_size=5,
                                                   padding='same',
                                                   activation='sigmoid')(x)

        y = input_  #mask decoder
        y = upscale(self.keras, y, 512)
        y = upscale(self.keras, y, 256)
        y = upscale(self.keras, y, 128)
        y = upscale(self.keras, y, 64)
        y = upscale(self.keras, y, 32)
        y = self.keras.layers.convolutional.Conv2D(1,
                                                   kernel_size=5,
                                                   padding='same',
                                                   activation='sigmoid')(y)

        return self.keras.models.Model(input_, [x, y])
Exemple #3
0
        def Encoder(input_shape):
            input_layer = self.keras.layers.Input(input_shape)
            x = input_layer
            if created_vram_gb >= 5:
                x = conv(self.keras, x, 128)
                x = conv(self.keras, x, 256)
                x = conv(self.keras, x, 512)
                x = conv(self.keras, x, 1024)
                x = self.keras.layers.Dense(512)(
                    self.keras.layers.Flatten()(x))
                x = self.keras.layers.Dense(8 * 8 * 512)(x)
                x = self.keras.layers.Reshape((8, 8, 512))(x)
                x = upscale(self.keras, x, 512)
            else:
                x = conv(self.keras, x, 128)
                x = conv(self.keras, x, 256)
                x = conv(self.keras, x, 512)
                x = conv(self.keras, x, 1024)
                x = self.keras.layers.Dense(256)(
                    self.keras.layers.Flatten()(x))
                x = self.keras.layers.Dense(8 * 8 * 256)(x)
                x = self.keras.layers.Reshape((8, 8, 256))(x)
                x = upscale(self.keras, x, 256)

            return self.keras.models.Model(input_layer, x)
Exemple #4
0
 def decoder64(encoder):
     decoder_input = keras.layers.Input ( K.int_shape(encoder.outputs[0])[1:] )
     x = decoder_input
     x = self.keras.layers.Dense(8 * 8 * 720)(x)
     x = keras.layers.Reshape ( (8, 8, 720) )(x)
     x = upscale(keras, x, 360)
     x = upscale(keras, x, 180)
     x = upscale(keras, x, 90)
     x = keras.layers.convolutional.Conv2D(3, kernel_size=5, padding='same', activation='sigmoid')(x)
     return keras.models.Model(decoder_input, x)
Exemple #5
0
        def Decoder():
            if created_vram_gb >= 4:
                input_ = self.keras.layers.Input(shape=(8, 8, 512))
                x = input_
                x = upscale(self.keras, x, 512)
                x = upscale(self.keras, x, 256)
                x = upscale(self.keras, x, 128)

            else:
                input_ = self.keras.layers.Input(shape=(8, 8, 256))

                x = input_
                x = upscale(self.keras, x, 256)
                x = upscale(self.keras, x, 128)
                x = upscale(self.keras, x, 64)

            y = input_  #mask decoder
            y = upscale(self.keras, y, 256)
            y = upscale(self.keras, y, 128)
            y = upscale(self.keras, y, 64)

            x = self.keras.layers.convolutional.Conv2D(3,
                                                       kernel_size=5,
                                                       padding='same',
                                                       activation='sigmoid')(x)
            y = self.keras.layers.convolutional.Conv2D(1,
                                                       kernel_size=5,
                                                       padding='same',
                                                       activation='sigmoid')(y)

            return self.keras.models.Model(input_, [x, y])
Exemple #6
0
    def Decoder(self, created_vram_gb):
        if created_vram_gb >= 4:
            input_ = self.keras.layers.Input(shape=(8, 8, 512))
            x = input_
            x = upscale(self.keras, x, 512)
            x = res(self.keras, x, 512)
            x = upscale(self.keras, x, 256)
            x = res(self.keras, x, 256)
            x = upscale(self.keras, x, 128)
            x = res(self.keras, x, 128)
            x = upscale(self.keras, x, 64)
            x = res(self.keras, x, 64)
        else:
            input_ = self.keras.layers.Input(shape=(8, 8, 256))
            x = input_
            x = upscale(self.keras, x, 256)
            x = res(self.keras, x, 256)
            x = upscale(self.keras, x, 128)
            x = res(self.keras, x, 128)
            x = upscale(self.keras, x, 64)
            x = res(self.keras, x, 64)
            x = upscale(self.keras, x, 32)
            x = res(self.keras, x, 32)

        x = self.keras.layers.convolutional.Conv2D(4,
                                                   kernel_size=5,
                                                   padding='same',
                                                   activation='sigmoid')(x)
        return self.keras.models.Model(input_, x)
Exemple #7
0
 def Intermediate(self):
     input_layer = self.keras.layers.Input(shape=(None, 8 * 8 * 1024))
     x = input_layer
     x = self.keras.layers.Dense(256)(x)
     x = self.keras.layers.Dense(8 * 8 * 512)(x)
     x = self.keras.layers.Reshape((8, 8, 512))(x)
     x = upscale(self.keras, x, 512)
     return self.keras.models.Model(input_layer, x)
Exemple #8
0
    def Encoder(self, input_layer):
        x = input_layer
        x = conv(self.keras, x, 128)
        x = conv(self.keras, x, 256)
        x = conv(self.keras, x, 512)
        x = conv(self.keras, x, 1024)

        x = self.keras.layers.Dense(512)(self.keras.layers.Flatten()(x))
        x = self.keras.layers.Dense(8 * 8 * 512)(x)
        x = self.keras.layers.Reshape((8, 8, 512))(x)
        x = upscale(self.keras, x, 512)
            
        return self.keras.models.Model(input_layer, x)
Exemple #9
0
 def DecoderCommon(self): 
     input_ = self.keras.layers.Input(shape=(4, 4, 1024))
     x = input_
     x = upscale(self.keras, x, 512)
     x = res(self.keras, x, 512)
     x = upscale(self.keras, x, 256)
     x = res(self.keras, x, 256)
     x = upscale(self.keras, x, 128)
     x = res(self.keras, x, 128)
     x = upscale(self.keras, x, 64)
     x = res(self.keras, x, 64)
     x = upscale(self.keras, x, 32)
     x = res(self.keras, x, 32)  
     
     y = input_
     y = upscale(self.keras, y, 256)
     y = upscale(self.keras, y, 128)
     y = upscale(self.keras, y, 64)
     y = upscale(self.keras, y, 32)
     y = upscale(self.keras, y, 16)
     
     return self.keras.models.Model(input_, [x,y])