技术标签: 计算机视觉 Artificial Intelligence
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.
文章浏览阅读808次。iperf3测试网络状况软件下载地址:https://iperf.fr/iperf-download.php服务端启动(参数都一样):iperf3 -s(如果是linux系统直接下载好iperf3软件即可,如果是在Windows系统 需要在cmd命令行里先进入iperf3.exe程序所在的目录下)客户端启动;iperf3 -c 服务端ip -p 监听的端口号 -b 带宽 -i 时间间隔(单位秒) -t 持续时间(单位秒) -R(反向传输) -u(采用udp模式)例:ipe.._iperf3反转发送
文章浏览阅读1.5k次。PackageDemo.java文件package pack;class Demo{ public static void main(String args []) { packa.DemoA d= new packa.DemoA(); d.show(); }}DemoA.java文件package packa;publ_generator.config.globalconfig中不是公共的; 无法从外部程序包中对其进行访问
文章浏览阅读494次,点赞10次,收藏9次。C语言多线程编程-线程安全
文章浏览阅读1.5k次。基本都是基础题目,看来腾讯不准备放弃那些有思想但是 还没有开始苦练基本功的人,只涉及到语言问题和简单的 数据结构,其他的操作系统,编译原理,离散数学,软件 工程,计算机原理,体系结构等等无一涉及,题目很多, 有1个选择题想不来起来是什么了,题号不与原试题相符 希望师弟师妹可以探讨探讨答案,从中学到笔试的经验 声明:以下问题仅供本校园网校内师弟师妹为了考察自己学习的参考,不要传播 1 计算 a^b _腾讯笔试试卷e
文章浏览阅读4.3k次。ABAP提供了三种类型的内表, 即:标准表(Standard Table), 排序表(Sorted Table), 哈希表(Hashed Table)。在未声明内表类型时,系统会将类型默认为标准表。然而,标准表其实并不适用于所有的业务场景,我们应当根据实际的需求,定义使用合适类型的内表。1. 内表的类型让我们回顾下不同内表的访问方式。标准表和排序表是可以既通过index访问,有可通过key访..._sap 标准表有没有主键
文章浏览阅读216次。权限粒度控制到按钮在上面的页面中,有添加缴费记录、删除缴费记录、修改缴费记录三个按钮,这三个按钮的权限不是对所有用户开放的,对与有权限的用户展示这些按钮是正常的,但是对于没有权限去操作按钮的用户,我们应该将无权限的按钮隐藏起来。就是说页面中的按钮显示与否,根据服务端权限配置来决定的,这就是权限粒度控制到按钮级别。方式一:我们之前在session中存储的权限信息结构是 [ { 'id': 1, 'url': '/customer/_neocrm自动流程怎么和按钮绑定
文章浏览阅读6.2k次。作者:旧港链接:https://www.zhihu.com/question/265399264/answer/294871651来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。增长黑客这一概念起源于美国互联网行业,最早由 Sean Ellis 提出,已经帮助硅谷多家公司完成产品的快速增长。其中最著名的案例包括 Dropbox,Hotmail,Facebook。近年来,增长黑客的概念传到国内,也引起了众多创业者的关注。增长黑客的核心是驱动用户飞涨增长黑客,._增长黑客
文章浏览阅读2.5w次,点赞26次,收藏98次。CentOS8 安装时,如何配置安装源今天临时需要跑 CentOS 系统,于是在 http://mirrors.163.com/centos/8.3.2011/isos/x86_64/CentOS-8.3.2011-x86_64-boot.iso 地址,下载了一个基础镜像文件,然后在虚拟机软件中进行安装。安装过程中,发现不少问题。如下图首先,我们点击网络和主机名,进去打开网络。再点击左上角的完成,退出来可以看到,网络问题已经解决了。然后点击 安装目的地直接点击右上角完成,回到配置页面,可_centos8安装源设置
文章浏览阅读5.7k次。golang的time包:秒、毫秒、纳秒时间戳输出版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/u012978258/article/details/80822608菜鸟的时候只知道时间戳有10位、13位、还有好长位数的。入坑久了才明白10位数的时间戳是以 秒 为..._golang 时间戳
文章浏览阅读295次。zxvf是tar后面的参数。.tar.gz是一个压缩包,.tar只是打包而没有压缩。tar -zxvfjdk-8u161-linux-x64.tar.gz 解压jdk-8u161-linux-x64.tar.gz参数 解释 z 通过gzip支持的压缩或解压缩。还有其他的压缩或解压缩方式,比如j表示bzip2的方式 x 解压缩 v 在压缩或解压缩过程中显示正在处理的文件名 f f后面必须跟上要处理的文件名。 ..._tar xfvz
文章浏览阅读1.9k次。1.出厂日期查询方法: 进入拨号输入 *#197328640# 进工程模式; 点菜单键再点Key Input输入值2; 再点菜单键点Key Input输入值2; 再点菜单键点Key Input输入值4; 就可以看到cal date:显示出厂日期。2.看通话时间: *#*#4636#*#* 这是看通话时间的_kies 翻新
文章浏览阅读2.1k次,点赞2次,收藏7次。MySQL数据库表展示,表名test4先在HBase创建一张表,创建如下执行以下命令sqoop import --connect jdbc:mysql://192.168.42.1:3306/dsj?serverTimezone=UTC–username root -P–table test4–hbase-table mysql_Hbase–column-family stu_info–hbase-create-table–hbase-row-key id-m 1参数解读–con_sqoop配置 hbase-row-key