faceswap的数据模型

1.original

Model: "original"
__________________________________________________________________________________________________
 Layer (type)                   Output Shape         Param #     Connected to
==================================================================================================
 face_in_a (InputLayer)         [(None, 64, 64, 3)]  0           []

 face_in_b (InputLayer)         [(None, 64, 64, 3)]  0           []

 encoder (Functional)           (None, 8, 8, 512)    69662976    ['face_in_a[0][0]',
                                                                  'face_in_b[0][0]']

 decoder_a (Functional)         (None, 64, 64, 3)    6199747     ['encoder[0][0]']

 decoder_b (Functional)         (None, 64, 64, 3)    6199747     ['encoder[1][0]']

==================================================================================================
Total params: 82,062,470
Trainable params: 82,062,470
Non-trainable params: 0
__________________________________________________________________________________________________
Model: "encoder"
_________________________________________________________________
 Layer (type)                Output Shape              Param #
=================================================================
 input_1 (InputLayer)        [(None, 64, 64, 3)]       0

 conv_128_0_conv2d (Conv2D)  (None, 32, 32, 128)       9728

 conv_128_0_leakyrelu (Leaky  (None, 32, 32, 128)      0
 ReLU)

 conv_256_0_conv2d (Conv2D)  (None, 16, 16, 256)       819456

 conv_256_0_leakyrelu (Leaky  (None, 16, 16, 256)      0
 ReLU)

 conv_512_0_conv2d (Conv2D)  (None, 8, 8, 512)         3277312

 conv_512_0_leakyrelu (Leaky  (None, 8, 8, 512)        0
 ReLU)

 conv_1024_0_conv2d (Conv2D)  (None, 4, 4, 1024)       13108224

 conv_1024_0_leakyrelu (Leak  (None, 4, 4, 1024)       0
 yReLU)

 flatten (Flatten)           (None, 16384)             0

 dense (Dense)               (None, 1024)              16778240

 dense_1 (Dense)             (None, 16384)             16793600

 reshape (Reshape)           (None, 4, 4, 1024)        0

 upscale_512_0_conv2d_conv2d  (None, 4, 4, 2048)       18876416
  (Conv2D)

 upscale_512_0_conv2d_leakyr  (None, 4, 4, 2048)       0
 elu (LeakyReLU)

 upscale_512_0_pixelshuffler  (None, 8, 8, 512)        0
  (PixelShuffler)

=================================================================
Total params: 69,662,976
Trainable params: 69,662,976
Non-trainable params: 0
_________________________________________________________________
Model: "decoder_a"
_________________________________________________________________
 Layer (type)                Output Shape              Param #
=================================================================
 input_2 (InputLayer)        [(None, 8, 8, 512)]       0

 upscale_256_0_conv2d_conv2d  (None, 8, 8, 1024)       4719616
  (Conv2D)

 upscale_256_0_conv2d_leakyr  (None, 8, 8, 1024)       0
 elu (LeakyReLU)

 upscale_256_0_pixelshuffler  (None, 16, 16, 256)      0
  (PixelShuffler)

 upscale_128_0_conv2d_conv2d  (None, 16, 16, 512)      1180160
  (Conv2D)

 upscale_128_0_conv2d_leakyr  (None, 16, 16, 512)      0
 elu (LeakyReLU)

 upscale_128_0_pixelshuffler  (None, 32, 32, 128)      0
  (PixelShuffler)

 upscale_64_0_conv2d_conv2d   (None, 32, 32, 256)      295168
 (Conv2D)

 upscale_64_0_conv2d_leakyre  (None, 32, 32, 256)      0
 lu (LeakyReLU)

 upscale_64_0_pixelshuffler   (None, 64, 64, 64)       0
 (PixelShuffler)

 face_out_a_conv2d (Conv2D)  (None, 64, 64, 3)         4803

 face_out_a (Activation)     (None, 64, 64, 3)         0

=================================================================
Total params: 6,199,747
Trainable params: 6,199,747
Non-trainable params: 0
_________________________________________________________________
Model: "decoder_b"
_________________________________________________________________
 Layer (type)                Output Shape              Param #
=================================================================
 input_3 (InputLayer)        [(None, 8, 8, 512)]       0

 upscale_256_1_conv2d_conv2d  (None, 8, 8, 1024)       4719616
  (Conv2D)

 upscale_256_1_conv2d_leakyr  (None, 8, 8, 1024)       0
 elu (LeakyReLU)

 upscale_256_1_pixelshuffler  (None, 16, 16, 256)      0
  (PixelShuffler)

 upscale_128_1_conv2d_conv2d  (None, 16, 16, 512)      1180160
  (Conv2D)

 upscale_128_1_conv2d_leakyr  (None, 16, 16, 512)      0
 elu (LeakyReLU)

 upscale_128_1_pixelshuffler  (None, 32, 32, 128)      0
  (PixelShuffler)

 upscale_64_1_conv2d_conv2d   (None, 32, 32, 256)      295168
 (Conv2D)

 upscale_64_1_conv2d_leakyre  (None, 32, 32, 256)      0
 lu (LeakyReLU)

 upscale_64_1_pixelshuffler   (None, 64, 64, 64)       0
 (PixelShuffler)

 face_out_b_conv2d (Conv2D)  (None, 64, 64, 3)         4803

 face_out_b (Activation)     (None, 64, 64, 3)         0

=================================================================
Total params: 6,199,747
Trainable params: 6,199,747
Non-trainable params: 0
_________________________________________________________________
Process exited.

2.lightweight

Model: "lightweight"
__________________________________________________________________________________________________
 Layer (type)                   Output Shape         Param #     Connected to
==================================================================================================
 face_in_a (InputLayer)         [(None, 64, 64, 3)]  0           []

 face_in_b (InputLayer)         [(None, 64, 64, 3)]  0           []

 encoder (Functional)           (None, 8, 8, 256)    29806336    ['face_in_a[0][0]',
                                                                  'face_in_b[0][0]']

 decoder_a (Functional)         (None, 64, 64, 3)    10630019    ['encoder[0][0]']

 decoder_b (Functional)         (None, 64, 64, 3)    10630019    ['encoder[1][0]']

==================================================================================================
Total params: 51,066,374
Trainable params: 51,066,374
Non-trainable params: 0
__________________________________________________________________________________________________
Model: "encoder"
_________________________________________________________________
 Layer (type)                Output Shape              Param #
=================================================================
 input_1 (InputLayer)        [(None, 64, 64, 3)]       0

 conv_128_0_conv2d (Conv2D)  (None, 32, 32, 128)       9728

 conv_128_0_leakyrelu (Leaky  (None, 32, 32, 128)      0
 ReLU)

 conv_256_0_conv2d (Conv2D)  (None, 16, 16, 256)       819456

 conv_256_0_leakyrelu (Leaky  (None, 16, 16, 256)      0
 ReLU)

 conv_512_0_conv2d (Conv2D)  (None, 8, 8, 512)         3277312

 conv_512_0_leakyrelu (Leaky  (None, 8, 8, 512)        0
 ReLU)

 flatten (Flatten)           (None, 32768)             0

 dense (Dense)               (None, 512)               16777728

 dense_1 (Dense)             (None, 8192)              4202496

 reshape (Reshape)           (None, 4, 4, 512)         0

 upscale_256_0_conv2d_conv2d  (None, 4, 4, 1024)       4719616
  (Conv2D)

 upscale_256_0_conv2d_leakyr  (None, 4, 4, 1024)       0
 elu (LeakyReLU)

 upscale_256_0_pixelshuffler  (None, 8, 8, 256)        0
  (PixelShuffler)

=================================================================
Total params: 29,806,336
Trainable params: 29,806,336
Non-trainable params: 0
_________________________________________________________________
Model: "decoder_a"
_________________________________________________________________
 Layer (type)                Output Shape              Param #
=================================================================
 input_2 (InputLayer)        [(None, 8, 8, 256)]       0

 upscale_512_0_conv2d_conv2d  (None, 8, 8, 2048)       4720640
  (Conv2D)

 upscale_512_0_conv2d_leakyr  (None, 8, 8, 2048)       0
 elu (LeakyReLU)

 upscale_512_0_pixelshuffler  (None, 16, 16, 512)      0
  (PixelShuffler)

 upscale_256_1_conv2d_conv2d  (None, 16, 16, 1024)     4719616
  (Conv2D)

 upscale_256_1_conv2d_leakyr  (None, 16, 16, 1024)     0
 elu (LeakyReLU)

 upscale_256_1_pixelshuffler  (None, 32, 32, 256)      0
  (PixelShuffler)

 upscale_128_0_conv2d_conv2d  (None, 32, 32, 512)      1180160
  (Conv2D)

 upscale_128_0_conv2d_leakyr  (None, 32, 32, 512)      0
 elu (LeakyReLU)

 upscale_128_0_pixelshuffler  (None, 64, 64, 128)      0
  (PixelShuffler)

 face_out_a_conv2d (Conv2D)  (None, 64, 64, 3)         9603

 face_out_a (Activation)     (None, 64, 64, 3)         0

=================================================================
Total params: 10,630,019
Trainable params: 10,630,019
Non-trainable params: 0
_________________________________________________________________
Model: "decoder_b"
_________________________________________________________________
 Layer (type)                Output Shape              Param #
=================================================================
 input_3 (InputLayer)        [(None, 8, 8, 256)]       0

 upscale_512_1_conv2d_conv2d  (None, 8, 8, 2048)       4720640
  (Conv2D)

 upscale_512_1_conv2d_leakyr  (None, 8, 8, 2048)       0
 elu (LeakyReLU)

 upscale_512_1_pixelshuffler  (None, 16, 16, 512)      0
  (PixelShuffler)

 upscale_256_2_conv2d_conv2d  (None, 16, 16, 1024)     4719616
  (Conv2D)

 upscale_256_2_conv2d_leakyr  (None, 16, 16, 1024)     0
 elu (LeakyReLU)

 upscale_256_2_pixelshuffler  (None, 32, 32, 256)      0
  (PixelShuffler)

 upscale_128_1_conv2d_conv2d  (None, 32, 32, 512)      1180160
  (Conv2D)

 upscale_128_1_conv2d_leakyr  (None, 32, 32, 512)      0
 elu (LeakyReLU)

 upscale_128_1_pixelshuffler  (None, 64, 64, 128)      0
  (PixelShuffler)

 face_out_b_conv2d (Conv2D)  (None, 64, 64, 3)         9603

 face_out_b (Activation)     (None, 64, 64, 3)         0

=================================================================
Total params: 10,630,019
Trainable params: 10,630,019
Non-trainable params: 0
_________________________________________________________________

3.iae

Model: "iae"
__________________________________________________________________________________________________
 Layer (type)                   Output Shape         Param #     Connected to
==================================================================================================
 face_in_a (InputLayer)         [(None, 64, 64, 3)]  0           []

 face_in_b (InputLayer)         [(None, 64, 64, 3)]  0           []

 encoder (Functional)           (None, 16384)        17214720    ['face_in_a[0][0]',
                                                                  'face_in_b[0][0]']

 inter_a (Functional)           (None, 4, 4, 512)    25175040    ['encoder[0][0]']

 inter_both (Functional)        (None, 4, 4, 512)    25175040    ['encoder[0][0]',
                                                                  'encoder[1][0]']

 inter_b (Functional)           (None, 4, 4, 512)    25175040    ['encoder[1][0]']

 concatenate (Concatenate)      (None, 4, 4, 1024)   0           ['inter_a[0][0]',
                                                                  'inter_both[0][0]']

 concatenate_1 (Concatenate)    (None, 4, 4, 1024)   0           ['inter_b[0][0]',
                                                                  'inter_both[1][0]']

 decoder (Functional)           (None, 64, 64, 3)    25076163    ['concatenate[0][0]',
                                                                  'concatenate_1[0][0]']

==================================================================================================
Total params: 117,816,003
Trainable params: 117,816,003
Non-trainable params: 0
__________________________________________________________________________________________________
Model: "encoder"
_________________________________________________________________
 Layer (type)                Output Shape              Param #
=================================================================
 input_1 (InputLayer)        [(None, 64, 64, 3)]       0

 conv_128_0_conv2d (Conv2D)  (None, 32, 32, 128)       9728

 conv_128_0_leakyrelu (Leaky  (None, 32, 32, 128)      0
 ReLU)

 conv_256_0_conv2d (Conv2D)  (None, 16, 16, 256)       819456

 conv_256_0_leakyrelu (Leaky  (None, 16, 16, 256)      0
 ReLU)

 conv_512_0_conv2d (Conv2D)  (None, 8, 8, 512)         3277312

 conv_512_0_leakyrelu (Leaky  (None, 8, 8, 512)        0
 ReLU)

 conv_1024_0_conv2d (Conv2D)  (None, 4, 4, 1024)       13108224

 conv_1024_0_leakyrelu (Leak  (None, 4, 4, 1024)       0
 yReLU)

 flatten (Flatten)           (None, 16384)             0

=================================================================
Total params: 17,214,720
Trainable params: 17,214,720
Non-trainable params: 0
_________________________________________________________________
Model: "inter_a"
_________________________________________________________________
 Layer (type)                Output Shape              Param #
=================================================================
 input_3 (InputLayer)        [(None, 16384)]           0

 dense (Dense)               (None, 1024)              16778240

 dense_1 (Dense)             (None, 8192)              8396800

 reshape (Reshape)           (None, 4, 4, 512)         0

=================================================================
Total params: 25,175,040
Trainable params: 25,175,040
Non-trainable params: 0
_________________________________________________________________
Model: "inter_both"
_________________________________________________________________
 Layer (type)                Output Shape              Param #
=================================================================
 input_5 (InputLayer)        [(None, 16384)]           0

 dense_4 (Dense)             (None, 1024)              16778240

 dense_5 (Dense)             (None, 8192)              8396800

 reshape_2 (Reshape)         (None, 4, 4, 512)         0

=================================================================
Total params: 25,175,040
Trainable params: 25,175,040
Non-trainable params: 0
_________________________________________________________________
Model: "inter_b"
_________________________________________________________________
 Layer (type)                Output Shape              Param #
=================================================================
 input_4 (InputLayer)        [(None, 16384)]           0

 dense_2 (Dense)             (None, 1024)              16778240

 dense_3 (Dense)             (None, 8192)              8396800

 reshape_1 (Reshape)         (None, 4, 4, 512)         0

=================================================================
Total params: 25,175,040
Trainable params: 25,175,040
Non-trainable params: 0
_________________________________________________________________
Model: "decoder"
_________________________________________________________________
 Layer (type)                Output Shape              Param #
=================================================================
 input_2 (InputLayer)        [(None, 4, 4, 1024)]      0

 upscale_512_0_conv2d_conv2d  (None, 4, 4, 2048)       18876416
  (Conv2D)

 upscale_512_0_conv2d_leakyr  (None, 4, 4, 2048)       0
 elu (LeakyReLU)

 upscale_512_0_pixelshuffler  (None, 8, 8, 512)        0
  (PixelShuffler)

 upscale_256_0_conv2d_conv2d  (None, 8, 8, 1024)       4719616
  (Conv2D)

 upscale_256_0_conv2d_leakyr  (None, 8, 8, 1024)       0
 elu (LeakyReLU)

 upscale_256_0_pixelshuffler  (None, 16, 16, 256)      0
  (PixelShuffler)

 upscale_128_0_conv2d_conv2d  (None, 16, 16, 512)      1180160
  (Conv2D)

 upscale_128_0_conv2d_leakyr  (None, 16, 16, 512)      0
 elu (LeakyReLU)

 upscale_128_0_pixelshuffler  (None, 32, 32, 128)      0
  (PixelShuffler)

 upscale_64_0_conv2d_conv2d   (None, 32, 32, 256)      295168
 (Conv2D)

 upscale_64_0_conv2d_leakyre  (None, 32, 32, 256)      0
 lu (LeakyReLU)

 upscale_64_0_pixelshuffler   (None, 64, 64, 64)       0
 (PixelShuffler)

 face_out_conv2d (Conv2D)    (None, 64, 64, 3)         4803

 face_out (Activation)       (None, 64, 64, 3)         0

=================================================================
Total params: 25,076,163
Trainable params: 25,076,163
Non-trainable params: 0
_________________________________________________________________

4.dlight

Model: "dlight"
__________________________________________________________________________________________________
 Layer (type)                   Output Shape         Param #     Connected to
==================================================================================================
 face_in_a (InputLayer)         [(None, 128, 128, 3  0           []
                                )]

 face_in_b (InputLayer)         [(None, 128, 128, 3  0           []
                                )]

 encoder (Functional)           (None, 4, 4, 1024)   61783296    ['face_in_a[0][0]',
                                                                  'face_in_b[0][0]']

 decoder_a (Functional)         (None, 256, 256, 3)  6869523     ['encoder[0][0]']

 decoder_b (Functional)         (None, 256, 256, 3)  74961187    ['encoder[1][0]']

==================================================================================================
Total params: 143,614,006
Trainable params: 143,612,726
Non-trainable params: 1,280
__________________________________________________________________________________________________
Model: "encoder"
__________________________________________________________________________________________________
 Layer (type)                   Output Shape         Param #     Connected to
==================================================================================================
 input_1 (InputLayer)           [(None, 128, 128, 3  0           []
                                )]

 conv_32_0_conv2d (Conv2D)      (None, 64, 64, 32)   2432        ['input_1[0][0]']

 average_pooling2d (AveragePool  (None, 64, 64, 3)   0           ['input_1[0][0]']
 ing2D)

 conv_32_0_leakyrelu (LeakyReLU  (None, 64, 64, 32)  0           ['conv_32_0_conv2d[0][0]']
 )

 leaky_re_lu (LeakyReLU)        (None, 64, 64, 3)    0           ['average_pooling2d[0][0]']

 concatenate (Concatenate)      (None, 64, 64, 35)   0           ['conv_32_0_leakyrelu[0][0]',
                                                                  'leaky_re_lu[0][0]']

 conv_64_0_conv2d (Conv2D)      (None, 32, 32, 64)   56064       ['concatenate[0][0]']

 average_pooling2d_1 (AveragePo  (None, 32, 32, 35)  0           ['concatenate[0][0]']
 oling2D)

 conv_64_0_leakyrelu (LeakyReLU  (None, 32, 32, 64)  0           ['conv_64_0_conv2d[0][0]']
 )

 leaky_re_lu_1 (LeakyReLU)      (None, 32, 32, 35)   0           ['average_pooling2d_1[0][0]']

 concatenate_1 (Concatenate)    (None, 32, 32, 99)   0           ['conv_64_0_leakyrelu[0][0]',
                                                                  'leaky_re_lu_1[0][0]']

 conv_128_0_conv2d (Conv2D)     (None, 16, 16, 128)  316928      ['concatenate_1[0][0]']

 average_pooling2d_2 (AveragePo  (None, 16, 16, 99)  0           ['concatenate_1[0][0]']
 oling2D)

 conv_128_0_leakyrelu (LeakyReL  (None, 16, 16, 128)  0          ['conv_128_0_conv2d[0][0]']
 U)

 leaky_re_lu_2 (LeakyReLU)      (None, 16, 16, 99)   0           ['average_pooling2d_2[0][0]']

 concatenate_2 (Concatenate)    (None, 16, 16, 227)  0           ['conv_128_0_leakyrelu[0][0]',
                                                                  'leaky_re_lu_2[0][0]']

 conv_256_0_conv2d (Conv2D)     (None, 8, 8, 256)    1453056     ['concatenate_2[0][0]']

 average_pooling2d_3 (AveragePo  (None, 8, 8, 227)   0           ['concatenate_2[0][0]']
 oling2D)

 conv_256_0_leakyrelu (LeakyReL  (None, 8, 8, 256)   0           ['conv_256_0_conv2d[0][0]']
 U)

 leaky_re_lu_3 (LeakyReLU)      (None, 8, 8, 227)    0           ['average_pooling2d_3[0][0]']

 concatenate_3 (Concatenate)    (None, 8, 8, 483)    0           ['conv_256_0_leakyrelu[0][0]',
                                                                  'leaky_re_lu_3[0][0]']

 conv_512_0_conv2d (Conv2D)     (None, 4, 4, 512)    6182912     ['concatenate_3[0][0]']

 average_pooling2d_4 (AveragePo  (None, 4, 4, 483)   0           ['concatenate_3[0][0]']
 oling2D)

 conv_512_0_leakyrelu (LeakyReL  (None, 4, 4, 512)   0           ['conv_512_0_conv2d[0][0]']
 U)

 leaky_re_lu_4 (LeakyReLU)      (None, 4, 4, 483)    0           ['average_pooling2d_4[0][0]']

 concatenate_4 (Concatenate)    (None, 4, 4, 995)    0           ['conv_512_0_leakyrelu[0][0]',
                                                                  'leaky_re_lu_4[0][0]']

 flatten (Flatten)              (None, 15920)        0           ['concatenate_4[0][0]']

 dense (Dense)                  (None, 1664)         26492544    ['flatten[0][0]']

 dropout (Dropout)              (None, 1664)         0           ['dense[0][0]']

 dense_1 (Dense)                (None, 16384)        27279360    ['dropout[0][0]']

 dropout_1 (Dropout)            (None, 16384)        0           ['dense_1[0][0]']

 reshape (Reshape)              (None, 4, 4, 1024)   0           ['dropout_1[0][0]']

==================================================================================================
Total params: 61,783,296
Trainable params: 61,783,296
Non-trainable params: 0
__________________________________________________________________________________________________
Model: "decoder_a"
__________________________________________________________________________________________________
 Layer (type)                   Output Shape         Param #     Connected to
==================================================================================================
 input_2 (InputLayer)           [(None, 4, 4, 1024)  0           []
                                ]

 up_sampling2d (UpSampling2D)   (None, 16, 16, 1024  0           ['input_2[0][0]']
                                )

 upscale_128_0_conv2d_conv2d (C  (None, 16, 16, 512)  4719104    ['up_sampling2d[0][0]']
 onv2D)

 upscale_128_0_conv2d_leakyrelu  (None, 16, 16, 512)  0          ['upscale_128_0_conv2d_conv2d[0][
  (LeakyReLU)                                                    0]']

 upscale2x_256_hyb_0_conv2d (Co  (None, 16, 16, 128)  1179776    ['up_sampling2d[0][0]']
 nv2D)

 upscale_128_0_pixelshuffler (P  (None, 32, 32, 128)  0          ['upscale_128_0_conv2d_leakyrelu[
 ixelShuffler)                                                   0][0]']

 upscale2x_256_hyb_0_upsampling  (None, 32, 32, 128)  0          ['upscale2x_256_hyb_0_conv2d[0][0
 2D (UpSampling2D)                                               ]']

 upscale2x_256_hyb_0_concatenat  (None, 32, 32, 256)  0          ['upscale_128_0_pixelshuffler[0][
 e (Concatenate)                                                 0]',
                                                                  'upscale2x_256_hyb_0_upsampling2
                                                                 D[0][0]']

 upscale_64_0_conv2d_conv2d (Co  (None, 32, 32, 256)  590080     ['upscale2x_256_hyb_0_concatenate
 nv2D)                                                           [0][0]']

 upscale_64_0_conv2d_leakyrelu   (None, 32, 32, 256)  0          ['upscale_64_0_conv2d_conv2d[0][0
 (LeakyReLU)                                                     ]']

 upscale2x_128_hyb_0_conv2d (Co  (None, 32, 32, 64)  147520      ['upscale2x_256_hyb_0_concatenate
 nv2D)                                                           [0][0]']

 upscale_64_0_pixelshuffler (Pi  (None, 64, 64, 64)  0           ['upscale_64_0_conv2d_leakyrelu[0
 xelShuffler)                                                    ][0]']

 upscale2x_128_hyb_0_upsampling  (None, 64, 64, 64)  0           ['upscale2x_128_hyb_0_conv2d[0][0
 2D (UpSampling2D)                                               ]']

 upscale2x_128_hyb_0_concatenat  (None, 64, 64, 128)  0          ['upscale_64_0_pixelshuffler[0][0
 e (Concatenate)                                                 ]',
                                                                  'upscale2x_128_hyb_0_upsampling2
                                                                 D[0][0]']

 upscale_32_0_conv2d_conv2d (Co  (None, 64, 64, 128)  147584     ['upscale2x_128_hyb_0_concatenate
 nv2D)                                                           [0][0]']

 upscale_32_0_conv2d_leakyrelu   (None, 64, 64, 128)  0          ['upscale_32_0_conv2d_conv2d[0][0
 (LeakyReLU)                                                     ]']

 upscale2x_64_hyb_0_conv2d (Con  (None, 64, 64, 32)  36896       ['upscale2x_128_hyb_0_concatenate
 v2D)                                                            [0][0]']

 upscale_32_0_pixelshuffler (Pi  (None, 128, 128, 32  0          ['upscale_32_0_conv2d_leakyrelu[0
 xelShuffler)                   )                                ][0]']

 upscale2x_64_hyb_0_upsampling2  (None, 128, 128, 32  0          ['upscale2x_64_hyb_0_conv2d[0][0]
 D (UpSampling2D)               )                                ']

 upscale2x_64_hyb_0_concatenate  (None, 128, 128, 64  0          ['upscale_32_0_pixelshuffler[0][0
  (Concatenate)                 )                                ]',
                                                                  'upscale2x_64_hyb_0_upsampling2D
                                                                 [0][0]']

 upscale_16_0_conv2d_conv2d (Co  (None, 128, 128, 64  36928      ['upscale2x_64_hyb_0_concatenate[
 nv2D)                          )                                0][0]']

 upscale_16_0_conv2d_leakyrelu   (None, 128, 128, 64  0          ['upscale_16_0_conv2d_conv2d[0][0
 (LeakyReLU)                    )                                ]']

 upscale2x_32_hyb_0_conv2d (Con  (None, 128, 128, 16  9232       ['upscale2x_64_hyb_0_concatenate[
 v2D)                           )                                0][0]']

 upscale_16_0_pixelshuffler (Pi  (None, 256, 256, 16  0          ['upscale_16_0_conv2d_leakyrelu[0
 xelShuffler)                   )                                ][0]']

 upscale2x_32_hyb_0_upsampling2  (None, 256, 256, 16  0          ['upscale2x_32_hyb_0_conv2d[0][0]
 D (UpSampling2D)               )                                ']

 upscale2x_32_hyb_0_concatenate  (None, 256, 256, 32  0          ['upscale_16_0_pixelshuffler[0][0
  (Concatenate)                 )                                ]',
                                                                  'upscale2x_32_hyb_0_upsampling2D
                                                                 [0][0]']

 face_out_conv2d (Conv2D)       (None, 256, 256, 3)  2403        ['upscale2x_32_hyb_0_concatenate[
                                                                 0][0]']

 face_out (Activation)          (None, 256, 256, 3)  0           ['face_out_conv2d[0][0]']

==================================================================================================
Total params: 6,869,523
Trainable params: 6,869,523
Non-trainable params: 0
__________________________________________________________________________________________________
Model: "decoder_b"
__________________________________________________________________________________________________
 Layer (type)                   Output Shape         Param #     Connected to
==================================================================================================
 input_3 (InputLayer)           [(None, 4, 4, 1024)  0           []
                                ]

 upscale_256_0_conv2d_conv2d (C  (None, 4, 4, 4096)  37752832    ['input_3[0][0]']
 onv2D)

 upscale2x_512_hyb_0_conv2d (Co  (None, 4, 4, 256)   2359552     ['input_3[0][0]']
 nv2D)

 upscale_256_0_pixelshuffler (P  (None, 16, 16, 256)  0          ['upscale_256_0_conv2d_conv2d[0][
 ixelShuffler)                                                   0]']

 upscale2x_512_hyb_0_upsampling  (None, 16, 16, 256)  0          ['upscale2x_512_hyb_0_conv2d[0][0
 2D (UpSampling2D)                                               ]']

 upscale2x_512_hyb_0_concatenat  (None, 16, 16, 512)  0          ['upscale_256_0_pixelshuffler[0][
 e (Concatenate)                                                 0]',
                                                                  'upscale2x_512_hyb_0_upsampling2
                                                                 D[0][0]']

 leaky_re_lu_5 (LeakyReLU)      (None, 16, 16, 512)  0           ['upscale2x_512_hyb_0_concatenate
                                                                 [0][0]']

 residual_512_0_conv2d_0 (Conv2  (None, 16, 16, 512)  2359808    ['leaky_re_lu_5[0][0]']
 D)

 residual_512_0_leakyrelu_1 (Le  (None, 16, 16, 512)  0          ['residual_512_0_conv2d_0[0][0]']
 akyReLU)

 residual_512_0_conv2d_1 (Conv2  (None, 16, 16, 512)  2359808    ['residual_512_0_leakyrelu_1[0][0
 D)                                                              ]']

 add (Add)                      (None, 16, 16, 512)  0           ['residual_512_0_conv2d_1[0][0]',
                                                                  'leaky_re_lu_5[0][0]']

 residual_512_0_leakyrelu_3 (Le  (None, 16, 16, 512)  0          ['add[0][0]']
 akyReLU)

 residual_512_1_conv2d_0 (Conv2  (None, 16, 16, 512)  2359296    ['residual_512_0_leakyrelu_3[0][0
 D)                                                              ]']

 residual_512_1_leakyrelu_1 (Le  (None, 16, 16, 512)  0          ['residual_512_1_conv2d_0[0][0]']
 akyReLU)

 residual_512_1_conv2d_1 (Conv2  (None, 16, 16, 512)  2359296    ['residual_512_1_leakyrelu_1[0][0
 D)                                                              ]']

 add_1 (Add)                    (None, 16, 16, 512)  0           ['residual_512_1_conv2d_1[0][0]',
                                                                  'residual_512_0_leakyrelu_3[0][0
                                                                 ]']

 residual_512_1_leakyrelu_3 (Le  (None, 16, 16, 512)  0          ['add_1[0][0]']
 akyReLU)

 residual_512_2_conv2d_0 (Conv2  (None, 16, 16, 512)  2359296    ['residual_512_1_leakyrelu_3[0][0
 D)                                                              ]']

 residual_512_2_leakyrelu_1 (Le  (None, 16, 16, 512)  0          ['residual_512_2_conv2d_0[0][0]']
 akyReLU)

 residual_512_2_conv2d_1 (Conv2  (None, 16, 16, 512)  2359296    ['residual_512_2_leakyrelu_1[0][0
 D)                                                              ]']

 add_2 (Add)                    (None, 16, 16, 512)  0           ['residual_512_2_conv2d_1[0][0]',
                                                                  'residual_512_1_leakyrelu_3[0][0
                                                                 ]']

 residual_512_2_leakyrelu_3 (Le  (None, 16, 16, 512)  0          ['add_2[0][0]']
 akyReLU)

 upscale_256_1_conv2d_conv2d (C  (None, 16, 16, 1024  4719616    ['residual_512_2_leakyrelu_3[0][0
 onv2D)                         )                                ]']

 upscale2x_512_hyb_1_conv2d (Co  (None, 16, 16, 256)  1179904    ['residual_512_2_leakyrelu_3[0][0
 nv2D)                                                           ]']

 upscale_256_1_pixelshuffler (P  (None, 32, 32, 256)  0          ['upscale_256_1_conv2d_conv2d[0][
 ixelShuffler)                                                   0]']

 upscale2x_512_hyb_1_upsampling  (None, 32, 32, 256)  0          ['upscale2x_512_hyb_1_conv2d[0][0
 2D (UpSampling2D)                                               ]']

 upscale2x_512_hyb_1_concatenat  (None, 32, 32, 512)  0          ['upscale_256_1_pixelshuffler[0][
 e (Concatenate)                                                 0]',
                                                                  'upscale2x_512_hyb_1_upsampling2
                                                                 D[0][0]']

 leaky_re_lu_6 (LeakyReLU)      (None, 32, 32, 512)  0           ['upscale2x_512_hyb_1_concatenate
                                                                 [0][0]']

 residual_512_3_conv2d_0 (Conv2  (None, 32, 32, 512)  2359808    ['leaky_re_lu_6[0][0]']
 D)

 residual_512_3_leakyrelu_1 (Le  (None, 32, 32, 512)  0          ['residual_512_3_conv2d_0[0][0]']
 akyReLU)

 residual_512_3_conv2d_1 (Conv2  (None, 32, 32, 512)  2359808    ['residual_512_3_leakyrelu_1[0][0
 D)                                                              ]']

 add_3 (Add)                    (None, 32, 32, 512)  0           ['residual_512_3_conv2d_1[0][0]',
                                                                  'leaky_re_lu_6[0][0]']

 residual_512_3_leakyrelu_3 (Le  (None, 32, 32, 512)  0          ['add_3[0][0]']
 akyReLU)

 residual_512_4_conv2d_0 (Conv2  (None, 32, 32, 512)  2359296    ['residual_512_3_leakyrelu_3[0][0
 D)                                                              ]']

 residual_512_4_leakyrelu_1 (Le  (None, 32, 32, 512)  0          ['residual_512_4_conv2d_0[0][0]']
 akyReLU)

 residual_512_4_conv2d_1 (Conv2  (None, 32, 32, 512)  2359296    ['residual_512_4_leakyrelu_1[0][0
 D)                                                              ]']

 add_4 (Add)                    (None, 32, 32, 512)  0           ['residual_512_4_conv2d_1[0][0]',
                                                                  'residual_512_3_leakyrelu_3[0][0
                                                                 ]']

 residual_512_4_leakyrelu_3 (Le  (None, 32, 32, 512)  0          ['add_4[0][0]']
 akyReLU)

 batch_normalization (BatchNorm  (None, 32, 32, 512)  2048       ['residual_512_4_leakyrelu_3[0][0
 alization)                                                      ]']

 upscale_128_1_conv2d_conv2d (C  (None, 32, 32, 512)  2359808    ['batch_normalization[0][0]']
 onv2D)

 upscale2x_256_hyb_1_conv2d (Co  (None, 32, 32, 128)  589952     ['batch_normalization[0][0]']
 nv2D)

 upscale_128_1_pixelshuffler (P  (None, 64, 64, 128)  0          ['upscale_128_1_conv2d_conv2d[0][
 ixelShuffler)                                                   0]']

 upscale2x_256_hyb_1_upsampling  (None, 64, 64, 128)  0          ['upscale2x_256_hyb_1_conv2d[0][0
 2D (UpSampling2D)                                               ]']

 upscale2x_256_hyb_1_concatenat  (None, 64, 64, 256)  0          ['upscale_128_1_pixelshuffler[0][
 e (Concatenate)                                                 0]',
                                                                  'upscale2x_256_hyb_1_upsampling2
                                                                 D[0][0]']

 leaky_re_lu_7 (LeakyReLU)      (None, 64, 64, 256)  0           ['upscale2x_256_hyb_1_concatenate
                                                                 [0][0]']

 residual_256_0_conv2d_0 (Conv2  (None, 64, 64, 256)  590080     ['leaky_re_lu_7[0][0]']
 D)

 residual_256_0_leakyrelu_1 (Le  (None, 64, 64, 256)  0          ['residual_256_0_conv2d_0[0][0]']
 akyReLU)

 residual_256_0_conv2d_1 (Conv2  (None, 64, 64, 256)  590080     ['residual_256_0_leakyrelu_1[0][0
 D)                                                              ]']

 add_5 (Add)                    (None, 64, 64, 256)  0           ['residual_256_0_conv2d_1[0][0]',
                                                                  'leaky_re_lu_7[0][0]']

 residual_256_0_leakyrelu_3 (Le  (None, 64, 64, 256)  0          ['add_5[0][0]']
 akyReLU)

 upscale_64_1_conv2d_conv2d (Co  (None, 64, 64, 256)  590080     ['residual_256_0_leakyrelu_3[0][0
 nv2D)                                                           ]']

 upscale2x_128_hyb_1_conv2d (Co  (None, 64, 64, 64)  147520      ['residual_256_0_leakyrelu_3[0][0
 nv2D)                                                           ]']

 upscale_64_1_pixelshuffler (Pi  (None, 128, 128, 64  0          ['upscale_64_1_conv2d_conv2d[0][0
 xelShuffler)                   )                                ]']

 upscale2x_128_hyb_1_upsampling  (None, 128, 128, 64  0          ['upscale2x_128_hyb_1_conv2d[0][0
 2D (UpSampling2D)              )                                ]']

 upscale2x_128_hyb_1_concatenat  (None, 128, 128, 12  0          ['upscale_64_1_pixelshuffler[0][0
 e (Concatenate)                8)                               ]',
                                                                  'upscale2x_128_hyb_1_upsampling2
                                                                 D[0][0]']

 leaky_re_lu_8 (LeakyReLU)      (None, 128, 128, 12  0           ['upscale2x_128_hyb_1_concatenate
                                8)                               [0][0]']

 residual_128_0_conv2d_0 (Conv2  (None, 128, 128, 12  147456     ['leaky_re_lu_8[0][0]']
 D)                             8)

 residual_128_0_leakyrelu_1 (Le  (None, 128, 128, 12  0          ['residual_128_0_conv2d_0[0][0]']
 akyReLU)                       8)

 residual_128_0_conv2d_1 (Conv2  (None, 128, 128, 12  147456     ['residual_128_0_leakyrelu_1[0][0
 D)                             8)                               ]']

 add_6 (Add)                    (None, 128, 128, 12  0           ['residual_128_0_conv2d_1[0][0]',
                                8)                                'leaky_re_lu_8[0][0]']

 residual_128_0_leakyrelu_3 (Le  (None, 128, 128, 12  0          ['add_6[0][0]']
 akyReLU)                       8)

 batch_normalization_1 (BatchNo  (None, 128, 128, 12  512        ['residual_128_0_leakyrelu_3[0][0
 rmalization)                   8)                               ]']

 upscale_32_1_conv2d_conv2d (Co  (None, 128, 128, 12  147584     ['batch_normalization_1[0][0]']
 nv2D)                          8)

 upscale_32_1_conv2d_leakyrelu   (None, 128, 128, 12  0          ['upscale_32_1_conv2d_conv2d[0][0
 (LeakyReLU)                    8)                               ]']

 upscale2x_64_hyb_1_conv2d (Con  (None, 128, 128, 32  36896      ['batch_normalization_1[0][0]']
 v2D)                           )

 upscale_32_1_pixelshuffler (Pi  (None, 256, 256, 32  0          ['upscale_32_1_conv2d_leakyrelu[0
 xelShuffler)                   )                                ][0]']

 upscale2x_64_hyb_1_upsampling2  (None, 256, 256, 32  0          ['upscale2x_64_hyb_1_conv2d[0][0]
 D (UpSampling2D)               )                                ']

 upscale2x_64_hyb_1_concatenate  (None, 256, 256, 64  0          ['upscale_32_1_pixelshuffler[0][0
  (Concatenate)                 )                                ]',
                                                                  'upscale2x_64_hyb_1_upsampling2D
                                                                 [0][0]']

 face_out_conv2d (Conv2D)       (None, 256, 256, 3)  4803        ['upscale2x_64_hyb_1_concatenate[
                                                                 0][0]']

 face_out (Activation)          (None, 256, 256, 3)  0           ['face_out_conv2d[0][0]']

==================================================================================================
Total params: 74,961,187
Trainable params: 74,959,907
Non-trainable params: 1,280
___________________________________________________________________________________________

5.dfaker

Model: "dfaker"
__________________________________________________________________________________________________
 Layer (type)                   Output Shape         Param #     Connected to
==================================================================================================
 face_in_a (InputLayer)         [(None, 64, 64, 3)]  0           []

 face_in_b (InputLayer)         [(None, 64, 64, 3)]  0           []

 encoder (Functional)           (None, 8, 8, 512)    69662976    ['face_in_a[0][0]',
                                                                  'face_in_b[0][0]']

 decoder_a (Functional)         (None, 128, 128, 3)  21833923    ['encoder[0][0]']

 decoder_b (Functional)         (None, 128, 128, 3)  21833923    ['encoder[1][0]']

==================================================================================================
Total params: 113,330,822
Trainable params: 113,330,822
Non-trainable params: 0
__________________________________________________________________________________________________
Model: "encoder"
_________________________________________________________________
 Layer (type)                Output Shape              Param #
=================================================================
 input_1 (InputLayer)        [(None, 64, 64, 3)]       0

 conv_128_0_conv2d (Conv2D)  (None, 32, 32, 128)       9728

 conv_128_0_leakyrelu (Leaky  (None, 32, 32, 128)      0
 ReLU)

 conv_256_0_conv2d (Conv2D)  (None, 16, 16, 256)       819456

 conv_256_0_leakyrelu (Leaky  (None, 16, 16, 256)      0
 ReLU)

 conv_512_0_conv2d (Conv2D)  (None, 8, 8, 512)         3277312

 conv_512_0_leakyrelu (Leaky  (None, 8, 8, 512)        0
 ReLU)

 conv_1024_0_conv2d (Conv2D)  (None, 4, 4, 1024)       13108224

 conv_1024_0_leakyrelu (Leak  (None, 4, 4, 1024)       0
 yReLU)

 flatten (Flatten)           (None, 16384)             0

 dense (Dense)               (None, 1024)              16778240

 dense_1 (Dense)             (None, 16384)             16793600

 reshape (Reshape)           (None, 4, 4, 1024)        0

 upscale_512_0_conv2d_conv2d  (None, 4, 4, 2048)       18876416
  (Conv2D)

 upscale_512_0_conv2d_leakyr  (None, 4, 4, 2048)       0
 elu (LeakyReLU)

 upscale_512_0_pixelshuffler  (None, 8, 8, 512)        0
  (PixelShuffler)

=================================================================
Total params: 69,662,976
Trainable params: 69,662,976
Non-trainable params: 0
_________________________________________________________________
Model: "decoder_a"
__________________________________________________________________________________________________
 Layer (type)                   Output Shape         Param #     Connected to
==================================================================================================
 input_2 (InputLayer)           [(None, 8, 8, 512)]  0           []

 upscale_512_1_conv2d_conv2d (C  (None, 8, 8, 2048)  9439232     ['input_2[0][0]']
 onv2D)

 upscale_512_1_pixelshuffler (P  (None, 16, 16, 512)  0          ['upscale_512_1_conv2d_conv2d[0][
 ixelShuffler)                                                   0]']

 leaky_re_lu (LeakyReLU)        (None, 16, 16, 512)  0           ['upscale_512_1_pixelshuffler[0][
                                                                 0]']

 residual_512_0_conv2d_0 (Conv2  (None, 16, 16, 512)  2359808    ['leaky_re_lu[0][0]']
 D)

 residual_512_0_leakyrelu_1 (Le  (None, 16, 16, 512)  0          ['residual_512_0_conv2d_0[0][0]']
 akyReLU)

 residual_512_0_conv2d_1 (Conv2  (None, 16, 16, 512)  2359808    ['residual_512_0_leakyrelu_1[0][0
 D)                                                              ]']

 add (Add)                      (None, 16, 16, 512)  0           ['residual_512_0_conv2d_1[0][0]',
                                                                  'leaky_re_lu[0][0]']

 residual_512_0_leakyrelu_3 (Le  (None, 16, 16, 512)  0          ['add[0][0]']
 akyReLU)

 upscale_256_0_conv2d_conv2d (C  (None, 16, 16, 1024  4719616    ['residual_512_0_leakyrelu_3[0][0
 onv2D)                         )                                ]']

 upscale_256_0_pixelshuffler (P  (None, 32, 32, 256)  0          ['upscale_256_0_conv2d_conv2d[0][
 ixelShuffler)                                                   0]']

 leaky_re_lu_1 (LeakyReLU)      (None, 32, 32, 256)  0           ['upscale_256_0_pixelshuffler[0][
                                                                 0]']

 residual_256_0_conv2d_0 (Conv2  (None, 32, 32, 256)  590080     ['leaky_re_lu_1[0][0]']
 D)

 residual_256_0_leakyrelu_1 (Le  (None, 32, 32, 256)  0          ['residual_256_0_conv2d_0[0][0]']
 akyReLU)

 residual_256_0_conv2d_1 (Conv2  (None, 32, 32, 256)  590080     ['residual_256_0_leakyrelu_1[0][0
 D)                                                              ]']

 add_1 (Add)                    (None, 32, 32, 256)  0           ['residual_256_0_conv2d_1[0][0]',
                                                                  'leaky_re_lu_1[0][0]']

 residual_256_0_leakyrelu_3 (Le  (None, 32, 32, 256)  0          ['add_1[0][0]']
 akyReLU)

 upscale_128_0_conv2d_conv2d (C  (None, 32, 32, 512)  1180160    ['residual_256_0_leakyrelu_3[0][0
 onv2D)                                                          ]']

 upscale_128_0_pixelshuffler (P  (None, 64, 64, 128)  0          ['upscale_128_0_conv2d_conv2d[0][
 ixelShuffler)                                                   0]']

 leaky_re_lu_2 (LeakyReLU)      (None, 64, 64, 128)  0           ['upscale_128_0_pixelshuffler[0][
                                                                 0]']

 residual_128_0_conv2d_0 (Conv2  (None, 64, 64, 128)  147584     ['leaky_re_lu_2[0][0]']
 D)

 residual_128_0_leakyrelu_1 (Le  (None, 64, 64, 128)  0          ['residual_128_0_conv2d_0[0][0]']
 akyReLU)

 residual_128_0_conv2d_1 (Conv2  (None, 64, 64, 128)  147584     ['residual_128_0_leakyrelu_1[0][0
 D)                                                              ]']

 add_2 (Add)                    (None, 64, 64, 128)  0           ['residual_128_0_conv2d_1[0][0]',
                                                                  'leaky_re_lu_2[0][0]']

 residual_128_0_leakyrelu_3 (Le  (None, 64, 64, 128)  0          ['add_2[0][0]']
 akyReLU)

 upscale_64_0_conv2d_conv2d (Co  (None, 64, 64, 256)  295168     ['residual_128_0_leakyrelu_3[0][0
 nv2D)                                                           ]']

 upscale_64_0_conv2d_leakyrelu   (None, 64, 64, 256)  0          ['upscale_64_0_conv2d_conv2d[0][0
 (LeakyReLU)                                                     ]']

 upscale_64_0_pixelshuffler (Pi  (None, 128, 128, 64  0          ['upscale_64_0_conv2d_leakyrelu[0
 xelShuffler)                   )                                ][0]']

 face_out_a_conv2d (Conv2D)     (None, 128, 128, 3)  4803        ['upscale_64_0_pixelshuffler[0][0
                                                                 ]']

 face_out_a (Activation)        (None, 128, 128, 3)  0           ['face_out_a_conv2d[0][0]']

==================================================================================================
Total params: 21,833,923
Trainable params: 21,833,923
Non-trainable params: 0
__________________________________________________________________________________________________
Model: "decoder_b"
__________________________________________________________________________________________________
 Layer (type)                   Output Shape         Param #     Connected to
==================================================================================================
 input_3 (InputLayer)           [(None, 8, 8, 512)]  0           []

 upscale_512_2_conv2d_conv2d (C  (None, 8, 8, 2048)  9439232     ['input_3[0][0]']
 onv2D)

 upscale_512_2_pixelshuffler (P  (None, 16, 16, 512)  0          ['upscale_512_2_conv2d_conv2d[0][
 ixelShuffler)                                                   0]']

 leaky_re_lu_3 (LeakyReLU)      (None, 16, 16, 512)  0           ['upscale_512_2_pixelshuffler[0][
                                                                 0]']

 residual_512_1_conv2d_0 (Conv2  (None, 16, 16, 512)  2359808    ['leaky_re_lu_3[0][0]']
 D)

 residual_512_1_leakyrelu_1 (Le  (None, 16, 16, 512)  0          ['residual_512_1_conv2d_0[0][0]']
 akyReLU)

 residual_512_1_conv2d_1 (Conv2  (None, 16, 16, 512)  2359808    ['residual_512_1_leakyrelu_1[0][0
 D)                                                              ]']

 add_3 (Add)                    (None, 16, 16, 512)  0           ['residual_512_1_conv2d_1[0][0]',
                                                                  'leaky_re_lu_3[0][0]']

 residual_512_1_leakyrelu_3 (Le  (None, 16, 16, 512)  0          ['add_3[0][0]']
 akyReLU)

 upscale_256_1_conv2d_conv2d (C  (None, 16, 16, 1024  4719616    ['residual_512_1_leakyrelu_3[0][0
 onv2D)                         )                                ]']

 upscale_256_1_pixelshuffler (P  (None, 32, 32, 256)  0          ['upscale_256_1_conv2d_conv2d[0][
 ixelShuffler)                                                   0]']

 leaky_re_lu_4 (LeakyReLU)      (None, 32, 32, 256)  0           ['upscale_256_1_pixelshuffler[0][
                                                                 0]']

 residual_256_1_conv2d_0 (Conv2  (None, 32, 32, 256)  590080     ['leaky_re_lu_4[0][0]']
 D)

 residual_256_1_leakyrelu_1 (Le  (None, 32, 32, 256)  0          ['residual_256_1_conv2d_0[0][0]']
 akyReLU)

 residual_256_1_conv2d_1 (Conv2  (None, 32, 32, 256)  590080     ['residual_256_1_leakyrelu_1[0][0
 D)                                                              ]']

 add_4 (Add)                    (None, 32, 32, 256)  0           ['residual_256_1_conv2d_1[0][0]',
                                                                  'leaky_re_lu_4[0][0]']

 residual_256_1_leakyrelu_3 (Le  (None, 32, 32, 256)  0          ['add_4[0][0]']
 akyReLU)

 upscale_128_1_conv2d_conv2d (C  (None, 32, 32, 512)  1180160    ['residual_256_1_leakyrelu_3[0][0
 onv2D)                                                          ]']

 upscale_128_1_pixelshuffler (P  (None, 64, 64, 128)  0          ['upscale_128_1_conv2d_conv2d[0][
 ixelShuffler)                                                   0]']

 leaky_re_lu_5 (LeakyReLU)      (None, 64, 64, 128)  0           ['upscale_128_1_pixelshuffler[0][
                                                                 0]']

 residual_128_1_conv2d_0 (Conv2  (None, 64, 64, 128)  147584     ['leaky_re_lu_5[0][0]']
 D)

 residual_128_1_leakyrelu_1 (Le  (None, 64, 64, 128)  0          ['residual_128_1_conv2d_0[0][0]']
 akyReLU)

 residual_128_1_conv2d_1 (Conv2  (None, 64, 64, 128)  147584     ['residual_128_1_leakyrelu_1[0][0
 D)                                                              ]']

 add_5 (Add)                    (None, 64, 64, 128)  0           ['residual_128_1_conv2d_1[0][0]',
                                                                  'leaky_re_lu_5[0][0]']

 residual_128_1_leakyrelu_3 (Le  (None, 64, 64, 128)  0          ['add_5[0][0]']
 akyReLU)

 upscale_64_1_conv2d_conv2d (Co  (None, 64, 64, 256)  295168     ['residual_128_1_leakyrelu_3[0][0
 nv2D)                                                           ]']

 upscale_64_1_conv2d_leakyrelu   (None, 64, 64, 256)  0          ['upscale_64_1_conv2d_conv2d[0][0
 (LeakyReLU)                                                     ]']

 upscale_64_1_pixelshuffler (Pi  (None, 128, 128, 64  0          ['upscale_64_1_conv2d_leakyrelu[0
 xelShuffler)                   )                                ][0]']

 face_out_b_conv2d (Conv2D)     (None, 128, 128, 3)  4803        ['upscale_64_1_pixelshuffler[0][0
                                                                 ]']

 face_out_b (Activation)        (None, 128, 128, 3)  0           ['face_out_b_conv2d[0][0]']

==================================================================================================
Total params: 21,833,923
Trainable params: 21,833,923
Non-trainable params: 0
__________________________________________________________________________________________________

6.dfl_h128

Model: "dfl_h128"
__________________________________________________________________________________________________
 Layer (type)                   Output Shape         Param #     Connected to
==================================================================================================
 face_in_a (InputLayer)         [(None, 128, 128, 3  0           []
                                )]

 face_in_b (InputLayer)         [(None, 128, 128, 3  0           []
                                )]

 encoder (Functional)           (None, 16, 16, 512)  77018880    ['face_in_a[0][0]',
                                                                  'face_in_b[0][0]']

 decoder_a (Functional)         (None, 128, 128, 3)  15348611    ['encoder[0][0]']

 decoder_b (Functional)         (None, 128, 128, 3)  15348611    ['encoder[1][0]']

==================================================================================================
Total params: 107,716,102
Trainable params: 107,716,102
Non-trainable params: 0
__________________________________________________________________________________________________
Model: "encoder"
_________________________________________________________________
 Layer (type)                Output Shape              Param #
=================================================================
 input_1 (InputLayer)        [(None, 128, 128, 3)]     0

 conv_128_0_conv2d (Conv2D)  (None, 64, 64, 128)       9728

 conv_128_0_leakyrelu (Leaky  (None, 64, 64, 128)      0
 ReLU)

 conv_256_0_conv2d (Conv2D)  (None, 32, 32, 256)       819456

 conv_256_0_leakyrelu (Leaky  (None, 32, 32, 256)      0
 ReLU)

 conv_512_0_conv2d (Conv2D)  (None, 16, 16, 512)       3277312

 conv_512_0_leakyrelu (Leaky  (None, 16, 16, 512)      0
 ReLU)

 conv_1024_0_conv2d (Conv2D)  (None, 8, 8, 1024)       13108224

 conv_1024_0_leakyrelu (Leak  (None, 8, 8, 1024)       0
 yReLU)

 flatten (Flatten)           (None, 65536)             0

 dense (Dense)               (None, 512)               33554944

 dense_1 (Dense)             (None, 32768)             16809984

 reshape (Reshape)           (None, 8, 8, 512)         0

 upscale_512_0_conv2d_conv2d  (None, 8, 8, 2048)       9439232
  (Conv2D)

 upscale_512_0_conv2d_leakyr  (None, 8, 8, 2048)       0
 elu (LeakyReLU)

 upscale_512_0_pixelshuffler  (None, 16, 16, 512)      0
  (PixelShuffler)

=================================================================
Total params: 77,018,880
Trainable params: 77,018,880
Non-trainable params: 0
_________________________________________________________________
Model: "decoder_a"
_________________________________________________________________
 Layer (type)                Output Shape              Param #
=================================================================
 input_2 (InputLayer)        [(None, 16, 16, 512)]     0

 upscale_512_1_conv2d_conv2d  (None, 16, 16, 2048)     9439232
  (Conv2D)

 upscale_512_1_conv2d_leakyr  (None, 16, 16, 2048)     0
 elu (LeakyReLU)

 upscale_512_1_pixelshuffler  (None, 32, 32, 512)      0
  (PixelShuffler)

 upscale_256_0_conv2d_conv2d  (None, 32, 32, 1024)     4719616
  (Conv2D)

 upscale_256_0_conv2d_leakyr  (None, 32, 32, 1024)     0
 elu (LeakyReLU)

 upscale_256_0_pixelshuffler  (None, 64, 64, 256)      0
  (PixelShuffler)

 upscale_128_0_conv2d_conv2d  (None, 64, 64, 512)      1180160
  (Conv2D)

 upscale_128_0_conv2d_leakyr  (None, 64, 64, 512)      0
 elu (LeakyReLU)

 upscale_128_0_pixelshuffler  (None, 128, 128, 128)    0
  (PixelShuffler)

 face_out_a_conv2d (Conv2D)  (None, 128, 128, 3)       9603

 face_out_a (Activation)     (None, 128, 128, 3)       0

=================================================================
Total params: 15,348,611
Trainable params: 15,348,611
Non-trainable params: 0
_________________________________________________________________
Model: "decoder_b"
_________________________________________________________________
 Layer (type)                Output Shape              Param #
=================================================================
 input_3 (InputLayer)        [(None, 16, 16, 512)]     0

 upscale_512_2_conv2d_conv2d  (None, 16, 16, 2048)     9439232
  (Conv2D)

 upscale_512_2_conv2d_leakyr  (None, 16, 16, 2048)     0
 elu (LeakyReLU)

 upscale_512_2_pixelshuffler  (None, 32, 32, 512)      0
  (PixelShuffler)

 upscale_256_1_conv2d_conv2d  (None, 32, 32, 1024)     4719616
  (Conv2D)

 upscale_256_1_conv2d_leakyr  (None, 32, 32, 1024)     0
 elu (LeakyReLU)

 upscale_256_1_pixelshuffler  (None, 64, 64, 256)      0
  (PixelShuffler)

 upscale_128_1_conv2d_conv2d  (None, 64, 64, 512)      1180160
  (Conv2D)

 upscale_128_1_conv2d_leakyr  (None, 64, 64, 512)      0
 elu (LeakyReLU)

 upscale_128_1_pixelshuffler  (None, 128, 128, 128)    0
  (PixelShuffler)

 face_out_b_conv2d (Conv2D)  (None, 128, 128, 3)       9603

 face_out_b (Activation)     (None, 128, 128, 3)       0

=================================================================
Total params: 15,348,611
Trainable params: 15,348,611
Non-trainable params: 0
_________________________________________________________________
Process exited.
    ```

**7.dfl_sae_df**

```bash
Model: "dfl_sae_df"
__________________________________________________________________________________________________
 Layer (type)                   Output Shape         Param #     Connected to
==================================================================================================
 face_in_a (InputLayer)         [(None, 128, 128, 3  0           []
                                )]

 face_in_b (InputLayer)         [(None, 128, 128, 3  0           []
                                )]

 encoder_df (Functional)        (None, 16, 16, 512)  75961012    ['face_in_a[0][0]',
                                                                  'face_in_b[0][0]']

 decoder_a (Functional)         (None, 128, 128, 3)  27023853    ['encoder_df[0][0]']

 decoder_b (Functional)         (None, 128, 128, 3)  27023853    ['encoder_df[1][0]']

==================================================================================================
Total params: 130,008,718
Trainable params: 130,008,718
Non-trainable params: 0
__________________________________________________________________________________________________
Model: "encoder_df"
_________________________________________________________________
 Layer (type)                Output Shape              Param #
=================================================================
 input_1 (InputLayer)        [(None, 128, 128, 3)]     0

 conv_126_0_conv2d (Conv2D)  (None, 64, 64, 126)       9576

 conv_126_0_leakyrelu (Leaky  (None, 64, 64, 126)      0
 ReLU)

 conv_252_0_conv2d (Conv2D)  (None, 32, 32, 252)       794052

 conv_252_0_leakyrelu (Leaky  (None, 32, 32, 252)      0
 ReLU)

 conv_504_0_conv2d (Conv2D)  (None, 16, 16, 504)       3175704

 conv_504_0_leakyrelu (Leaky  (None, 16, 16, 504)      0
 ReLU)

 conv_1008_0_conv2d (Conv2D)  (None, 8, 8, 1008)       12701808

 conv_1008_0_leakyrelu (Leak  (None, 8, 8, 1008)       0
 yReLU)

 flatten (Flatten)           (None, 64512)             0

 dense (Dense)               (None, 512)               33030656

 dense_1 (Dense)             (None, 32768)             16809984

 reshape (Reshape)           (None, 8, 8, 512)         0

 upscale_512_0_conv2d_conv2d  (None, 8, 8, 2048)       9439232
  (Conv2D)

 upscale_512_0_conv2d_leakyr  (None, 8, 8, 2048)       0
 elu (LeakyReLU)

 upscale_512_0_pixelshuffler  (None, 16, 16, 512)      0
  (PixelShuffler)

=================================================================
Total params: 75,961,012
Trainable params: 75,961,012
Non-trainable params: 0
_________________________________________________________________
Model: "decoder_a"
__________________________________________________________________________________________________
 Layer (type)                   Output Shape         Param #     Connected to
==================================================================================================
 input_2 (InputLayer)           [(None, 16, 16, 512  0           []
                                )]

 upscale_504_0_conv2d_conv2d (C  (None, 16, 16, 2016  9291744    ['input_2[0][0]']
 onv2D)                         )

 upscale_504_0_pixelshuffler (P  (None, 32, 32, 504)  0          ['upscale_504_0_conv2d_conv2d[0][
 ixelShuffler)                                                   0]']

 leaky_re_lu (LeakyReLU)        (None, 32, 32, 504)  0           ['upscale_504_0_pixelshuffler[0][
                                                                 0]']

 residual_504_0_conv2d_0 (Conv2  (None, 32, 32, 504)  2286648    ['leaky_re_lu[0][0]']
 D)

 residual_504_0_leakyrelu_1 (Le  (None, 32, 32, 504)  0          ['residual_504_0_conv2d_0[0][0]']
 akyReLU)

 residual_504_0_conv2d_1 (Conv2  (None, 32, 32, 504)  2286648    ['residual_504_0_leakyrelu_1[0][0
 D)                                                              ]']

 add (Add)                      (None, 32, 32, 504)  0           ['residual_504_0_conv2d_1[0][0]',
                                                                  'leaky_re_lu[0][0]']

 residual_504_0_leakyrelu_3 (Le  (None, 32, 32, 504)  0          ['add[0][0]']
 akyReLU)

 residual_504_1_conv2d_0 (Conv2  (None, 32, 32, 504)  2286648    ['residual_504_0_leakyrelu_3[0][0
 D)                                                              ]']

 residual_504_1_leakyrelu_1 (Le  (None, 32, 32, 504)  0          ['residual_504_1_conv2d_0[0][0]']
 akyReLU)

 residual_504_1_conv2d_1 (Conv2  (None, 32, 32, 504)  2286648    ['residual_504_1_leakyrelu_1[0][0
 D)                                                              ]']

 add_1 (Add)                    (None, 32, 32, 504)  0           ['residual_504_1_conv2d_1[0][0]',
                                                                  'residual_504_0_leakyrelu_3[0][0
                                                                 ]']

 residual_504_1_leakyrelu_3 (Le  (None, 32, 32, 504)  0          ['add_1[0][0]']
 akyReLU)

 upscale_252_0_conv2d_conv2d (C  (None, 32, 32, 1008  4573296    ['residual_504_1_leakyrelu_3[0][0
 onv2D)                         )                                ]']

 upscale_252_0_pixelshuffler (P  (None, 64, 64, 252)  0          ['upscale_252_0_conv2d_conv2d[0][
 ixelShuffler)                                                   0]']

 leaky_re_lu_1 (LeakyReLU)      (None, 64, 64, 252)  0           ['upscale_252_0_pixelshuffler[0][
                                                                 0]']

 residual_252_0_conv2d_0 (Conv2  (None, 64, 64, 252)  571788     ['leaky_re_lu_1[0][0]']
 D)

 residual_252_0_leakyrelu_1 (Le  (None, 64, 64, 252)  0          ['residual_252_0_conv2d_0[0][0]']
 akyReLU)

 residual_252_0_conv2d_1 (Conv2  (None, 64, 64, 252)  571788     ['residual_252_0_leakyrelu_1[0][0
 D)                                                              ]']

 add_2 (Add)                    (None, 64, 64, 252)  0           ['residual_252_0_conv2d_1[0][0]',
                                                                  'leaky_re_lu_1[0][0]']

 residual_252_0_leakyrelu_3 (Le  (None, 64, 64, 252)  0          ['add_2[0][0]']
 akyReLU)

 residual_252_1_conv2d_0 (Conv2  (None, 64, 64, 252)  571788     ['residual_252_0_leakyrelu_3[0][0
 D)                                                              ]']

 residual_252_1_leakyrelu_1 (Le  (None, 64, 64, 252)  0          ['residual_252_1_conv2d_0[0][0]']
 akyReLU)

 residual_252_1_conv2d_1 (Conv2  (None, 64, 64, 252)  571788     ['residual_252_1_leakyrelu_1[0][0
 D)                                                              ]']

 add_3 (Add)                    (None, 64, 64, 252)  0           ['residual_252_1_conv2d_1[0][0]',
                                                                  'residual_252_0_leakyrelu_3[0][0
                                                                 ]']

 residual_252_1_leakyrelu_3 (Le  (None, 64, 64, 252)  0          ['add_3[0][0]']
 akyReLU)

 upscale_126_0_conv2d_conv2d (C  (None, 64, 64, 504)  1143576    ['residual_252_1_leakyrelu_3[0][0
 onv2D)                                                          ]']

 upscale_126_0_pixelshuffler (P  (None, 128, 128, 12  0          ['upscale_126_0_conv2d_conv2d[0][
 ixelShuffler)                  6)                               0]']

 leaky_re_lu_2 (LeakyReLU)      (None, 128, 128, 12  0           ['upscale_126_0_pixelshuffler[0][
                                6)                               0]']

 residual_126_0_conv2d_0 (Conv2  (None, 128, 128, 12  143010     ['leaky_re_lu_2[0][0]']
 D)                             6)

 residual_126_0_leakyrelu_1 (Le  (None, 128, 128, 12  0          ['residual_126_0_conv2d_0[0][0]']
 akyReLU)                       6)

 residual_126_0_conv2d_1 (Conv2  (None, 128, 128, 12  143010     ['residual_126_0_leakyrelu_1[0][0
 D)                             6)                               ]']

 add_4 (Add)                    (None, 128, 128, 12  0           ['residual_126_0_conv2d_1[0][0]',
                                6)                                'leaky_re_lu_2[0][0]']

 residual_126_0_leakyrelu_3 (Le  (None, 128, 128, 12  0          ['add_4[0][0]']
 akyReLU)                       6)

 residual_126_1_conv2d_0 (Conv2  (None, 128, 128, 12  143010     ['residual_126_0_leakyrelu_3[0][0
 D)                             6)                               ]']

 residual_126_1_leakyrelu_1 (Le  (None, 128, 128, 12  0          ['residual_126_1_conv2d_0[0][0]']
 akyReLU)                       6)

 residual_126_1_conv2d_1 (Conv2  (None, 128, 128, 12  143010     ['residual_126_1_leakyrelu_1[0][0
 D)                             6)                               ]']

 add_5 (Add)                    (None, 128, 128, 12  0           ['residual_126_1_conv2d_1[0][0]',
                                6)                                'residual_126_0_leakyrelu_3[0][0
                                                                 ]']

 residual_126_1_leakyrelu_3 (Le  (None, 128, 128, 12  0          ['add_5[0][0]']
 akyReLU)                       6)

 face_out_128_a_conv2d (Conv2D)  (None, 128, 128, 3)  9453       ['residual_126_1_leakyrelu_3[0][0
                                                                 ]']

 face_out_128_a (Activation)    (None, 128, 128, 3)  0           ['face_out_128_a_conv2d[0][0]']

==================================================================================================
Total params: 27,023,853
Trainable params: 27,023,853
Non-trainable params: 0
__________________________________________________________________________________________________
Model: "decoder_b"
__________________________________________________________________________________________________
 Layer (type)                   Output Shape         Param #     Connected to
==================================================================================================
 input_3 (InputLayer)           [(None, 16, 16, 512  0           []
                                )]

 upscale_504_1_conv2d_conv2d (C  (None, 16, 16, 2016  9291744    ['input_3[0][0]']
 onv2D)                         )

 upscale_504_1_pixelshuffler (P  (None, 32, 32, 504)  0          ['upscale_504_1_conv2d_conv2d[0][
 ixelShuffler)                                                   0]']

 leaky_re_lu_3 (LeakyReLU)      (None, 32, 32, 504)  0           ['upscale_504_1_pixelshuffler[0][
                                                                 0]']

 residual_504_2_conv2d_0 (Conv2  (None, 32, 32, 504)  2286648    ['leaky_re_lu_3[0][0]']
 D)

 residual_504_2_leakyrelu_1 (Le  (None, 32, 32, 504)  0          ['residual_504_2_conv2d_0[0][0]']
 akyReLU)

 residual_504_2_conv2d_1 (Conv2  (None, 32, 32, 504)  2286648    ['residual_504_2_leakyrelu_1[0][0
 D)                                                              ]']

 add_6 (Add)                    (None, 32, 32, 504)  0           ['residual_504_2_conv2d_1[0][0]',
                                                                  'leaky_re_lu_3[0][0]']

 residual_504_2_leakyrelu_3 (Le  (None, 32, 32, 504)  0          ['add_6[0][0]']
 akyReLU)

 residual_504_3_conv2d_0 (Conv2  (None, 32, 32, 504)  2286648    ['residual_504_2_leakyrelu_3[0][0
 D)                                                              ]']

 residual_504_3_leakyrelu_1 (Le  (None, 32, 32, 504)  0          ['residual_504_3_conv2d_0[0][0]']
 akyReLU)

 residual_504_3_conv2d_1 (Conv2  (None, 32, 32, 504)  2286648    ['residual_504_3_leakyrelu_1[0][0
 D)                                                              ]']

 add_7 (Add)                    (None, 32, 32, 504)  0           ['residual_504_3_conv2d_1[0][0]',
                                                                  'residual_504_2_leakyrelu_3[0][0
                                                                 ]']

 residual_504_3_leakyrelu_3 (Le  (None, 32, 32, 504)  0          ['add_7[0][0]']
 akyReLU)

 upscale_252_1_conv2d_conv2d (C  (None, 32, 32, 1008  4573296    ['residual_504_3_leakyrelu_3[0][0
 onv2D)                         )                                ]']

 upscale_252_1_pixelshuffler (P  (None, 64, 64, 252)  0          ['upscale_252_1_conv2d_conv2d[0][
 ixelShuffler)                                                   0]']

 leaky_re_lu_4 (LeakyReLU)      (None, 64, 64, 252)  0           ['upscale_252_1_pixelshuffler[0][
                                                                 0]']

 residual_252_2_conv2d_0 (Conv2  (None, 64, 64, 252)  571788     ['leaky_re_lu_4[0][0]']
 D)

 residual_252_2_leakyrelu_1 (Le  (None, 64, 64, 252)  0          ['residual_252_2_conv2d_0[0][0]']
 akyReLU)

 residual_252_2_conv2d_1 (Conv2  (None, 64, 64, 252)  571788     ['residual_252_2_leakyrelu_1[0][0
 D)                                                              ]']

 add_8 (Add)                    (None, 64, 64, 252)  0           ['residual_252_2_conv2d_1[0][0]',
                                                                  'leaky_re_lu_4[0][0]']

 residual_252_2_leakyrelu_3 (Le  (None, 64, 64, 252)  0          ['add_8[0][0]']
 akyReLU)

 residual_252_3_conv2d_0 (Conv2  (None, 64, 64, 252)  571788     ['residual_252_2_leakyrelu_3[0][0
 D)                                                              ]']

 residual_252_3_leakyrelu_1 (Le  (None, 64, 64, 252)  0          ['residual_252_3_conv2d_0[0][0]']
 akyReLU)

 residual_252_3_conv2d_1 (Conv2  (None, 64, 64, 252)  571788     ['residual_252_3_leakyrelu_1[0][0
 D)                                                              ]']

 add_9 (Add)                    (None, 64, 64, 252)  0           ['residual_252_3_conv2d_1[0][0]',
                                                                  'residual_252_2_leakyrelu_3[0][0
                                                                 ]']

 residual_252_3_leakyrelu_3 (Le  (None, 64, 64, 252)  0          ['add_9[0][0]']
 akyReLU)

 upscale_126_1_conv2d_conv2d (C  (None, 64, 64, 504)  1143576    ['residual_252_3_leakyrelu_3[0][0
 onv2D)                                                          ]']

 upscale_126_1_pixelshuffler (P  (None, 128, 128, 12  0          ['upscale_126_1_conv2d_conv2d[0][
 ixelShuffler)                  6)                               0]']

 leaky_re_lu_5 (LeakyReLU)      (None, 128, 128, 12  0           ['upscale_126_1_pixelshuffler[0][
                                6)                               0]']

 residual_126_2_conv2d_0 (Conv2  (None, 128, 128, 12  143010     ['leaky_re_lu_5[0][0]']
 D)                             6)

 residual_126_2_leakyrelu_1 (Le  (None, 128, 128, 12  0          ['residual_126_2_conv2d_0[0][0]']
 akyReLU)                       6)

 residual_126_2_conv2d_1 (Conv2  (None, 128, 128, 12  143010     ['residual_126_2_leakyrelu_1[0][0
 D)                             6)                               ]']

 add_10 (Add)                   (None, 128, 128, 12  0           ['residual_126_2_conv2d_1[0][0]',
                                6)                                'leaky_re_lu_5[0][0]']

 residual_126_2_leakyrelu_3 (Le  (None, 128, 128, 12  0          ['add_10[0][0]']
 akyReLU)                       6)

 residual_126_3_conv2d_0 (Conv2  (None, 128, 128, 12  143010     ['residual_126_2_leakyrelu_3[0][0
 D)                             6)                               ]']

 residual_126_3_leakyrelu_1 (Le  (None, 128, 128, 12  0          ['residual_126_3_conv2d_0[0][0]']
 akyReLU)                       6)

 residual_126_3_conv2d_1 (Conv2  (None, 128, 128, 12  143010     ['residual_126_3_leakyrelu_1[0][0
 D)                             6)                               ]']

 add_11 (Add)                   (None, 128, 128, 12  0           ['residual_126_3_conv2d_1[0][0]',
                                6)                                'residual_126_2_leakyrelu_3[0][0
                                                                 ]']

 residual_126_3_leakyrelu_3 (Le  (None, 128, 128, 12  0          ['add_11[0][0]']
 akyReLU)                       6)

 face_out_128_b_conv2d (Conv2D)  (None, 128, 128, 3)  9453       ['residual_126_3_leakyrelu_3[0][0
                                                                 ]']

 face_out_128_b (Activation)    (None, 128, 128, 3)  0           ['face_out_128_b_conv2d[0][0]']

==================================================================================================
Total params: 27,023,853
Trainable params: 27,023,853
Non-trainable params: 0
__________________________________________________________________________________________________
Process exited.

8.phaze_a

Model: "phaze_a"
__________________________________________________________________________________________________
 Layer (type)                   Output Shape         Param #     Connected to
==================================================================================================
 face_in_a (InputLayer)         [(None, 64, 64, 3)]  0           []

 face_in_b (InputLayer)         [(None, 64, 64, 3)]  0           []

 encoder (Functional)           (None, 1024)         33992960    ['face_in_a[0][0]',
                                                                  'face_in_b[0][0]']

 fc_a (Functional)              (None, 8, 8, 1024)   16793600    ['encoder[0][0]']

 fc_gblock (Functional)         (None, 512)          1050112     ['encoder[0][0]',
                                                                  'encoder[1][0]']

 fc_b (Functional)              (None, 8, 8, 1024)   16793600    ['encoder[1][0]']

 g_block_both (Functional)      (None, 8, 8, 1024)   23864832    ['fc_a[0][0]',
                                                                  'fc_gblock[0][0]',
                                                                  'fc_b[0][0]',
                                                                  'fc_gblock[1][0]']

 decoder_both (Functional)      (None, 128, 128, 3)  31271107    ['g_block_both[0][0]',
                                                                  'g_block_both[1][0]']

==================================================================================================
Total params: 123,766,211
Trainable params: 123,766,211
Non-trainable params: 0
__________________________________________________________________________________________________
Model: "encoder"
_________________________________________________________________
 Layer (type)                Output Shape              Param #
=================================================================
 input_1 (InputLayer)        [(None, 64, 64, 3)]       0

 fs_enc_convblk_0_conv2d (Co  (None, 32, 32, 128)      9728
 nv2D)

 fs_enc_convblk_0_leakyrelu   (None, 32, 32, 128)      0
 (LeakyReLU)

 fs_enc_convblk_1_conv2d (Co  (None, 16, 16, 256)      819456
 nv2D)

 fs_enc_convblk_1_leakyrelu   (None, 16, 16, 256)      0
 (LeakyReLU)

 fs_enc_convblk_2_conv2d (Co  (None, 8, 8, 512)        3277312
 nv2D)

 fs_enc_convblk_2_leakyrelu   (None, 8, 8, 512)        0
 (LeakyReLU)

 fs_enc_convblk_3_conv2d (Co  (None, 4, 4, 1024)       13108224
 nv2D)

 fs_enc_convblk_3_leakyrelu   (None, 4, 4, 1024)       0
 (LeakyReLU)

 flatten (Flatten)           (None, 16384)             0

 dense (Dense)               (None, 1024)              16778240

=================================================================
Total params: 33,992,960
Trainable params: 33,992,960
Non-trainable params: 0
_________________________________________________________________
Model: "fc_a"
_________________________________________________________________
 Layer (type)                Output Shape              Param #
=================================================================
 input_2 (InputLayer)        [(None, 1024)]            0

 fc_dropout_1 (Dropout)      (None, 1024)              0

 dense_1 (Dense)             (None, 16384)             16793600

 reshape (Reshape)           (None, 4, 4, 1024)        0

 up_sampling2d (UpSampling2D  (None, 8, 8, 1024)       0
 )

 leaky_re_lu (LeakyReLU)     (None, 8, 8, 1024)        0

=================================================================
Total params: 16,793,600
Trainable params: 16,793,600
Non-trainable params: 0
_________________________________________________________________
Model: "fc_gblock"
_________________________________________________________________
 Layer (type)                Output Shape              Param #
=================================================================
 input_4 (InputLayer)        [(None, 1024)]            0

 fc_gblock_dropout_1 (Dropou  (None, 1024)             0
 t)

 dense_3 (Dense)             (None, 512)               524800

 fc_gblock_dropout_2 (Dropou  (None, 512)              0
 t)

 dense_4 (Dense)             (None, 512)               262656

 fc_gblock_dropout_3 (Dropou  (None, 512)              0
 t)

 dense_5 (Dense)             (None, 512)               262656

=================================================================
Total params: 1,050,112
Trainable params: 1,050,112
Non-trainable params: 0
_________________________________________________________________
Model: "fc_b"
_________________________________________________________________
 Layer (type)                Output Shape              Param #
=================================================================
 input_3 (InputLayer)        [(None, 1024)]            0

 fc_dropout_1 (Dropout)      (None, 1024)              0

 dense_2 (Dense)             (None, 16384)             16793600

 reshape_1 (Reshape)         (None, 4, 4, 1024)        0

 up_sampling2d_1 (UpSampling  (None, 8, 8, 1024)       0
 2D)

 leaky_re_lu_1 (LeakyReLU)   (None, 8, 8, 1024)        0

=================================================================
Total params: 16,793,600
Trainable params: 16,793,600
Non-trainable params: 0
_________________________________________________________________
Model: "g_block_both"
__________________________________________________________________________________________________
 Layer (type)                   Output Shape         Param #     Connected to
==================================================================================================
 input_6 (InputLayer)           [(None, 512)]        0           []

 dense_6 (Dense)                (None, 512)          262656      ['input_6[0][0]']

 leaky_re_lu_2 (LeakyReLU)      (None, 512)          0           ['dense_6[0][0]']

 dense_7 (Dense)                (None, 512)          262656      ['leaky_re_lu_2[0][0]']

 input_5 (InputLayer)           [(None, 8, 8, 1024)  0           []
                                ]

 leaky_re_lu_3 (LeakyReLU)      (None, 512)          0           ['dense_7[0][0]']

 conv2d_1024_0 (Conv2D)         (None, 8, 8, 1024)   9438208     ['input_5[0][0]']

 dense_8 (Dense)                (None, 512)          262656      ['leaky_re_lu_3[0][0]']

 gaussian_noise (GaussianNoise)  (None, 8, 8, 1024)  0           ['conv2d_1024_0[0][0]']

 dense_9 (Dense)                (None, 1024)         525312      ['dense_8[0][0]']

 dense_10 (Dense)               (None, 1024)         525312      ['dense_8[0][0]']

 reshape_2 (Reshape)            (None, 1, 1, 1024)   0           ['dense_9[0][0]']

 reshape_3 (Reshape)            (None, 1, 1, 1024)   0           ['dense_10[0][0]']

 gaussian_noise_1 (GaussianNois  (None, 8, 8, 1024)  0           ['gaussian_noise[0][0]']
 e)

 ada_instance_normalization (Ad  (None, 8, 8, 1024)  0           ['gaussian_noise[0][0]',
 aInstanceNormalization)                                          'reshape_2[0][0]',
                                                                  'reshape_3[0][0]']

 conv2d (Conv2D)                (None, 8, 8, 1024)   1049600     ['gaussian_noise_1[0][0]']

 add (Add)                      (None, 8, 8, 1024)   0           ['ada_instance_normalization[0][0
                                                                 ]',
                                                                  'conv2d[0][0]']

 leaky_re_lu_4 (LeakyReLU)      (None, 8, 8, 1024)   0           ['add[0][0]']

 dense_11 (Dense)               (None, 1024)         525312      ['dense_8[0][0]']

 dense_12 (Dense)               (None, 1024)         525312      ['dense_8[0][0]']

 conv2d_2 (Conv2D)              (None, 8, 8, 1024)   9438208     ['leaky_re_lu_4[0][0]']

 reshape_4 (Reshape)            (None, 1, 1, 1024)   0           ['dense_11[0][0]']

 reshape_5 (Reshape)            (None, 1, 1, 1024)   0           ['dense_12[0][0]']

 gaussian_noise_2 (GaussianNois  (None, 8, 8, 1024)  0           ['leaky_re_lu_4[0][0]']
 e)

 ada_instance_normalization_1 (  (None, 8, 8, 1024)  0           ['conv2d_2[0][0]',
 AdaInstanceNormalization)                                        'reshape_4[0][0]',
                                                                  'reshape_5[0][0]']

 conv2d_1 (Conv2D)              (None, 8, 8, 1024)   1049600     ['gaussian_noise_2[0][0]']

 add_1 (Add)                    (None, 8, 8, 1024)   0           ['ada_instance_normalization_1[0]
                                                                 [0]',
                                                                  'conv2d_1[0][0]']

 leaky_re_lu_5 (LeakyReLU)      (None, 8, 8, 1024)   0           ['add_1[0][0]']

==================================================================================================
Total params: 23,864,832
Trainable params: 23,864,832
Non-trainable params: 0
__________________________________________________________________________________________________
Model: "decoder_both"
__________________________________________________________________________________________________
 Layer (type)                   Output Shape         Param #     Connected to
==================================================================================================
 input_7 (InputLayer)           [(None, 8, 8, 1024)  0           []
                                ]

 upscale_512_0_conv2d_conv2d (C  (None, 8, 8, 2048)  18876416    ['input_7[0][0]']
 onv2D)

 upscale_512_0_pixelshuffler (P  (None, 16, 16, 512)  0          ['upscale_512_0_conv2d_conv2d[0][
 ixelShuffler)                                                   0]']

 gaussian_noise_3 (GaussianNois  (None, 16, 16, 512)  0          ['upscale_512_0_pixelshuffler[0][
 e)                                                              0]']

 leaky_re_lu_6 (LeakyReLU)      (None, 16, 16, 512)  0           ['gaussian_noise_3[0][0]']

 residual_512_0_conv2d_0 (Conv2  (None, 16, 16, 512)  2359808    ['leaky_re_lu_6[0][0]']
 D)

 residual_512_0_leakyrelu_1 (Le  (None, 16, 16, 512)  0          ['residual_512_0_conv2d_0[0][0]']
 akyReLU)

 residual_512_0_conv2d_1 (Conv2  (None, 16, 16, 512)  2359808    ['residual_512_0_leakyrelu_1[0][0
 D)                                                              ]']

 add_2 (Add)                    (None, 16, 16, 512)  0           ['residual_512_0_conv2d_1[0][0]',
                                                                  'leaky_re_lu_6[0][0]']

 residual_512_0_leakyrelu_3 (Le  (None, 16, 16, 512)  0          ['add_2[0][0]']
 akyReLU)

 upscale_256_0_conv2d_conv2d (C  (None, 16, 16, 1024  4719616    ['residual_512_0_leakyrelu_3[0][0
 onv2D)                         )                                ]']

 upscale_256_0_pixelshuffler (P  (None, 32, 32, 256)  0          ['upscale_256_0_conv2d_conv2d[0][
 ixelShuffler)                                                   0]']

 gaussian_noise_4 (GaussianNois  (None, 32, 32, 256)  0          ['upscale_256_0_pixelshuffler[0][
 e)                                                              0]']

 leaky_re_lu_7 (LeakyReLU)      (None, 32, 32, 256)  0           ['gaussian_noise_4[0][0]']

 residual_256_0_conv2d_0 (Conv2  (None, 32, 32, 256)  590080     ['leaky_re_lu_7[0][0]']
 D)

 residual_256_0_leakyrelu_1 (Le  (None, 32, 32, 256)  0          ['residual_256_0_conv2d_0[0][0]']
 akyReLU)

 residual_256_0_conv2d_1 (Conv2  (None, 32, 32, 256)  590080     ['residual_256_0_leakyrelu_1[0][0
 D)                                                              ]']

 add_3 (Add)                    (None, 32, 32, 256)  0           ['residual_256_0_conv2d_1[0][0]',
                                                                  'leaky_re_lu_7[0][0]']

 residual_256_0_leakyrelu_3 (Le  (None, 32, 32, 256)  0          ['add_3[0][0]']
 akyReLU)

 upscale_128_0_conv2d_conv2d (C  (None, 32, 32, 512)  1180160    ['residual_256_0_leakyrelu_3[0][0
 onv2D)                                                          ]']

 upscale_128_0_pixelshuffler (P  (None, 64, 64, 128)  0          ['upscale_128_0_conv2d_conv2d[0][
 ixelShuffler)                                                   0]']

 gaussian_noise_5 (GaussianNois  (None, 64, 64, 128)  0          ['upscale_128_0_pixelshuffler[0][
 e)                                                              0]']

 leaky_re_lu_8 (LeakyReLU)      (None, 64, 64, 128)  0           ['gaussian_noise_5[0][0]']

 residual_128_0_conv2d_0 (Conv2  (None, 64, 64, 128)  147584     ['leaky_re_lu_8[0][0]']
 D)

 residual_128_0_leakyrelu_1 (Le  (None, 64, 64, 128)  0          ['residual_128_0_conv2d_0[0][0]']
 akyReLU)

 residual_128_0_conv2d_1 (Conv2  (None, 64, 64, 128)  147584     ['residual_128_0_leakyrelu_1[0][0
 D)                                                              ]']

 add_4 (Add)                    (None, 64, 64, 128)  0           ['residual_128_0_conv2d_1[0][0]',
                                                                  'leaky_re_lu_8[0][0]']

 residual_128_0_leakyrelu_3 (Le  (None, 64, 64, 128)  0          ['add_4[0][0]']
 akyReLU)

 upscale_64_0_conv2d_conv2d (Co  (None, 64, 64, 256)  295168     ['residual_128_0_leakyrelu_3[0][0
 nv2D)                                                           ]']

 upscale_64_0_pixelshuffler (Pi  (None, 128, 128, 64  0          ['upscale_64_0_conv2d_conv2d[0][0
 xelShuffler)                   )                                ]']

 gaussian_noise_6 (GaussianNois  (None, 128, 128, 64  0          ['upscale_64_0_pixelshuffler[0][0
 e)                             )                                ]']

 leaky_re_lu_9 (LeakyReLU)      (None, 128, 128, 64  0           ['gaussian_noise_6[0][0]']
                                )

 face_out_conv2d (Conv2D)       (None, 128, 128, 3)  4803        ['leaky_re_lu_9[0][0]']

 face_out (Activation)          (None, 128, 128, 3)  0           ['face_out_conv2d[0][0]']

==================================================================================================
Total params: 31,271,107
Trainable params: 31,271,107
Non-trainable params: 0
__________________________________________________________________________________________________
Process exited.

9.realface

Model: "realface"
__________________________________________________________________________________________________
 Layer (type)                   Output Shape         Param #     Connected to
==================================================================================================
 face_in_a (InputLayer)         [(None, 64, 64, 3)]  0           []

 face_in_b (InputLayer)         [(None, 64, 64, 3)]  0           []

 encoder (Functional)           (None, 4, 4, 1024)   29604608    ['face_in_a[0][0]',
                                                                  'face_in_b[0][0]']

 decoder_a (Functional)         (None, 128, 128, 3)  64196041    ['encoder[0][0]']

 decoder_b (Functional)         (None, 128, 128, 3)  144441027   ['encoder[1][0]']

==================================================================================================
Total params: 238,241,676
Trainable params: 238,241,676
Non-trainable params: 0
__________________________________________________________________________________________________
Model: "encoder"
__________________________________________________________________________________________________
 Layer (type)                   Output Shape         Param #     Connected to
==================================================================================================
 input_1 (InputLayer)           [(None, 64, 64, 3)]  0           []

 conv_128_0_conv2d (Conv2D)     (None, 32, 32, 128)  9728        ['input_1[0][0]']

 leaky_re_lu (LeakyReLU)        (None, 32, 32, 128)  0           ['conv_128_0_conv2d[0][0]']

 residual_128_0_conv2d_0 (Conv2  (None, 32, 32, 128)  147584     ['leaky_re_lu[0][0]']
 D)

 residual_128_0_leakyrelu_1 (Le  (None, 32, 32, 128)  0          ['residual_128_0_conv2d_0[0][0]']
 akyReLU)

 residual_128_0_conv2d_1 (Conv2  (None, 32, 32, 128)  147584     ['residual_128_0_leakyrelu_1[0][0
 D)                                                              ]']

 add (Add)                      (None, 32, 32, 128)  0           ['residual_128_0_conv2d_1[0][0]',
                                                                  'leaky_re_lu[0][0]']

 residual_128_0_leakyrelu_3 (Le  (None, 32, 32, 128)  0          ['add[0][0]']
 akyReLU)

 residual_128_1_conv2d_0 (Conv2  (None, 32, 32, 128)  147584     ['residual_128_0_leakyrelu_3[0][0
 D)                                                              ]']

 residual_128_1_leakyrelu_1 (Le  (None, 32, 32, 128)  0          ['residual_128_1_conv2d_0[0][0]']
 akyReLU)

 residual_128_1_conv2d_1 (Conv2  (None, 32, 32, 128)  147584     ['residual_128_1_leakyrelu_1[0][0
 D)                                                              ]']

 add_1 (Add)                    (None, 32, 32, 128)  0           ['residual_128_1_conv2d_1[0][0]',
                                                                  'residual_128_0_leakyrelu_3[0][0
                                                                 ]']

 residual_128_1_leakyrelu_3 (Le  (None, 32, 32, 128)  0          ['add_1[0][0]']
 akyReLU)

 conv_256_0_conv2d (Conv2D)     (None, 16, 16, 256)  819456      ['residual_128_1_leakyrelu_3[0][0
                                                                 ]']

 leaky_re_lu_1 (LeakyReLU)      (None, 16, 16, 256)  0           ['conv_256_0_conv2d[0][0]']

 residual_256_0_conv2d_0 (Conv2  (None, 16, 16, 256)  590080     ['leaky_re_lu_1[0][0]']
 D)

 residual_256_0_leakyrelu_1 (Le  (None, 16, 16, 256)  0          ['residual_256_0_conv2d_0[0][0]']
 akyReLU)

 residual_256_0_conv2d_1 (Conv2  (None, 16, 16, 256)  590080     ['residual_256_0_leakyrelu_1[0][0
 D)                                                              ]']

 add_2 (Add)                    (None, 16, 16, 256)  0           ['residual_256_0_conv2d_1[0][0]',
                                                                  'leaky_re_lu_1[0][0]']

 residual_256_0_leakyrelu_3 (Le  (None, 16, 16, 256)  0          ['add_2[0][0]']
 akyReLU)

 residual_256_1_conv2d_0 (Conv2  (None, 16, 16, 256)  590080     ['residual_256_0_leakyrelu_3[0][0
 D)                                                              ]']

 residual_256_1_leakyrelu_1 (Le  (None, 16, 16, 256)  0          ['residual_256_1_conv2d_0[0][0]']
 akyReLU)

 residual_256_1_conv2d_1 (Conv2  (None, 16, 16, 256)  590080     ['residual_256_1_leakyrelu_1[0][0
 D)                                                              ]']

 add_3 (Add)                    (None, 16, 16, 256)  0           ['residual_256_1_conv2d_1[0][0]',
                                                                  'residual_256_0_leakyrelu_3[0][0
                                                                 ]']

 residual_256_1_leakyrelu_3 (Le  (None, 16, 16, 256)  0          ['add_3[0][0]']
 akyReLU)

 conv_512_0_conv2d (Conv2D)     (None, 8, 8, 512)    3277312     ['residual_256_1_leakyrelu_3[0][0
                                                                 ]']

 leaky_re_lu_2 (LeakyReLU)      (None, 8, 8, 512)    0           ['conv_512_0_conv2d[0][0]']

 residual_512_0_conv2d_0 (Conv2  (None, 8, 8, 512)   2359808     ['leaky_re_lu_2[0][0]']
 D)

 residual_512_0_leakyrelu_1 (Le  (None, 8, 8, 512)   0           ['residual_512_0_conv2d_0[0][0]']
 akyReLU)

 residual_512_0_conv2d_1 (Conv2  (None, 8, 8, 512)   2359808     ['residual_512_0_leakyrelu_1[0][0
 D)                                                              ]']

 add_4 (Add)                    (None, 8, 8, 512)    0           ['residual_512_0_conv2d_1[0][0]',
                                                                  'leaky_re_lu_2[0][0]']

 residual_512_0_leakyrelu_3 (Le  (None, 8, 8, 512)   0           ['add_4[0][0]']
 akyReLU)

 residual_512_1_conv2d_0 (Conv2  (None, 8, 8, 512)   2359808     ['residual_512_0_leakyrelu_3[0][0
 D)                                                              ]']

 residual_512_1_leakyrelu_1 (Le  (None, 8, 8, 512)   0           ['residual_512_1_conv2d_0[0][0]']
 akyReLU)

 residual_512_1_conv2d_1 (Conv2  (None, 8, 8, 512)   2359808     ['residual_512_1_leakyrelu_1[0][0
 D)                                                              ]']

 add_5 (Add)                    (None, 8, 8, 512)    0           ['residual_512_1_conv2d_1[0][0]',
                                                                  'residual_512_0_leakyrelu_3[0][0
                                                                 ]']

 residual_512_1_leakyrelu_3 (Le  (None, 8, 8, 512)   0           ['add_5[0][0]']
 akyReLU)

 conv_1024_0_conv2d (Conv2D)    (None, 4, 4, 1024)   13108224    ['residual_512_1_leakyrelu_3[0][0
                                                                 ]']

 conv_1024_0_leakyrelu (LeakyRe  (None, 4, 4, 1024)  0           ['conv_1024_0_conv2d[0][0]']
 LU)

==================================================================================================
Total params: 29,604,608
Trainable params: 29,604,608
Non-trainable params: 0
__________________________________________________________________________________________________
Model: "decoder_a"
__________________________________________________________________________________________________
 Layer (type)                   Output Shape         Param #     Connected to
==================================================================================================
 input_2 (InputLayer)           [(None, 4, 4, 1024)  0           []
                                ]

 flatten (Flatten)              (None, 16384)        0           ['input_2[0][0]']

 dense (Dense)                  (None, 1024)         16778240    ['flatten[0][0]']

 dense_1 (Dense)                (None, 10912)        11184800    ['dense[0][0]']

 reshape (Reshape)              (None, 4, 4, 682)    0           ['dense_1[0][0]']

 upscale_682_0_conv2d_conv2d (C  (None, 4, 4, 2728)  16747192    ['reshape[0][0]']
 onv2D)

 upscale_682_0_pixelshuffler (P  (None, 8, 8, 682)   0           ['upscale_682_0_conv2d_conv2d[0][
 ixelShuffler)                                                   0]']

 leaky_re_lu_3 (LeakyReLU)      (None, 8, 8, 682)    0           ['upscale_682_0_pixelshuffler[0][
                                                                 0]']

 residual_682_0_conv2d_0 (Conv2  (None, 8, 8, 682)   4186116     ['leaky_re_lu_3[0][0]']
 D)

 residual_682_0_leakyrelu_1 (Le  (None, 8, 8, 682)   0           ['residual_682_0_conv2d_0[0][0]']
 akyReLU)

 residual_682_0_conv2d_1 (Conv2  (None, 8, 8, 682)   4186116     ['residual_682_0_leakyrelu_1[0][0
 D)                                                              ]']

 add_6 (Add)                    (None, 8, 8, 682)    0           ['residual_682_0_conv2d_1[0][0]',
                                                                  'leaky_re_lu_3[0][0]']

 residual_682_0_leakyrelu_3 (Le  (None, 8, 8, 682)   0           ['add_6[0][0]']
 akyReLU)

 upscale_341_0_conv2d_conv2d (C  (None, 8, 8, 1364)  8373596     ['residual_682_0_leakyrelu_3[0][0
 onv2D)                                                          ]']

 upscale_341_0_conv2d_leakyrelu  (None, 8, 8, 1364)  0           ['upscale_341_0_conv2d_conv2d[0][
  (LeakyReLU)                                                    0]']

 upscale_341_0_pixelshuffler (P  (None, 16, 16, 341)  0          ['upscale_341_0_conv2d_leakyrelu[
 ixelShuffler)                                                   0][0]']

 upscale_170_0_conv2d_conv2d (C  (None, 16, 16, 680)  2087600    ['upscale_341_0_pixelshuffler[0][
 onv2D)                                                          0]']

 upscale_170_0_conv2d_leakyrelu  (None, 16, 16, 680)  0          ['upscale_170_0_conv2d_conv2d[0][
  (LeakyReLU)                                                    0]']

 upscale_170_0_pixelshuffler (P  (None, 32, 32, 170)  0          ['upscale_170_0_conv2d_leakyrelu[
 ixelShuffler)                                                   0][0]']

 upscale_85_0_conv2d_conv2d (Co  (None, 32, 32, 340)  520540     ['upscale_170_0_pixelshuffler[0][
 nv2D)                                                           0]']

 upscale_85_0_conv2d_leakyrelu   (None, 32, 32, 340)  0          ['upscale_85_0_conv2d_conv2d[0][0
 (LeakyReLU)                                                     ]']

 upscale_85_0_pixelshuffler (Pi  (None, 64, 64, 85)  0           ['upscale_85_0_conv2d_leakyrelu[0
 xelShuffler)                                                    ][0]']

 upscale_42_0_conv2d_conv2d (Co  (None, 64, 64, 168)  128688     ['upscale_85_0_pixelshuffler[0][0
 nv2D)                                                           ]']

 upscale_42_0_conv2d_leakyrelu   (None, 64, 64, 168)  0          ['upscale_42_0_conv2d_conv2d[0][0
 (LeakyReLU)                                                     ]']

 upscale_42_0_pixelshuffler (Pi  (None, 128, 128, 42  0          ['upscale_42_0_conv2d_leakyrelu[0
 xelShuffler)                   )                                ][0]']

 face_out_a_conv2d (Conv2D)     (None, 128, 128, 3)  3153        ['upscale_42_0_pixelshuffler[0][0
                                                                 ]']

 face_out_a (Activation)        (None, 128, 128, 3)  0           ['face_out_a_conv2d[0][0]']

==================================================================================================
Total params: 64,196,041
Trainable params: 64,196,041
Non-trainable params: 0
__________________________________________________________________________________________________
Model: "decoder_b"
__________________________________________________________________________________________________
 Layer (type)                   Output Shape         Param #     Connected to
==================================================================================================
 input_3 (InputLayer)           [(None, 4, 4, 1024)  0           []
                                ]

 flatten_1 (Flatten)            (None, 16384)        0           ['input_3[0][0]']

 dense_2 (Dense)                (None, 1536)         25167360    ['flatten_1[0][0]']

 dense_3 (Dense)                (None, 16384)        25182208    ['dense_2[0][0]']

 reshape_1 (Reshape)            (None, 4, 4, 1024)   0           ['dense_3[0][0]']

 upscale_1024_0_conv2d_conv2d (  (None, 4, 4, 4096)  37752832    ['reshape_1[0][0]']
 Conv2D)

 upscale_1024_0_pixelshuffler (  (None, 8, 8, 1024)  0           ['upscale_1024_0_conv2d_conv2d[0]
 PixelShuffler)                                                  [0]']

 leaky_re_lu_4 (LeakyReLU)      (None, 8, 8, 1024)   0           ['upscale_1024_0_pixelshuffler[0]
                                                                 [0]']

 residual_1024_0_conv2d_0 (Conv  (None, 8, 8, 1024)  9437184     ['leaky_re_lu_4[0][0]']
 2D)

 residual_1024_0_leakyrelu_1 (L  (None, 8, 8, 1024)  0           ['residual_1024_0_conv2d_0[0][0]'
 eakyReLU)                                                       ]

 residual_1024_0_conv2d_1 (Conv  (None, 8, 8, 1024)  9437184     ['residual_1024_0_leakyrelu_1[0][
 2D)                                                             0]']

 add_7 (Add)                    (None, 8, 8, 1024)   0           ['residual_1024_0_conv2d_1[0][0]'
                                                                 , 'leaky_re_lu_4[0][0]']

 residual_1024_0_leakyrelu_3 (L  (None, 8, 8, 1024)  0           ['add_7[0][0]']
 eakyReLU)

 upscale_512_0_conv2d_conv2d (C  (None, 8, 8, 2048)  18876416    ['residual_1024_0_leakyrelu_3[0][
 onv2D)                                                          0]']

 upscale_512_0_pixelshuffler (P  (None, 16, 16, 512)  0          ['upscale_512_0_conv2d_conv2d[0][
 ixelShuffler)                                                   0]']

 leaky_re_lu_5 (LeakyReLU)      (None, 16, 16, 512)  0           ['upscale_512_0_pixelshuffler[0][
                                                                 0]']

 residual_512_2_conv2d_0 (Conv2  (None, 16, 16, 512)  2359296    ['leaky_re_lu_5[0][0]']
 D)

 residual_512_2_leakyrelu_1 (Le  (None, 16, 16, 512)  0          ['residual_512_2_conv2d_0[0][0]']
 akyReLU)

 residual_512_2_conv2d_1 (Conv2  (None, 16, 16, 512)  2359296    ['residual_512_2_leakyrelu_1[0][0
 D)                                                              ]']

 add_8 (Add)                    (None, 16, 16, 512)  0           ['residual_512_2_conv2d_1[0][0]',
                                                                  'leaky_re_lu_5[0][0]']

 residual_512_2_leakyrelu_3 (Le  (None, 16, 16, 512)  0          ['add_8[0][0]']
 akyReLU)

 residual_512_3_conv2d_0 (Conv2  (None, 16, 16, 512)  2359808    ['residual_512_2_leakyrelu_3[0][0
 D)                                                              ]']

 residual_512_3_leakyrelu_1 (Le  (None, 16, 16, 512)  0          ['residual_512_3_conv2d_0[0][0]']
 akyReLU)

 residual_512_3_conv2d_1 (Conv2  (None, 16, 16, 512)  2359808    ['residual_512_3_leakyrelu_1[0][0
 D)                                                              ]']

 add_9 (Add)                    (None, 16, 16, 512)  0           ['residual_512_3_conv2d_1[0][0]',
                                                                  'residual_512_2_leakyrelu_3[0][0
                                                                 ]']

 residual_512_3_leakyrelu_3 (Le  (None, 16, 16, 512)  0          ['add_9[0][0]']
 akyReLU)

 upscale_256_0_conv2d_conv2d (C  (None, 16, 16, 1024  4719616    ['residual_512_3_leakyrelu_3[0][0
 onv2D)                         )                                ]']

 upscale_256_0_pixelshuffler (P  (None, 32, 32, 256)  0          ['upscale_256_0_conv2d_conv2d[0][
 ixelShuffler)                                                   0]']

 leaky_re_lu_6 (LeakyReLU)      (None, 32, 32, 256)  0           ['upscale_256_0_pixelshuffler[0][
                                                                 0]']

 residual_256_2_conv2d_0 (Conv2  (None, 32, 32, 256)  589824     ['leaky_re_lu_6[0][0]']
 D)

 residual_256_2_leakyrelu_1 (Le  (None, 32, 32, 256)  0          ['residual_256_2_conv2d_0[0][0]']
 akyReLU)

 residual_256_2_conv2d_1 (Conv2  (None, 32, 32, 256)  589824     ['residual_256_2_leakyrelu_1[0][0
 D)                                                              ]']

 add_10 (Add)                   (None, 32, 32, 256)  0           ['residual_256_2_conv2d_1[0][0]',
                                                                  'leaky_re_lu_6[0][0]']

 residual_256_2_leakyrelu_3 (Le  (None, 32, 32, 256)  0          ['add_10[0][0]']
 akyReLU)

 residual_256_3_conv2d_0 (Conv2  (None, 32, 32, 256)  590080     ['residual_256_2_leakyrelu_3[0][0
 D)                                                              ]']

 residual_256_3_leakyrelu_1 (Le  (None, 32, 32, 256)  0          ['residual_256_3_conv2d_0[0][0]']
 akyReLU)

 residual_256_3_conv2d_1 (Conv2  (None, 32, 32, 256)  590080     ['residual_256_3_leakyrelu_1[0][0
 D)                                                              ]']

 add_11 (Add)                   (None, 32, 32, 256)  0           ['residual_256_3_conv2d_1[0][0]',
                                                                  'residual_256_2_leakyrelu_3[0][0
                                                                 ]']

 residual_256_3_leakyrelu_3 (Le  (None, 32, 32, 256)  0          ['add_11[0][0]']
 akyReLU)

 upscale_128_0_conv2d_conv2d (C  (None, 32, 32, 512)  1180160    ['residual_256_3_leakyrelu_3[0][0
 onv2D)                                                          ]']

 upscale_128_0_pixelshuffler (P  (None, 64, 64, 128)  0          ['upscale_128_0_conv2d_conv2d[0][
 ixelShuffler)                                                   0]']

 leaky_re_lu_7 (LeakyReLU)      (None, 64, 64, 128)  0           ['upscale_128_0_pixelshuffler[0][
                                                                 0]']

 residual_128_2_conv2d_0 (Conv2  (None, 64, 64, 128)  147456     ['leaky_re_lu_7[0][0]']
 D)

 residual_128_2_leakyrelu_1 (Le  (None, 64, 64, 128)  0          ['residual_128_2_conv2d_0[0][0]']
 akyReLU)

 residual_128_2_conv2d_1 (Conv2  (None, 64, 64, 128)  147456     ['residual_128_2_leakyrelu_1[0][0
 D)                                                              ]']

 add_12 (Add)                   (None, 64, 64, 128)  0           ['residual_128_2_conv2d_1[0][0]',
                                                                  'leaky_re_lu_7[0][0]']

 residual_128_2_leakyrelu_3 (Le  (None, 64, 64, 128)  0          ['add_12[0][0]']
 akyReLU)

 residual_128_3_conv2d_0 (Conv2  (None, 64, 64, 128)  147584     ['residual_128_2_leakyrelu_3[0][0
 D)                                                              ]']

 residual_128_3_leakyrelu_1 (Le  (None, 64, 64, 128)  0          ['residual_128_3_conv2d_0[0][0]']
 akyReLU)

 residual_128_3_conv2d_1 (Conv2  (None, 64, 64, 128)  147584     ['residual_128_3_leakyrelu_1[0][0
 D)                                                              ]']

 add_13 (Add)                   (None, 64, 64, 128)  0           ['residual_128_3_conv2d_1[0][0]',
                                                                  'residual_128_2_leakyrelu_3[0][0
                                                                 ]']

 residual_128_3_leakyrelu_3 (Le  (None, 64, 64, 128)  0          ['add_13[0][0]']
 akyReLU)

 upscale_64_0_conv2d_conv2d (Co  (None, 64, 64, 256)  295168     ['residual_128_3_leakyrelu_3[0][0
 nv2D)                                                           ]']

 upscale_64_0_conv2d_leakyrelu   (None, 64, 64, 256)  0          ['upscale_64_0_conv2d_conv2d[0][0
 (LeakyReLU)                                                     ]']

 upscale_64_0_pixelshuffler (Pi  (None, 128, 128, 64  0          ['upscale_64_0_conv2d_leakyrelu[0
 xelShuffler)                   )                                ][0]']

 face_out_b_conv2d (Conv2D)     (None, 128, 128, 3)  4803        ['upscale_64_0_pixelshuffler[0][0
                                                                 ]']

 face_out_b (Activation)        (None, 128, 128, 3)  0           ['face_out_b_conv2d[0][0]']

==================================================================================================
Total params: 144,441,027
Trainable params: 144,441,027
Non-trainable params: 0
__________________________________________________________________________________________________
Process exited.

10.unbalanced

Model: "unbalanced"
__________________________________________________________________________________________________
 Layer (type)                   Output Shape         Param #     Connected to
==================================================================================================
 face_in_a (InputLayer)         [(None, 128, 128, 3  0           []
                                )]

 face_in_b (InputLayer)         [(None, 128, 128, 3  0           []
                                )]

 encoder (Functional)           (None, 8, 8, 512)    83964932    ['face_in_a[0][0]',
                                                                  'face_in_b[0][0]']

 decoder_a (Functional)         (None, 128, 128, 3)  43633827    ['encoder[0][0]']

 decoder_b (Functional)         (None, 128, 128, 3)  79447427    ['encoder[1][0]']

==================================================================================================
Total params: 207,046,186
Trainable params: 207,046,186
Non-trainable params: 0
__________________________________________________________________________________________________
Model: "encoder"
_________________________________________________________________
 Layer (type)                Output Shape              Param #
=================================================================
 input_1 (InputLayer)        [(None, 128, 128, 3)]     0

 conv_128_0_conv2d (Conv2D)  (None, 64, 64, 128)       9728

 conv_128_0_instancenorm (In  (None, 64, 64, 128)      2
 stanceNormalization)

 conv_128_0_leakyrelu (Leaky  (None, 64, 64, 128)      0
 ReLU)

 conv_256_0_conv2d (Conv2D)  (None, 32, 32, 256)       819456

 conv_256_0_instancenorm (In  (None, 32, 32, 256)      2
 stanceNormalization)

 conv_256_0_leakyrelu (Leaky  (None, 32, 32, 256)      0
 ReLU)

 conv_512_0_conv2d (Conv2D)  (None, 16, 16, 512)       3277312

 conv_512_0_leakyrelu (Leaky  (None, 16, 16, 512)      0
 ReLU)

 conv_768_0_conv2d (Conv2D)  (None, 8, 8, 768)         9831168

 conv_768_0_leakyrelu (Leaky  (None, 8, 8, 768)        0
 ReLU)

 conv_1024_0_conv2d (Conv2D)  (None, 4, 4, 1024)       19661824

 conv_1024_0_leakyrelu (Leak  (None, 4, 4, 1024)       0
 yReLU)

 flatten (Flatten)           (None, 16384)             0

 dense (Dense)               (None, 1024)              16778240

 dense_1 (Dense)             (None, 32768)             33587200

 reshape (Reshape)           (None, 8, 8, 512)         0

=================================================================
Total params: 83,964,932
Trainable params: 83,964,932
Non-trainable params: 0
_________________________________________________________________
Model: "decoder_a"
_________________________________________________________________
 Layer (type)                Output Shape              Param #
=================================================================
 input_2 (InputLayer)        [(None, 8, 8, 512)]       0

 upscale_384_0_conv2d_conv2d  (None, 8, 8, 1536)       19662336
  (Conv2D)

 upscale_384_0_conv2d_leakyr  (None, 8, 8, 1536)       0
 elu (LeakyReLU)

 upscale_384_0_pixelshuffler  (None, 16, 16, 384)      0
  (PixelShuffler)

 spatial_dropout2d (SpatialD  (None, 16, 16, 384)      0
 ropout2D)

 upscale_384_1_conv2d_conv2d  (None, 16, 16, 1536)     14747136
  (Conv2D)

 upscale_384_1_conv2d_leakyr  (None, 16, 16, 1536)     0
 elu (LeakyReLU)

 upscale_384_1_pixelshuffler  (None, 32, 32, 384)      0
  (PixelShuffler)

 spatial_dropout2d_1 (Spatia  (None, 32, 32, 384)      0
 lDropout2D)

 upscale_192_0_conv2d_conv2d  (None, 32, 32, 768)      7373568
  (Conv2D)

 upscale_192_0_conv2d_leakyr  (None, 32, 32, 768)      0
 elu (LeakyReLU)

 upscale_192_0_pixelshuffler  (None, 64, 64, 192)      0
  (PixelShuffler)

 upscale_96_0_conv2d_conv2d   (None, 64, 64, 384)      1843584
 (Conv2D)

 upscale_96_0_conv2d_leakyre  (None, 64, 64, 384)      0
 lu (LeakyReLU)

 upscale_96_0_pixelshuffler   (None, 128, 128, 96)     0
 (PixelShuffler)

 face_out_a_conv2d (Conv2D)  (None, 128, 128, 3)       7203

 face_out_a (Activation)     (None, 128, 128, 3)       0

=================================================================
Total params: 43,633,827
Trainable params: 43,633,827
Non-trainable params: 0
_________________________________________________________________
Model: "decoder_b"
__________________________________________________________________________________________________
 Layer (type)                   Output Shape         Param #     Connected to
==================================================================================================
 input_3 (InputLayer)           [(None, 8, 8, 512)]  0           []

 upscale_512_0_conv2d_conv2d (C  (None, 8, 8, 2048)  26216448    ['input_3[0][0]']
 onv2D)

 upscale_512_0_pixelshuffler (P  (None, 16, 16, 512)  0          ['upscale_512_0_conv2d_conv2d[0][
 ixelShuffler)                                                   0]']

 leaky_re_lu (LeakyReLU)        (None, 16, 16, 512)  0           ['upscale_512_0_pixelshuffler[0][
                                                                 0]']

 residual_512_0_conv2d_0 (Conv2  (None, 16, 16, 512)  2359808    ['leaky_re_lu[0][0]']
 D)

 residual_512_0_leakyrelu_1 (Le  (None, 16, 16, 512)  0          ['residual_512_0_conv2d_0[0][0]']
 akyReLU)

 residual_512_0_conv2d_1 (Conv2  (None, 16, 16, 512)  2359808    ['residual_512_0_leakyrelu_1[0][0
 D)                                                              ]']

 add (Add)                      (None, 16, 16, 512)  0           ['residual_512_0_conv2d_1[0][0]',
                                                                  'leaky_re_lu[0][0]']

 residual_512_0_leakyrelu_3 (Le  (None, 16, 16, 512)  0          ['add[0][0]']
 akyReLU)

 upscale_512_1_conv2d_conv2d (C  (None, 16, 16, 2048  26216448   ['residual_512_0_leakyrelu_3[0][0
 onv2D)                         )                                ]']

 upscale_512_1_pixelshuffler (P  (None, 32, 32, 512)  0          ['upscale_512_1_conv2d_conv2d[0][
 ixelShuffler)                                                   0]']

 leaky_re_lu_1 (LeakyReLU)      (None, 32, 32, 512)  0           ['upscale_512_1_pixelshuffler[0][
                                                                 0]']

 residual_512_1_conv2d_0 (Conv2  (None, 32, 32, 512)  2359808    ['leaky_re_lu_1[0][0]']
 D)

 residual_512_1_leakyrelu_1 (Le  (None, 32, 32, 512)  0          ['residual_512_1_conv2d_0[0][0]']
 akyReLU)

 residual_512_1_conv2d_1 (Conv2  (None, 32, 32, 512)  2359808    ['residual_512_1_leakyrelu_1[0][0
 D)                                                              ]']

 add_1 (Add)                    (None, 32, 32, 512)  0           ['residual_512_1_conv2d_1[0][0]',
                                                                  'leaky_re_lu_1[0][0]']

 residual_512_1_leakyrelu_3 (Le  (None, 32, 32, 512)  0          ['add_1[0][0]']
 akyReLU)

 upscale_256_0_conv2d_conv2d (C  (None, 32, 32, 1024  13108224   ['residual_512_1_leakyrelu_3[0][0
 onv2D)                         )                                ]']

 upscale_256_0_pixelshuffler (P  (None, 64, 64, 256)  0          ['upscale_256_0_conv2d_conv2d[0][
 ixelShuffler)                                                   0]']

 leaky_re_lu_2 (LeakyReLU)      (None, 64, 64, 256)  0           ['upscale_256_0_pixelshuffler[0][
                                                                 0]']

 residual_256_0_conv2d_0 (Conv2  (None, 64, 64, 256)  590080     ['leaky_re_lu_2[0][0]']
 D)

 residual_256_0_leakyrelu_1 (Le  (None, 64, 64, 256)  0          ['residual_256_0_conv2d_0[0][0]']
 akyReLU)

 residual_256_0_conv2d_1 (Conv2  (None, 64, 64, 256)  590080     ['residual_256_0_leakyrelu_1[0][0
 D)                                                              ]']

 add_2 (Add)                    (None, 64, 64, 256)  0           ['residual_256_0_conv2d_1[0][0]',
                                                                  'leaky_re_lu_2[0][0]']

 residual_256_0_leakyrelu_3 (Le  (None, 64, 64, 256)  0          ['add_2[0][0]']
 akyReLU)

 upscale_128_0_conv2d_conv2d (C  (None, 64, 64, 512)  3277312    ['residual_256_0_leakyrelu_3[0][0
 onv2D)                                                          ]']

 upscale_128_0_conv2d_leakyrelu  (None, 64, 64, 512)  0          ['upscale_128_0_conv2d_conv2d[0][
  (LeakyReLU)                                                    0]']

 upscale_128_0_pixelshuffler (P  (None, 128, 128, 12  0          ['upscale_128_0_conv2d_leakyrelu[
 ixelShuffler)                  8)                               0][0]']

 face_out_b_conv2d (Conv2D)     (None, 128, 128, 3)  9603        ['upscale_128_0_pixelshuffler[0][
                                                                 0]']

 face_out_b (Activation)        (None, 128, 128, 3)  0           ['face_out_b_conv2d[0][0]']

==================================================================================================
Total params: 79,447,427
Trainable params: 79,447,427
Non-trainable params: 0
__________________________________________________________________________________________________
Process exited.

11.villain

Model: "villain"
__________________________________________________________________________________________________
 Layer (type)                   Output Shape         Param #     Connected to
==================================================================================================
 face_in_a (InputLayer)         [(None, 128, 128, 3  0           []
                                )]

 face_in_b (InputLayer)         [(None, 128, 128, 3  0           []
                                )]

 encoder (Functional)           (None, 16, 16, 512)  112027904   ['face_in_a[0][0]',
                                                                  'face_in_b[0][0]']

 decoder_a (Functional)         (None, 128, 128, 3)  21543555    ['encoder[0][0]']

 decoder_b (Functional)         (None, 128, 128, 3)  21543555    ['encoder[1][0]']

==================================================================================================
Total params: 155,115,014
Trainable params: 155,115,014
Non-trainable params: 0
__________________________________________________________________________________________________
Model: "encoder"
__________________________________________________________________________________________________
 Layer (type)                   Output Shape         Param #     Connected to
==================================================================================================
 input_1 (InputLayer)           [(None, 128, 128, 3  0           []
                                )]

 conv_128_0_conv2d (Conv2D)     (None, 64, 64, 128)  9728        ['input_1[0][0]']

 leaky_re_lu (LeakyReLU)        (None, 64, 64, 128)  0           ['conv_128_0_conv2d[0][0]']

 residual_128_0_conv2d_0 (Conv2  (None, 64, 64, 128)  147584     ['leaky_re_lu[0][0]']
 D)

 residual_128_0_leakyrelu_1 (Le  (None, 64, 64, 128)  0          ['residual_128_0_conv2d_0[0][0]']
 akyReLU)

 residual_128_0_conv2d_1 (Conv2  (None, 64, 64, 128)  147584     ['residual_128_0_leakyrelu_1[0][0
 D)                                                              ]']

 add (Add)                      (None, 64, 64, 128)  0           ['residual_128_0_conv2d_1[0][0]',
                                                                  'leaky_re_lu[0][0]']

 residual_128_0_leakyrelu_3 (Le  (None, 64, 64, 128)  0          ['add[0][0]']
 akyReLU)

 residual_128_1_conv2d_0 (Conv2  (None, 64, 64, 128)  147584     ['residual_128_0_leakyrelu_3[0][0
 D)                                                              ]']

 residual_128_1_leakyrelu_1 (Le  (None, 64, 64, 128)  0          ['residual_128_1_conv2d_0[0][0]']
 akyReLU)

 residual_128_1_conv2d_1 (Conv2  (None, 64, 64, 128)  147584     ['residual_128_1_leakyrelu_1[0][0
 D)                                                              ]']

 add_1 (Add)                    (None, 64, 64, 128)  0           ['residual_128_1_conv2d_1[0][0]',
                                                                  'residual_128_0_leakyrelu_3[0][0
                                                                 ]']

 residual_128_1_leakyrelu_3 (Le  (None, 64, 64, 128)  0          ['add_1[0][0]']
 akyReLU)

 residual_128_2_conv2d_0 (Conv2  (None, 64, 64, 128)  147584     ['residual_128_1_leakyrelu_3[0][0
 D)                                                              ]']

 residual_128_2_leakyrelu_1 (Le  (None, 64, 64, 128)  0          ['residual_128_2_conv2d_0[0][0]']
 akyReLU)

 residual_128_2_conv2d_1 (Conv2  (None, 64, 64, 128)  147584     ['residual_128_2_leakyrelu_1[0][0
 D)                                                              ]']

 add_2 (Add)                    (None, 64, 64, 128)  0           ['residual_128_2_conv2d_1[0][0]',
                                                                  'residual_128_1_leakyrelu_3[0][0
                                                                 ]']

 residual_128_2_leakyrelu_3 (Le  (None, 64, 64, 128)  0          ['add_2[0][0]']
 akyReLU)

 residual_128_3_conv2d_0 (Conv2  (None, 64, 64, 128)  147584     ['residual_128_2_leakyrelu_3[0][0
 D)                                                              ]']

 residual_128_3_leakyrelu_1 (Le  (None, 64, 64, 128)  0          ['residual_128_3_conv2d_0[0][0]']
 akyReLU)

 residual_128_3_conv2d_1 (Conv2  (None, 64, 64, 128)  147584     ['residual_128_3_leakyrelu_1[0][0
 D)                                                              ]']

 add_3 (Add)                    (None, 64, 64, 128)  0           ['residual_128_3_conv2d_1[0][0]',
                                                                  'residual_128_2_leakyrelu_3[0][0
                                                                 ]']

 residual_128_3_leakyrelu_3 (Le  (None, 64, 64, 128)  0          ['add_3[0][0]']
 akyReLU)

 residual_128_4_conv2d_0 (Conv2  (None, 64, 64, 128)  147584     ['residual_128_3_leakyrelu_3[0][0
 D)                                                              ]']

 residual_128_4_leakyrelu_1 (Le  (None, 64, 64, 128)  0          ['residual_128_4_conv2d_0[0][0]']
 akyReLU)

 residual_128_4_conv2d_1 (Conv2  (None, 64, 64, 128)  147584     ['residual_128_4_leakyrelu_1[0][0
 D)                                                              ]']

 add_4 (Add)                    (None, 64, 64, 128)  0           ['residual_128_4_conv2d_1[0][0]',
                                                                  'residual_128_3_leakyrelu_3[0][0
                                                                 ]']

 residual_128_4_leakyrelu_3 (Le  (None, 64, 64, 128)  0          ['add_4[0][0]']
 akyReLU)

 residual_128_5_conv2d_0 (Conv2  (None, 64, 64, 128)  147584     ['residual_128_4_leakyrelu_3[0][0
 D)                                                              ]']

 residual_128_5_leakyrelu_1 (Le  (None, 64, 64, 128)  0          ['residual_128_5_conv2d_0[0][0]']
 akyReLU)

 residual_128_5_conv2d_1 (Conv2  (None, 64, 64, 128)  147584     ['residual_128_5_leakyrelu_1[0][0
 D)                                                              ]']

 add_5 (Add)                    (None, 64, 64, 128)  0           ['residual_128_5_conv2d_1[0][0]',
                                                                  'residual_128_4_leakyrelu_3[0][0
                                                                 ]']

 residual_128_5_leakyrelu_3 (Le  (None, 64, 64, 128)  0          ['add_5[0][0]']
 akyReLU)

 residual_128_6_conv2d_0 (Conv2  (None, 64, 64, 128)  147584     ['residual_128_5_leakyrelu_3[0][0
 D)                                                              ]']

 residual_128_6_leakyrelu_1 (Le  (None, 64, 64, 128)  0          ['residual_128_6_conv2d_0[0][0]']
 akyReLU)

 residual_128_6_conv2d_1 (Conv2  (None, 64, 64, 128)  147584     ['residual_128_6_leakyrelu_1[0][0
 D)                                                              ]']

 add_6 (Add)                    (None, 64, 64, 128)  0           ['residual_128_6_conv2d_1[0][0]',
                                                                  'residual_128_5_leakyrelu_3[0][0
                                                                 ]']

 residual_128_6_leakyrelu_3 (Le  (None, 64, 64, 128)  0          ['add_6[0][0]']
 akyReLU)

 residual_128_7_conv2d_0 (Conv2  (None, 64, 64, 128)  147584     ['residual_128_6_leakyrelu_3[0][0
 D)                                                              ]']

 residual_128_7_leakyrelu_1 (Le  (None, 64, 64, 128)  0          ['residual_128_7_conv2d_0[0][0]']
 akyReLU)

 residual_128_7_conv2d_1 (Conv2  (None, 64, 64, 128)  147584     ['residual_128_7_leakyrelu_1[0][0
 D)                                                              ]']

 add_7 (Add)                    (None, 64, 64, 128)  0           ['residual_128_7_conv2d_1[0][0]',
                                                                  'residual_128_6_leakyrelu_3[0][0
                                                                 ]']

 residual_128_7_leakyrelu_3 (Le  (None, 64, 64, 128)  0          ['add_7[0][0]']
 akyReLU)

 residual_128_8_conv2d_0 (Conv2  (None, 64, 64, 128)  147584     ['residual_128_7_leakyrelu_3[0][0
 D)                                                              ]']

 residual_128_8_leakyrelu_1 (Le  (None, 64, 64, 128)  0          ['residual_128_8_conv2d_0[0][0]']
 akyReLU)

 residual_128_8_conv2d_1 (Conv2  (None, 64, 64, 128)  147584     ['residual_128_8_leakyrelu_1[0][0
 D)                                                              ]']

 add_8 (Add)                    (None, 64, 64, 128)  0           ['residual_128_8_conv2d_1[0][0]',
                                                                  'residual_128_7_leakyrelu_3[0][0
                                                                 ]']

 residual_128_8_leakyrelu_3 (Le  (None, 64, 64, 128)  0          ['add_8[0][0]']
 akyReLU)

 residual_128_9_conv2d_0 (Conv2  (None, 64, 64, 128)  147584     ['residual_128_8_leakyrelu_3[0][0
 D)                                                              ]']

 residual_128_9_leakyrelu_1 (Le  (None, 64, 64, 128)  0          ['residual_128_9_conv2d_0[0][0]']
 akyReLU)

 residual_128_9_conv2d_1 (Conv2  (None, 64, 64, 128)  147584     ['residual_128_9_leakyrelu_1[0][0
 D)                                                              ]']

 add_9 (Add)                    (None, 64, 64, 128)  0           ['residual_128_9_conv2d_1[0][0]',
                                                                  'residual_128_8_leakyrelu_3[0][0
                                                                 ]']

 residual_128_9_leakyrelu_3 (Le  (None, 64, 64, 128)  0          ['add_9[0][0]']
 akyReLU)

 residual_128_10_conv2d_0 (Conv  (None, 64, 64, 128)  147584     ['residual_128_9_leakyrelu_3[0][0
 2D)                                                             ]']

 residual_128_10_leakyrelu_1 (L  (None, 64, 64, 128)  0          ['residual_128_10_conv2d_0[0][0]'
 eakyReLU)                                                       ]

 residual_128_10_conv2d_1 (Conv  (None, 64, 64, 128)  147584     ['residual_128_10_leakyrelu_1[0][
 2D)                                                             0]']

 add_10 (Add)                   (None, 64, 64, 128)  0           ['residual_128_10_conv2d_1[0][0]'
                                                                 , 'residual_128_9_leakyrelu_3[0][
                                                                 0]']

 residual_128_10_leakyrelu_3 (L  (None, 64, 64, 128)  0          ['add_10[0][0]']
 eakyReLU)

 residual_128_11_conv2d_0 (Conv  (None, 64, 64, 128)  147584     ['residual_128_10_leakyrelu_3[0][
 2D)                                                             0]']

 residual_128_11_leakyrelu_1 (L  (None, 64, 64, 128)  0          ['residual_128_11_conv2d_0[0][0]'
 eakyReLU)                                                       ]

 residual_128_11_conv2d_1 (Conv  (None, 64, 64, 128)  147584     ['residual_128_11_leakyrelu_1[0][
 2D)                                                             0]']

 add_11 (Add)                   (None, 64, 64, 128)  0           ['residual_128_11_conv2d_1[0][0]'
                                                                 , 'residual_128_10_leakyrelu_3[0]
                                                                 [0]']

 residual_128_11_leakyrelu_3 (L  (None, 64, 64, 128)  0          ['add_11[0][0]']
 eakyReLU)

 residual_128_12_conv2d_0 (Conv  (None, 64, 64, 128)  147584     ['residual_128_11_leakyrelu_3[0][
 2D)                                                             0]']

 residual_128_12_leakyrelu_1 (L  (None, 64, 64, 128)  0          ['residual_128_12_conv2d_0[0][0]'
 eakyReLU)                                                       ]

 residual_128_12_conv2d_1 (Conv  (None, 64, 64, 128)  147584     ['residual_128_12_leakyrelu_1[0][
 2D)                                                             0]']

 add_12 (Add)                   (None, 64, 64, 128)  0           ['residual_128_12_conv2d_1[0][0]'
                                                                 , 'residual_128_11_leakyrelu_3[0]
                                                                 [0]']

 residual_128_12_leakyrelu_3 (L  (None, 64, 64, 128)  0          ['add_12[0][0]']
 eakyReLU)

 residual_128_13_conv2d_0 (Conv  (None, 64, 64, 128)  147584     ['residual_128_12_leakyrelu_3[0][
 2D)                                                             0]']

 residual_128_13_leakyrelu_1 (L  (None, 64, 64, 128)  0          ['residual_128_13_conv2d_0[0][0]'
 eakyReLU)                                                       ]

 residual_128_13_conv2d_1 (Conv  (None, 64, 64, 128)  147584     ['residual_128_13_leakyrelu_1[0][
 2D)                                                             0]']

 add_13 (Add)                   (None, 64, 64, 128)  0           ['residual_128_13_conv2d_1[0][0]'
                                                                 , 'residual_128_12_leakyrelu_3[0]
                                                                 [0]']

 residual_128_13_leakyrelu_3 (L  (None, 64, 64, 128)  0          ['add_13[0][0]']
 eakyReLU)

 residual_128_14_conv2d_0 (Conv  (None, 64, 64, 128)  147584     ['residual_128_13_leakyrelu_3[0][
 2D)                                                             0]']

 residual_128_14_leakyrelu_1 (L  (None, 64, 64, 128)  0          ['residual_128_14_conv2d_0[0][0]'
 eakyReLU)                                                       ]

 residual_128_14_conv2d_1 (Conv  (None, 64, 64, 128)  147584     ['residual_128_14_leakyrelu_1[0][
 2D)                                                             0]']

 add_14 (Add)                   (None, 64, 64, 128)  0           ['residual_128_14_conv2d_1[0][0]'
                                                                 , 'residual_128_13_leakyrelu_3[0]
                                                                 [0]']

 residual_128_14_leakyrelu_3 (L  (None, 64, 64, 128)  0          ['add_14[0][0]']
 eakyReLU)

 residual_128_15_conv2d_0 (Conv  (None, 64, 64, 128)  147584     ['residual_128_14_leakyrelu_3[0][
 2D)                                                             0]']

 residual_128_15_leakyrelu_1 (L  (None, 64, 64, 128)  0          ['residual_128_15_conv2d_0[0][0]'
 eakyReLU)                                                       ]

 residual_128_15_conv2d_1 (Conv  (None, 64, 64, 128)  147584     ['residual_128_15_leakyrelu_1[0][
 2D)                                                             0]']

 add_15 (Add)                   (None, 64, 64, 128)  0           ['residual_128_15_conv2d_1[0][0]'
                                                                 , 'residual_128_14_leakyrelu_3[0]
                                                                 [0]']

 residual_128_15_leakyrelu_3 (L  (None, 64, 64, 128)  0          ['add_15[0][0]']
 eakyReLU)

 leaky_re_lu_1 (LeakyReLU)      (None, 64, 64, 128)  0           ['conv_128_0_conv2d[0][0]']

 add_16 (Add)                   (None, 64, 64, 128)  0           ['residual_128_15_leakyrelu_3[0][
                                                                 0]',
                                                                  'leaky_re_lu_1[0][0]']

 conv_128_1_conv2d (Conv2D)     (None, 32, 32, 128)  409728      ['add_16[0][0]']

 conv_128_1_leakyrelu (LeakyReL  (None, 32, 32, 128)  0          ['conv_128_1_conv2d[0][0]']
 U)

 pixel_shuffler (PixelShuffler)  (None, 64, 64, 32)  0           ['conv_128_1_leakyrelu[0][0]']

 conv_128_2_conv2d (Conv2D)     (None, 32, 32, 128)  102528      ['pixel_shuffler[0][0]']

 conv_128_2_leakyrelu (LeakyReL  (None, 32, 32, 128)  0          ['conv_128_2_conv2d[0][0]']
 U)

 pixel_shuffler_1 (PixelShuffle  (None, 64, 64, 32)  0           ['conv_128_2_leakyrelu[0][0]']
 r)

 conv_128_3_conv2d (Conv2D)     (None, 32, 32, 128)  102528      ['pixel_shuffler_1[0][0]']

 conv_128_3_leakyrelu (LeakyReL  (None, 32, 32, 128)  0          ['conv_128_3_conv2d[0][0]']
 U)

 separableconv2d_256_0_seperabl  (None, 16, 16, 256)  36224      ['conv_128_3_leakyrelu[0][0]']
 econv2d (SeparableConv2D)

 separableconv2d_256_0_relu (Ac  (None, 16, 16, 256)  0          ['separableconv2d_256_0_seperable
 tivation)                                                       conv2d[0][0]']

 conv_512_0_conv2d (Conv2D)     (None, 8, 8, 512)    3277312     ['separableconv2d_256_0_relu[0][0
                                                                 ]']

 conv_512_0_leakyrelu (LeakyReL  (None, 8, 8, 512)   0           ['conv_512_0_conv2d[0][0]']
 U)

 separableconv2d_1024_0_seperab  (None, 4, 4, 1024)  538112      ['conv_512_0_leakyrelu[0][0]']
 leconv2d (SeparableConv2D)

 separableconv2d_1024_0_relu (A  (None, 4, 4, 1024)  0           ['separableconv2d_1024_0_seperabl
 ctivation)                                                      econv2d[0][0]']

 flatten (Flatten)              (None, 16384)        0           ['separableconv2d_1024_0_relu[0][
                                                                 0]']

 dense (Dense)                  (None, 1024)         16778240    ['flatten[0][0]']

 dense_1 (Dense)                (None, 65536)        67174400    ['dense[0][0]']

 reshape (Reshape)              (None, 8, 8, 1024)   0           ['dense_1[0][0]']

 upscale_512_0_conv2d_conv2d (C  (None, 8, 8, 2048)  18876416    ['reshape[0][0]']
 onv2D)

 upscale_512_0_conv2d_leakyrelu  (None, 8, 8, 2048)  0           ['upscale_512_0_conv2d_conv2d[0][
  (LeakyReLU)                                                    0]']

 upscale_512_0_pixelshuffler (P  (None, 16, 16, 512)  0          ['upscale_512_0_conv2d_leakyrelu[
 ixelShuffler)                                                   0][0]']

==================================================================================================
Total params: 112,027,904
Trainable params: 112,027,904
Non-trainable params: 0
__________________________________________________________________________________________________
Model: "decoder_a"
__________________________________________________________________________________________________
 Layer (type)                   Output Shape         Param #     Connected to
==================================================================================================
 input_2 (InputLayer)           [(None, 16, 16, 512  0           []
                                )]

 upscale_512_1_conv2d_conv2d (C  (None, 16, 16, 2048  9439232    ['input_2[0][0]']
 onv2D)                         )

 upscale_512_1_pixelshuffler (P  (None, 32, 32, 512)  0          ['upscale_512_1_conv2d_conv2d[0][
 ixelShuffler)                                                   0]']

 leaky_re_lu_2 (LeakyReLU)      (None, 32, 32, 512)  0           ['upscale_512_1_pixelshuffler[0][
                                                                 0]']

 residual_512_0_conv2d_0 (Conv2  (None, 32, 32, 512)  2359808    ['leaky_re_lu_2[0][0]']
 D)

 residual_512_0_leakyrelu_1 (Le  (None, 32, 32, 512)  0          ['residual_512_0_conv2d_0[0][0]']
 akyReLU)

 residual_512_0_conv2d_1 (Conv2  (None, 32, 32, 512)  2359808    ['residual_512_0_leakyrelu_1[0][0
 D)                                                              ]']

 add_17 (Add)                   (None, 32, 32, 512)  0           ['residual_512_0_conv2d_1[0][0]',
                                                                  'leaky_re_lu_2[0][0]']

 residual_512_0_leakyrelu_3 (Le  (None, 32, 32, 512)  0          ['add_17[0][0]']
 akyReLU)

 upscale_256_0_conv2d_conv2d (C  (None, 32, 32, 1024  4719616    ['residual_512_0_leakyrelu_3[0][0
 onv2D)                         )                                ]']

 upscale_256_0_pixelshuffler (P  (None, 64, 64, 256)  0          ['upscale_256_0_conv2d_conv2d[0][
 ixelShuffler)                                                   0]']

 leaky_re_lu_3 (LeakyReLU)      (None, 64, 64, 256)  0           ['upscale_256_0_pixelshuffler[0][
                                                                 0]']

 residual_256_0_conv2d_0 (Conv2  (None, 64, 64, 256)  590080     ['leaky_re_lu_3[0][0]']
 D)

 residual_256_0_leakyrelu_1 (Le  (None, 64, 64, 256)  0          ['residual_256_0_conv2d_0[0][0]']
 akyReLU)

 residual_256_0_conv2d_1 (Conv2  (None, 64, 64, 256)  590080     ['residual_256_0_leakyrelu_1[0][0
 D)                                                              ]']

 add_18 (Add)                   (None, 64, 64, 256)  0           ['residual_256_0_conv2d_1[0][0]',
                                                                  'leaky_re_lu_3[0][0]']

 residual_256_0_leakyrelu_3 (Le  (None, 64, 64, 256)  0          ['add_18[0][0]']
 akyReLU)

 upscale_128_0_conv2d_conv2d (C  (None, 64, 64, 512)  1180160    ['residual_256_0_leakyrelu_3[0][0
 onv2D)                                                          ]']

 upscale_128_0_pixelshuffler (P  (None, 128, 128, 12  0          ['upscale_128_0_conv2d_conv2d[0][
 ixelShuffler)                  8)                               0]']

 leaky_re_lu_4 (LeakyReLU)      (None, 128, 128, 12  0           ['upscale_128_0_pixelshuffler[0][
                                8)                               0]']

 residual_128_16_conv2d_0 (Conv  (None, 128, 128, 12  147584     ['leaky_re_lu_4[0][0]']
 2D)                            8)

 residual_128_16_leakyrelu_1 (L  (None, 128, 128, 12  0          ['residual_128_16_conv2d_0[0][0]'
 eakyReLU)                      8)                               ]

 residual_128_16_conv2d_1 (Conv  (None, 128, 128, 12  147584     ['residual_128_16_leakyrelu_1[0][
 2D)                            8)                               0]']

 add_19 (Add)                   (None, 128, 128, 12  0           ['residual_128_16_conv2d_1[0][0]'
                                8)                               , 'leaky_re_lu_4[0][0]']

 residual_128_16_leakyrelu_3 (L  (None, 128, 128, 12  0          ['add_19[0][0]']
 eakyReLU)                      8)

 face_out_a_conv2d (Conv2D)     (None, 128, 128, 3)  9603        ['residual_128_16_leakyrelu_3[0][
                                                                 0]']

 face_out_a (Activation)        (None, 128, 128, 3)  0           ['face_out_a_conv2d[0][0]']

==================================================================================================
Total params: 21,543,555
Trainable params: 21,543,555
Non-trainable params: 0
__________________________________________________________________________________________________
Model: "decoder_b"
__________________________________________________________________________________________________
 Layer (type)                   Output Shape         Param #     Connected to
==================================================================================================
 input_3 (InputLayer)           [(None, 16, 16, 512  0           []
                                )]

 upscale_512_2_conv2d_conv2d (C  (None, 16, 16, 2048  9439232    ['input_3[0][0]']
 onv2D)                         )

 upscale_512_2_pixelshuffler (P  (None, 32, 32, 512)  0          ['upscale_512_2_conv2d_conv2d[0][
 ixelShuffler)                                                   0]']

 leaky_re_lu_5 (LeakyReLU)      (None, 32, 32, 512)  0           ['upscale_512_2_pixelshuffler[0][
                                                                 0]']

 residual_512_1_conv2d_0 (Conv2  (None, 32, 32, 512)  2359808    ['leaky_re_lu_5[0][0]']
 D)

 residual_512_1_leakyrelu_1 (Le  (None, 32, 32, 512)  0          ['residual_512_1_conv2d_0[0][0]']
 akyReLU)

 residual_512_1_conv2d_1 (Conv2  (None, 32, 32, 512)  2359808    ['residual_512_1_leakyrelu_1[0][0
 D)                                                              ]']

 add_20 (Add)                   (None, 32, 32, 512)  0           ['residual_512_1_conv2d_1[0][0]',
                                                                  'leaky_re_lu_5[0][0]']

 residual_512_1_leakyrelu_3 (Le  (None, 32, 32, 512)  0          ['add_20[0][0]']
 akyReLU)

 upscale_256_1_conv2d_conv2d (C  (None, 32, 32, 1024  4719616    ['residual_512_1_leakyrelu_3[0][0
 onv2D)                         )                                ]']

 upscale_256_1_pixelshuffler (P  (None, 64, 64, 256)  0          ['upscale_256_1_conv2d_conv2d[0][
 ixelShuffler)                                                   0]']

 leaky_re_lu_6 (LeakyReLU)      (None, 64, 64, 256)  0           ['upscale_256_1_pixelshuffler[0][
                                                                 0]']

 residual_256_1_conv2d_0 (Conv2  (None, 64, 64, 256)  590080     ['leaky_re_lu_6[0][0]']
 D)

 residual_256_1_leakyrelu_1 (Le  (None, 64, 64, 256)  0          ['residual_256_1_conv2d_0[0][0]']
 akyReLU)

 residual_256_1_conv2d_1 (Conv2  (None, 64, 64, 256)  590080     ['residual_256_1_leakyrelu_1[0][0
 D)                                                              ]']

 add_21 (Add)                   (None, 64, 64, 256)  0           ['residual_256_1_conv2d_1[0][0]',
                                                                  'leaky_re_lu_6[0][0]']

 residual_256_1_leakyrelu_3 (Le  (None, 64, 64, 256)  0          ['add_21[0][0]']
 akyReLU)

 upscale_128_1_conv2d_conv2d (C  (None, 64, 64, 512)  1180160    ['residual_256_1_leakyrelu_3[0][0
 onv2D)                                                          ]']

 upscale_128_1_pixelshuffler (P  (None, 128, 128, 12  0          ['upscale_128_1_conv2d_conv2d[0][
 ixelShuffler)                  8)                               0]']

 leaky_re_lu_7 (LeakyReLU)      (None, 128, 128, 12  0           ['upscale_128_1_pixelshuffler[0][
                                8)                               0]']

 residual_128_17_conv2d_0 (Conv  (None, 128, 128, 12  147584     ['leaky_re_lu_7[0][0]']
 2D)                            8)

 residual_128_17_leakyrelu_1 (L  (None, 128, 128, 12  0          ['residual_128_17_conv2d_0[0][0]'
 eakyReLU)                      8)                               ]

 residual_128_17_conv2d_1 (Conv  (None, 128, 128, 12  147584     ['residual_128_17_leakyrelu_1[0][
 2D)                            8)                               0]']

 add_22 (Add)                   (None, 128, 128, 12  0           ['residual_128_17_conv2d_1[0][0]'
                                8)                               , 'leaky_re_lu_7[0][0]']

 residual_128_17_leakyrelu_3 (L  (None, 128, 128, 12  0          ['add_22[0][0]']
 eakyReLU)                      8)

 face_out_b_conv2d (Conv2D)     (None, 128, 128, 3)  9603        ['residual_128_17_leakyrelu_3[0][
                                                                 0]']

 face_out_b (Activation)        (None, 128, 128, 3)  0           ['face_out_b_conv2d[0][0]']

==================================================================================================
Total params: 21,543,555
Trainable params: 21,543,555
Non-trainable params: 0
__________________________________________________________________________________________________
Process exited.
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值