11  Convolutional Neural Networks (CNN)

The main purpose of convolutional neural networks is image recognition. (Sound can be understood as an image as well!) In a convolutional neural network, we have at least one convolution layer, additional to the normal, fully connected deep neural network layers.

Neurons in a convolution layer are connected only to a small spatially contiguous area of the input layer (receptive field). We use this structure (feature map) to scan the entire features / neurons (e.g. picture). Think of the feature map as a kernel or filter (or imagine a sliding window with weighted pixels) that is used to scan the image. As the name is already indicating, this operation is a convolution in mathematics. The kernel weights are optimized, but we use the same weights across the entire input neurons (shared weights).

The resulting (hidden) convolutional layer after training is called a feature map. You can think of the feature map as a map that shows you where the “shapes” expressed by the kernel appear in the input. One kernel / feature map will not be enough, we typically have many shapes that we want to recognize. Thus, the input layer is typically connected to several feature maps, which can be aggregated and followed by a second layer of feature maps, and so on.

You get one convolution map/layer for each kernel of one convolutional layer.

11.1 Example MNIST

We will show the use of convolutional neural networks with the MNIST data set. This data set is maybe one of the most famous image data sets. It consists of 60,000 handwritten digits from 0-9.

To do so, we define a few helper functions:

library(keras3)

rotate = function(x){ t(apply(x, 2, rev)) }

imgPlot = function(img, title = ""){
  col = grey.colors(255)
  image(rotate(img), col = col, xlab = "", ylab = "", axes = FALSE,
     main = paste0("Label: ", as.character(title)))
}

The MNIST data set is so famous that there is an automatic download function in Keras:

data = dataset_mnist()
train = data$train
test = data$test

Let’s visualize a few digits:

oldpar = par(mfrow = c(1, 3))
.n = sapply(1:3, function(x) imgPlot(train$x[x,,], train$y[x]))

par(oldpar)

Similar to the normal machine learning workflow, we have to scale the pixels (from 0-255) to the range of \([0, 1]\) and one hot encode the response. For scaling the pixels, we will use arrays instead of matrices. Arrays are called tensors in mathematics and a 2D array/tensor is typically called a matrix.

train_x = array(train$x/255, c(dim(train$x), 1))
test_x = array(test$x/255, c(dim(test$x), 1))
train_y = keras3::to_categorical(train$y)
test_y = keras3::to_categorical(test$y)

The last dimension denotes the number of channels in the image. In our case we have only one channel because the images are black and white.

Most times, we would have at least 3 color channels, for example RGB (red, green, blue) or HSV (hue, saturation, value), sometimes with several additional dimensions like transparency.

To build our convolutional model, we have to specify a kernel. In our case, we will use 16 convolutional kernels (filters) of size \(2\times2\). These are 2D kernels because our images are 2D. For movies for example, one would use 3D kernels (the third dimension would correspond to time and not to the color channels).

model = keras_model_sequential(shape(28L, 28L, 1L))
model |>
 layer_conv_2d(filters = 16L,
               kernel_size = c(2L, 2L), activation = "relu") |>
 layer_max_pooling_2d() |>
 layer_conv_2d(filters = 16L, kernel_size = c(3L, 3L), activation = "relu") |>
 layer_max_pooling_2d() |>
 layer_flatten() |>
 layer_dense(100L, activation = "relu") |>
 layer_dense(10L, activation = "softmax")
summary(model)
Model: "sequential"
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Layer (type)                      ┃ Output Shape             ┃       Param # ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ conv2d (Conv2D)                   │ (None, 27, 27, 16)       │            80 │
├───────────────────────────────────┼──────────────────────────┼───────────────┤
│ max_pooling2d (MaxPooling2D)      │ (None, 13, 13, 16)       │             0 │
├───────────────────────────────────┼──────────────────────────┼───────────────┤
│ conv2d_1 (Conv2D)                 │ (None, 11, 11, 16)       │         2,320 │
├───────────────────────────────────┼──────────────────────────┼───────────────┤
│ max_pooling2d_1 (MaxPooling2D)    │ (None, 5, 5, 16)         │             0 │
├───────────────────────────────────┼──────────────────────────┼───────────────┤
│ flatten (Flatten)                 │ (None, 400)              │             0 │
├───────────────────────────────────┼──────────────────────────┼───────────────┤
│ dense (Dense)                     │ (None, 100)              │        40,100 │
├───────────────────────────────────┼──────────────────────────┼───────────────┤
│ dense_1 (Dense)                   │ (None, 10)               │         1,010 │
└───────────────────────────────────┴──────────────────────────┴───────────────┘
 Total params: 43,510 (169.96 KB)
 Trainable params: 43,510 (169.96 KB)
 Non-trainable params: 0 (0.00 B)
plot(model)

Prepare/download data:

library(torch)

Attaching package: 'torch'
The following object is masked from 'package:keras3':

    as_iterator
library(torchvision)
torch_manual_seed(321L)
set.seed(123)

train_ds = mnist_dataset(
  ".",
  download = TRUE,
  train = TRUE,
  transform = transform_to_tensor
)

test_ds = mnist_dataset(
  ".",
  download = TRUE,
  train = FALSE,
  transform = transform_to_tensor
)

Build dataloader:

train_dl = dataloader(train_ds, batch_size = 32, shuffle = TRUE)
test_dl = dataloader(test_ds, batch_size = 32)
first_batch = train_dl$.iter()
df = first_batch$.next()

df$x$size()
[1] 32  1 28 28

Build convolutional neural network: We have here to calculate the shapes of our layers on our own:

We start with our input of shape (batch_size, 1, 28, 28)

sample = df$x
sample$size()
[1] 32  1 28 28

First convolutional layer has shape (input channel = 1, number of feature maps = 16, kernel size = 2)

conv1 = nn_conv2d(1, 16L, 2L, stride = 1L)
(sample |> conv1())$size()
[1] 32 16 27 27

Output: batch_size = 32, number of feature maps = 16, dimensions of each feature map = \((27 , 27)\) Wit a kernel size of two and stride = 1 we will lose one pixel in each dimension… Questions:

  • What happens if we increase the stride?
  • What happens if we increase the kernel size?

Pooling layer summarizes each feature map

(sample |> conv1() |> nnf_max_pool2d(kernel_size = 2L, stride = 2L))$size()
[1] 32 16 13 13

kernel_size = 2L and stride = 2L halfs the pixel dimensions of our image.

Fully connected layer

Now we have to flatten our final output of the convolutional neural network model to use a normal fully connected layer, but to do so we have to calculate the number of inputs for the fully connected layer:

dims = (sample |> conv1() |>
          nnf_max_pool2d(kernel_size = 2L, stride = 2L))$size()
# Without the batch size of course.
final = prod(dims[-1]) 
print(final)
[1] 2704
fc = nn_linear(final, 10L)
(sample |> conv1() |> nnf_max_pool2d(kernel_size = 2L, stride = 2L)
  |> torch_flatten(start_dim = 2L) |> fc())$size()
[1] 32 10

Build the network:

net = nn_module(
  "mnist",
  initialize = function(){
    self$conv1 = nn_conv2d(1, 16L, 2L)
    self$conv2 = nn_conv2d(16L, 16L, 3L)
    self$fc1 = nn_linear(400L, 100L)
    self$fc2 = nn_linear(100L, 10L)
  },
  forward = function(x){
    x |>
      self$conv1() |>
      nnf_relu() |>
      nnf_max_pool2d(2) |>
      self$conv2() |>
      nnf_relu() |>
      nnf_max_pool2d(2) |>
      torch_flatten(start_dim = 2) |>
      self$fc1() |>
      nnf_relu() |>
      self$fc2()
  }
)

We additionally used a pooling layer for downsizing the resulting feature maps. Without further specification, a \(2\times2\) pooling layer is taken automatically. Pooling layers take the input feature map and divide it into (in our case) parts of \(2\times2\) size. Then the respective pooling operation is executed. For every input map/layer, you get one (downsized) output map/layer.

As we are using the max pooling layer (there are sever other methods like the mean pooling), only the maximum value of these 4 parts is taken and forwarded further. Example input:

1   2   |   5   8   |   3   6
6   5   |   2   4   |   8   1
------------------------------
9   4   |   3   7   |   2   5
0   3   |   2   7   |   4   9

We use max pooling for every field:

max(1, 2, 6, 5)   |   max(5, 8, 2, 4)   |   max(3, 6, 8, 1)
-----------------------------------------------------------
max(9, 4, 0, 3)   |   max(3, 7, 2, 7)   |   max(2, 5, 4, 9)

So the resulting pooled information is:

6   |   8   |   8
------------------
9   |   7   |   9

In this example, a \(4\times6\) layer was transformed to a \(2\times3\) layer and thus downsized. This is similar to the biological process called lateral inhibition where active neurons inhibit the activity of neighboring neurons. It’s a loss of information but often very useful for aggregating information and prevent overfitting.

After another convolution and pooling layer, we flatten the output. This means that the following dense layer treats the previous layer as a full layer (so the dense layer is connected to all the weights from the last feature maps). You can think of this as transforming a matrix (2D) into a simple 1D vector. The full vector is then used. After flattening the layer, we can simply use our typical output layer.

The rest is as usual:

First we compile the model:

model |>
  keras3::compile(
      optimizer = keras3::optimizer_adamax(0.01),
      loss = keras3::loss_categorical_crossentropy
  )
summary(model)
Model: "sequential"
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Layer (type)                      ┃ Output Shape             ┃       Param # ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ conv2d (Conv2D)                   │ (None, 27, 27, 16)       │            80 │
├───────────────────────────────────┼──────────────────────────┼───────────────┤
│ max_pooling2d (MaxPooling2D)      │ (None, 13, 13, 16)       │             0 │
├───────────────────────────────────┼──────────────────────────┼───────────────┤
│ conv2d_1 (Conv2D)                 │ (None, 11, 11, 16)       │         2,320 │
├───────────────────────────────────┼──────────────────────────┼───────────────┤
│ max_pooling2d_1 (MaxPooling2D)    │ (None, 5, 5, 16)         │             0 │
├───────────────────────────────────┼──────────────────────────┼───────────────┤
│ flatten (Flatten)                 │ (None, 400)              │             0 │
├───────────────────────────────────┼──────────────────────────┼───────────────┤
│ dense (Dense)                     │ (None, 100)              │        40,100 │
├───────────────────────────────────┼──────────────────────────┼───────────────┤
│ dense_1 (Dense)                   │ (None, 10)               │         1,010 │
└───────────────────────────────────┴──────────────────────────┴───────────────┘
 Total params: 43,510 (169.96 KB)
 Trainable params: 43,510 (169.96 KB)
 Non-trainable params: 0 (0.00 B)

Then, we train the model:

library(tensorflow)
library(keras3)

epochs = 5L
batch_size = 32L
model |>
  fit(
    x = train_x, 
    y = train_y,
    epochs = epochs,
    batch_size = batch_size,
    shuffle = TRUE,
    validation_split = 0.2
  )

Train model:

library(torch)
torch_manual_seed(321L)
set.seed(123)

model_torch = net()
opt = optim_adam(params = model_torch$parameters, lr = 0.01)

for(e in 1:3){
  losses = c()
  coro::loop(
    for(batch in train_dl){
      opt$zero_grad()
      pred = model_torch(batch[[1]])
      loss = nnf_cross_entropy(pred, batch[[2]], reduction = "mean")
      loss$backward()
      opt$step()
      losses = c(losses, loss$item())
    }
  )
  cat(sprintf("Loss at epoch %d: %3f\n", e, mean(losses)))
}

Evaluation:

model_torch$eval()

test_losses = c()
total = 0
correct = 0

coro::loop(
  for(batch in test_dl){
    output = model_torch(batch[[1]])
    labels = batch[[2]]
    loss = nnf_cross_entropy(output, labels)
    test_losses = c(test_losses, loss$item())
    predicted = torch_max(output$data(), dim = 2)[[2]]
    total = total + labels$size(1)
    correct = correct + (predicted == labels)$sum()$item()
  }
)

mean(test_losses)
test_accuracy =  correct/total
test_accuracy

11.2 Example CIFAR

CIFAR10 is another famous image classification dataset. It consists of ten classes with colored images (see https://www.cs.toronto.edu/~kriz/cifar.html).

library(keras3)
data = keras3::dataset_cifar10()
train = data$train
test = data$test
image = train$x[1,,,]
image %>%  
 image_to_array() %>%
 `/`(., 255) %>%
 as.raster() %>%
 plot()
## normalize pixel to 0-1
train_x = array(train$x/255, c(dim(train$x)))
test_x = array(test$x/255, c(dim(test$x)))
train_y = keras3::to_categorical(train$y)
test_y = keras3::to_categorical(test$y)
model = keras_model_sequential(shape(32L, 32L,3L))
model |> 
 layer_conv_2d(input_shape = c(32L, 32L,3L),filters = 16L, kernel_size = c(2L,2L), activation = "relu") |> 
 layer_max_pooling_2d() |> 
 layer_dropout(0.3) |> 
 layer_conv_2d(filters = 16L, kernel_size = c(3L,3L), activation = "relu") |> 
 layer_max_pooling_2d() |> 
 layer_flatten() |> 
 layer_dense(10, activation = "softmax")
summary(model)
model |> 
 compile(
 optimizer = optimizer_adamax(),
 loss = keras3::loss_categorical_crossentropy
 )
early = callback_early_stopping(patience = 5L)
epochs = 1L
batch_size =20L
model |> fit(
 x = train_x, 
 y = train_y,
 epochs = epochs,
 batch_size = batch_size,
 shuffle = TRUE,
 validation_split = 0.2,
 callbacks = c(early)
)

11.3 Exercise

Task: CNN for flower dataset

The next exercise is based on the flower dataset in the Ecodata package.

Follow the steps above and build your own convolutional neural network.

Finally, submit your predictions to the submission server. If you have extra time, take a look at kaggle and find the flower dataset challenge for specific architectures tailored for this dataset.

Tasks:

  • If you are unsure how do it, take a look at the solution and try to make the model more complex (e.g. add convolutional layers, regularization, etc.)
  • Take a look at this notebook from kaggle , try to copy their architecture (it is the same dataset but upsized (i.e. more pixels, the only difference is the input dimension))

Prepare data:

library(tensorflow)
library(keras3)

train = EcoData::dataset_flower()$train/255
test = EcoData::dataset_flower()$test/255
labels = EcoData::dataset_flower()$labels

Plot flower:

train[100,,,] |>
  image_to_array() |>
  as.raster() |>
  plot()

Tip: Take a look at the dataset chapter.

Build model:

model = keras_model_sequential(shape(80L, 80L, 3L))
model |> 
  layer_conv_2d(filters = 4L, kernel_size = 2L) |> 
  layer_max_pooling_2d() |> 
  layer_flatten() |> 
  layer_dense(units = 5L, activation = "softmax")

### Model fitting ###

model |> 
  compile(loss = loss_categorical_crossentropy, 
          optimizer = optimizer_adamax(learning_rate = 0.01))

model |> 
  fit(x = train, y = keras::k_one_hot(labels, 5L))
Registered S3 methods overwritten by 'keras':
  method                               from  
  as.data.frame.keras_training_history keras3
  plot.keras_training_history          keras3
  print.keras_training_history         keras3
  r_to_py.R6ClassGenerator             keras3
95/95 - 2s - 18ms/step - loss: 1.9329

Predictions:

# Prediction on training data:
pred = apply(model |> predict(train), 1, which.max)
95/95 - 0s - 5ms/step
Metrics::accuracy(pred - 1L, labels)
[1] 0.5319219
table(pred)
pred
  1   2   3   4   5 
431 879 599 596 518 
# Prediction for the submission server:
pred = model |> predict(test) |> apply(1, which.max) - 1L
41/41 - 0s - 4ms/step
table(pred)
pred
  0   1   2   3   4 
175 379 273 240 233 

Submission:

write.csv(data.frame(y = pred), file = "cnn.csv")

11.4 Advanced Training Techniques

11.4.1 Data Augmentation

Having to train a convolutional neural network using very little data is a common problem. Data augmentation helps to artificially increase the number of images.

The idea is that a convolutional neural network learns specific structures such as edges from images. Rotating, adding noise, and zooming in and out will preserve the overall key structure we are interested in, but the model will see new images and has to search once again for the key structures.

Luckily, it is very easy to use data augmentation in Keras.

To show this, we will use our flower data set. We have to define a generator object (a specific object which infinitely draws samples from our data set). In the generator we can turn on the data augmentation.

reticulate::use_virtualenv("r-keras")
library(keras3)
library(tensorflow)
library(tfdatasets)

Attaching package: 'tfdatasets'
The following object is masked from 'package:torch':

    as_iterator
The following object is masked from 'package:keras3':

    shape
data = EcoData::dataset_flower()
train = data$train/255
labels = data$labels


# data augemention model
aug = keras_model_sequential()
aug %>% 
  layer_random_flip() %>% 
  layer_random_rotation(factor = c(-0.5, 0.5)) %>% 
  layer_random_brightness(factor = c(-0.5, 0.5), value_range = c(0, 1))
aug
Model: "sequential_2"
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Layer (type)                      ┃ Output Shape             ┃       Param # ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ random_flip (RandomFlip)          │ ?                        │   0 (unbuilt) │
├───────────────────────────────────┼──────────────────────────┼───────────────┤
│ random_rotation (RandomRotation)  │ ?                        │   0 (unbuilt) │
├───────────────────────────────────┼──────────────────────────┼───────────────┤
│ random_brightness                 │ ?                        │   0 (unbuilt) │
│ (RandomBrightness)                │                          │               │
└───────────────────────────────────┴──────────────────────────┴───────────────┘
 Total params: 0 (0.00 B)
 Trainable params: 0 (0.00 B)
 Non-trainable params: 0 (0.00 B)
# Prepare datasets
dataset = tfdatasets::tensor_slices_dataset(list(train, to_categorical(labels)))
dataset <- dataset %>%
  dataset_map(function(x, y) list(aug(x), y))

batch_size <- 64

train_ds <- dataset |>
  dataset_batch(batch_size) |>
  dataset_prefetch(buffer_size = tf$data$AUTOTUNE)

# test!
batch <- train_ds |>
  dataset_take(1) |>
  as_iterator() |>
  iter_next()

as.array(batch[[1]][1,,,]) |>
  image_to_array() |>
  as.raster() |>
  plot()

# model fitting
model = keras_model_sequential(shape(80L, 80L, 3L))
model |> 
  layer_conv_2d(filters = 4L, kernel_size = 2L) |> 
  layer_max_pooling_2d() |> 
  layer_flatten() |> 
  layer_dense(units = 5L, activation = "softmax")


model |>
  keras3::compile(loss = keras3::loss_categorical_crossentropy,
                  optimizer = keras3::optimizer_adamax(learning_rate = 0.01))


model %>% fit(train_ds, epochs = 2L)
Epoch 1/2
48/48 - 3s - 55ms/step - loss: 17.9444
Epoch 2/2
48/48 - 2s - 43ms/step - loss: 20.5785

Using data augmentation we can artificially increase the number of images.

In Torch, we have to change the transform function (but only for the train dataloader):

library(torch)
torch_manual_seed(321L)
set.seed(123)

train_transforms = function(img){
  img |>
    transform_to_tensor() |>
    transform_random_horizontal_flip(p = 0.3) |>
    transform_random_resized_crop(size = c(28L, 28L)) |>
    transform_random_vertical_flip(0.3)
}

train_ds = mnist_dataset(".", download = TRUE, train = TRUE,
                         transform = train_transforms)
test_ds = mnist_dataset(".", download = TRUE, train = FALSE,
                        transform = transform_to_tensor)

train_dl = dataloader(train_ds, batch_size = 100L, shuffle = TRUE)
test_dl = dataloader(test_ds, batch_size = 100L)

model_torch = net()
opt = optim_adam(params = model_torch$parameters, lr = 0.01)

for(e in 1:1){
  losses = c()
  coro::loop(
    for(batch in train_dl){
      opt$zero_grad()
      pred = model_torch(batch[[1]])
      loss = nnf_cross_entropy(pred, batch[[2]], reduction = "mean")
      loss$backward()
      opt$step()
      losses = c(losses, loss$item())
    }
  )
  
  cat(sprintf("Loss at epoch %d: %3f\n", e, mean(losses)))
}

model_torch$eval()

test_losses = c()
total = 0
correct = 0

coro::loop(
  for(batch in test_dl){
    output = model_torch(batch[[1]])
    labels = batch[[2]]
    loss = nnf_cross_entropy(output, labels)
    test_losses = c(test_losses, loss$item())
    predicted = torch_max(output$data(), dim = 2)[[2]]
    total = total + labels$size(1)
    correct = correct + (predicted == labels)$sum()$item()
  }
)

test_accuracy =  correct/total
print(test_accuracy)

11.4.2 Transfer Learning

Another approach to reduce the necessary number of images or to speed up convergence of the models is the use of transfer learning.

The main idea of transfer learning is that all the convolutional layers have mainly one task - learning to identify highly correlated neighboring features. This knowledge is then used for new tasks. The convolutional layers learn structures such as edges in images and only the top layer, the dense layer is the actual classifier of the convolutional neural network for a specific task. Thus, one could think that we could only train the top layer as classifier. To do so, it will be confronted by sets of different edges/structures and has to decide the label based on these.

Again, this sounds very complicated but it is again quite easy with Keras and Torch.

We will do this now with the CIFAR10 data set, so we have to prepare the data:

library(tensorflow)
library(keras3)

data = keras3::dataset_cifar10()
train = data$train
test = data$test

rm(data)

image = train$x[5,,,]
image %>%
  image_to_array() %>% 
  `/`(., 255) %>%
  as.raster() %>%
  plot()

train_x = array(train$x/255, c(dim(train$x)))
test_x = array(test$x/255, c(dim(test$x)))
train_y = keras3::to_categorical(train$y)
test_y = keras3::to_categorical(test$y)

rm(train, test)

Keras provides download functions for all famous architectures/convolutional neural network models which are already trained on the imagenet data set (another famous data set). These trained networks come already without their top layer, so we have to set include_top to false and change the input shape.

densenet = keras3::application_densenet201(include_top = FALSE,
                                   input_shape  = c(32L, 32L, 3L))

Now, we will not use a sequential model but just a “keras_model” where we can specify the inputs and outputs. Thereby, the output is our own top layer, but the inputs are the densenet inputs, as these are already pre-trained.

model = keras3::keras_model(
  inputs = densenet$input,
  outputs = layer_flatten(
    layer_dense(densenet$output, units = 10L, activation = "softmax")
  )
)

# Notice that this snippet just creates one (!) new layer.
# The densenet's inputs are connected with the model's inputs.
# The densenet's outputs are connected with our own layer (with 10 nodes).
# This layer is also the output layer of the model.

In the next step we want to freeze all layers except for our own last layer. Freezing means that these are not trained: We do not want to train the complete model, we only want to train the last layer. You can check the number of trainable weights via summary(model).

model |> keras3::freeze_weights(from = 1, to = length(model$layers) - 2)
summary(model)
Model: "functional_17"
┏━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━┓
┃ Layer (type)       ┃ Output Shape     ┃    Param # ┃ Connected to    ┃ Trai… ┃
┡━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━┩
│ input_layer_4      │ (None, 32, 32,   │          0 │ -               │   -   │
│ (InputLayer)       │ 3)               │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ zero_padding2d     │ (None, 38, 38,   │          0 │ input_layer_4[… │   -   │
│ (ZeroPadding2D)    │ 3)               │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv1_conv         │ (None, 16, 16,   │      9,408 │ zero_padding2d… │   N   │
│ (Conv2D)           │ 64)              │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv1_bn           │ (None, 16, 16,   │        256 │ conv1_conv[0][… │   N   │
│ (BatchNormalizati… │ 64)              │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv1_relu         │ (None, 16, 16,   │          0 │ conv1_bn[0][0]  │   -   │
│ (Activation)       │ 64)              │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ zero_padding2d_1   │ (None, 18, 18,   │          0 │ conv1_relu[0][… │   -   │
│ (ZeroPadding2D)    │ 64)              │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ pool1              │ (None, 8, 8, 64) │          0 │ zero_padding2d… │   -   │
│ (MaxPooling2D)     │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv2_block1_0_bn  │ (None, 8, 8, 64) │        256 │ pool1[0][0]     │   N   │
│ (BatchNormalizati… │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv2_block1_0_re… │ (None, 8, 8, 64) │          0 │ conv2_block1_0… │   -   │
│ (Activation)       │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv2_block1_1_co… │ (None, 8, 8,     │      8,192 │ conv2_block1_0… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv2_block1_1_bn  │ (None, 8, 8,     │        512 │ conv2_block1_1… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv2_block1_1_re… │ (None, 8, 8,     │          0 │ conv2_block1_1… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv2_block1_2_co… │ (None, 8, 8, 32) │     36,864 │ conv2_block1_1… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv2_block1_conc… │ (None, 8, 8, 96) │          0 │ pool1[0][0],    │   -   │
│ (Concatenate)      │                  │            │ conv2_block1_2… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv2_block2_0_bn  │ (None, 8, 8, 96) │        384 │ conv2_block1_c… │   N   │
│ (BatchNormalizati… │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv2_block2_0_re… │ (None, 8, 8, 96) │          0 │ conv2_block2_0… │   -   │
│ (Activation)       │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv2_block2_1_co… │ (None, 8, 8,     │     12,288 │ conv2_block2_0… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv2_block2_1_bn  │ (None, 8, 8,     │        512 │ conv2_block2_1… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv2_block2_1_re… │ (None, 8, 8,     │          0 │ conv2_block2_1… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv2_block2_2_co… │ (None, 8, 8, 32) │     36,864 │ conv2_block2_1… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv2_block2_conc… │ (None, 8, 8,     │          0 │ conv2_block1_c… │   -   │
│ (Concatenate)      │ 128)             │            │ conv2_block2_2… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv2_block3_0_bn  │ (None, 8, 8,     │        512 │ conv2_block2_c… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv2_block3_0_re… │ (None, 8, 8,     │          0 │ conv2_block3_0… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv2_block3_1_co… │ (None, 8, 8,     │     16,384 │ conv2_block3_0… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv2_block3_1_bn  │ (None, 8, 8,     │        512 │ conv2_block3_1… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv2_block3_1_re… │ (None, 8, 8,     │          0 │ conv2_block3_1… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv2_block3_2_co… │ (None, 8, 8, 32) │     36,864 │ conv2_block3_1… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv2_block3_conc… │ (None, 8, 8,     │          0 │ conv2_block2_c… │   -   │
│ (Concatenate)      │ 160)             │            │ conv2_block3_2… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv2_block4_0_bn  │ (None, 8, 8,     │        640 │ conv2_block3_c… │   N   │
│ (BatchNormalizati… │ 160)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv2_block4_0_re… │ (None, 8, 8,     │          0 │ conv2_block4_0… │   -   │
│ (Activation)       │ 160)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv2_block4_1_co… │ (None, 8, 8,     │     20,480 │ conv2_block4_0… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv2_block4_1_bn  │ (None, 8, 8,     │        512 │ conv2_block4_1… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv2_block4_1_re… │ (None, 8, 8,     │          0 │ conv2_block4_1… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv2_block4_2_co… │ (None, 8, 8, 32) │     36,864 │ conv2_block4_1… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv2_block4_conc… │ (None, 8, 8,     │          0 │ conv2_block3_c… │   -   │
│ (Concatenate)      │ 192)             │            │ conv2_block4_2… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv2_block5_0_bn  │ (None, 8, 8,     │        768 │ conv2_block4_c… │   N   │
│ (BatchNormalizati… │ 192)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv2_block5_0_re… │ (None, 8, 8,     │          0 │ conv2_block5_0… │   -   │
│ (Activation)       │ 192)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv2_block5_1_co… │ (None, 8, 8,     │     24,576 │ conv2_block5_0… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv2_block5_1_bn  │ (None, 8, 8,     │        512 │ conv2_block5_1… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv2_block5_1_re… │ (None, 8, 8,     │          0 │ conv2_block5_1… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv2_block5_2_co… │ (None, 8, 8, 32) │     36,864 │ conv2_block5_1… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv2_block5_conc… │ (None, 8, 8,     │          0 │ conv2_block4_c… │   -   │
│ (Concatenate)      │ 224)             │            │ conv2_block5_2… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv2_block6_0_bn  │ (None, 8, 8,     │        896 │ conv2_block5_c… │   N   │
│ (BatchNormalizati… │ 224)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv2_block6_0_re… │ (None, 8, 8,     │          0 │ conv2_block6_0… │   -   │
│ (Activation)       │ 224)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv2_block6_1_co… │ (None, 8, 8,     │     28,672 │ conv2_block6_0… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv2_block6_1_bn  │ (None, 8, 8,     │        512 │ conv2_block6_1… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv2_block6_1_re… │ (None, 8, 8,     │          0 │ conv2_block6_1… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv2_block6_2_co… │ (None, 8, 8, 32) │     36,864 │ conv2_block6_1… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv2_block6_conc… │ (None, 8, 8,     │          0 │ conv2_block5_c… │   -   │
│ (Concatenate)      │ 256)             │            │ conv2_block6_2… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ pool2_bn           │ (None, 8, 8,     │      1,024 │ conv2_block6_c… │   N   │
│ (BatchNormalizati… │ 256)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ pool2_relu         │ (None, 8, 8,     │          0 │ pool2_bn[0][0]  │   -   │
│ (Activation)       │ 256)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ pool2_conv         │ (None, 8, 8,     │     32,768 │ pool2_relu[0][… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ pool2_pool         │ (None, 4, 4,     │          0 │ pool2_conv[0][… │   -   │
│ (AveragePooling2D) │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block1_0_bn  │ (None, 4, 4,     │        512 │ pool2_pool[0][… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block1_0_re… │ (None, 4, 4,     │          0 │ conv3_block1_0… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block1_1_co… │ (None, 4, 4,     │     16,384 │ conv3_block1_0… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block1_1_bn  │ (None, 4, 4,     │        512 │ conv3_block1_1… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block1_1_re… │ (None, 4, 4,     │          0 │ conv3_block1_1… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block1_2_co… │ (None, 4, 4, 32) │     36,864 │ conv3_block1_1… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block1_conc… │ (None, 4, 4,     │          0 │ pool2_pool[0][… │   -   │
│ (Concatenate)      │ 160)             │            │ conv3_block1_2… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block2_0_bn  │ (None, 4, 4,     │        640 │ conv3_block1_c… │   N   │
│ (BatchNormalizati… │ 160)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block2_0_re… │ (None, 4, 4,     │          0 │ conv3_block2_0… │   -   │
│ (Activation)       │ 160)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block2_1_co… │ (None, 4, 4,     │     20,480 │ conv3_block2_0… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block2_1_bn  │ (None, 4, 4,     │        512 │ conv3_block2_1… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block2_1_re… │ (None, 4, 4,     │          0 │ conv3_block2_1… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block2_2_co… │ (None, 4, 4, 32) │     36,864 │ conv3_block2_1… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block2_conc… │ (None, 4, 4,     │          0 │ conv3_block1_c… │   -   │
│ (Concatenate)      │ 192)             │            │ conv3_block2_2… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block3_0_bn  │ (None, 4, 4,     │        768 │ conv3_block2_c… │   N   │
│ (BatchNormalizati… │ 192)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block3_0_re… │ (None, 4, 4,     │          0 │ conv3_block3_0… │   -   │
│ (Activation)       │ 192)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block3_1_co… │ (None, 4, 4,     │     24,576 │ conv3_block3_0… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block3_1_bn  │ (None, 4, 4,     │        512 │ conv3_block3_1… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block3_1_re… │ (None, 4, 4,     │          0 │ conv3_block3_1… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block3_2_co… │ (None, 4, 4, 32) │     36,864 │ conv3_block3_1… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block3_conc… │ (None, 4, 4,     │          0 │ conv3_block2_c… │   -   │
│ (Concatenate)      │ 224)             │            │ conv3_block3_2… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block4_0_bn  │ (None, 4, 4,     │        896 │ conv3_block3_c… │   N   │
│ (BatchNormalizati… │ 224)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block4_0_re… │ (None, 4, 4,     │          0 │ conv3_block4_0… │   -   │
│ (Activation)       │ 224)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block4_1_co… │ (None, 4, 4,     │     28,672 │ conv3_block4_0… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block4_1_bn  │ (None, 4, 4,     │        512 │ conv3_block4_1… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block4_1_re… │ (None, 4, 4,     │          0 │ conv3_block4_1… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block4_2_co… │ (None, 4, 4, 32) │     36,864 │ conv3_block4_1… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block4_conc… │ (None, 4, 4,     │          0 │ conv3_block3_c… │   -   │
│ (Concatenate)      │ 256)             │            │ conv3_block4_2… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block5_0_bn  │ (None, 4, 4,     │      1,024 │ conv3_block4_c… │   N   │
│ (BatchNormalizati… │ 256)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block5_0_re… │ (None, 4, 4,     │          0 │ conv3_block5_0… │   -   │
│ (Activation)       │ 256)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block5_1_co… │ (None, 4, 4,     │     32,768 │ conv3_block5_0… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block5_1_bn  │ (None, 4, 4,     │        512 │ conv3_block5_1… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block5_1_re… │ (None, 4, 4,     │          0 │ conv3_block5_1… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block5_2_co… │ (None, 4, 4, 32) │     36,864 │ conv3_block5_1… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block5_conc… │ (None, 4, 4,     │          0 │ conv3_block4_c… │   -   │
│ (Concatenate)      │ 288)             │            │ conv3_block5_2… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block6_0_bn  │ (None, 4, 4,     │      1,152 │ conv3_block5_c… │   N   │
│ (BatchNormalizati… │ 288)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block6_0_re… │ (None, 4, 4,     │          0 │ conv3_block6_0… │   -   │
│ (Activation)       │ 288)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block6_1_co… │ (None, 4, 4,     │     36,864 │ conv3_block6_0… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block6_1_bn  │ (None, 4, 4,     │        512 │ conv3_block6_1… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block6_1_re… │ (None, 4, 4,     │          0 │ conv3_block6_1… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block6_2_co… │ (None, 4, 4, 32) │     36,864 │ conv3_block6_1… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block6_conc… │ (None, 4, 4,     │          0 │ conv3_block5_c… │   -   │
│ (Concatenate)      │ 320)             │            │ conv3_block6_2… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block7_0_bn  │ (None, 4, 4,     │      1,280 │ conv3_block6_c… │   N   │
│ (BatchNormalizati… │ 320)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block7_0_re… │ (None, 4, 4,     │          0 │ conv3_block7_0… │   -   │
│ (Activation)       │ 320)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block7_1_co… │ (None, 4, 4,     │     40,960 │ conv3_block7_0… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block7_1_bn  │ (None, 4, 4,     │        512 │ conv3_block7_1… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block7_1_re… │ (None, 4, 4,     │          0 │ conv3_block7_1… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block7_2_co… │ (None, 4, 4, 32) │     36,864 │ conv3_block7_1… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block7_conc… │ (None, 4, 4,     │          0 │ conv3_block6_c… │   -   │
│ (Concatenate)      │ 352)             │            │ conv3_block7_2… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block8_0_bn  │ (None, 4, 4,     │      1,408 │ conv3_block7_c… │   N   │
│ (BatchNormalizati… │ 352)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block8_0_re… │ (None, 4, 4,     │          0 │ conv3_block8_0… │   -   │
│ (Activation)       │ 352)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block8_1_co… │ (None, 4, 4,     │     45,056 │ conv3_block8_0… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block8_1_bn  │ (None, 4, 4,     │        512 │ conv3_block8_1… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block8_1_re… │ (None, 4, 4,     │          0 │ conv3_block8_1… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block8_2_co… │ (None, 4, 4, 32) │     36,864 │ conv3_block8_1… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block8_conc… │ (None, 4, 4,     │          0 │ conv3_block7_c… │   -   │
│ (Concatenate)      │ 384)             │            │ conv3_block8_2… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block9_0_bn  │ (None, 4, 4,     │      1,536 │ conv3_block8_c… │   N   │
│ (BatchNormalizati… │ 384)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block9_0_re… │ (None, 4, 4,     │          0 │ conv3_block9_0… │   -   │
│ (Activation)       │ 384)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block9_1_co… │ (None, 4, 4,     │     49,152 │ conv3_block9_0… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block9_1_bn  │ (None, 4, 4,     │        512 │ conv3_block9_1… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block9_1_re… │ (None, 4, 4,     │          0 │ conv3_block9_1… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block9_2_co… │ (None, 4, 4, 32) │     36,864 │ conv3_block9_1… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block9_conc… │ (None, 4, 4,     │          0 │ conv3_block8_c… │   -   │
│ (Concatenate)      │ 416)             │            │ conv3_block9_2… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block10_0_bn │ (None, 4, 4,     │      1,664 │ conv3_block9_c… │   N   │
│ (BatchNormalizati… │ 416)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block10_0_r… │ (None, 4, 4,     │          0 │ conv3_block10_… │   -   │
│ (Activation)       │ 416)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block10_1_c… │ (None, 4, 4,     │     53,248 │ conv3_block10_… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block10_1_bn │ (None, 4, 4,     │        512 │ conv3_block10_… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block10_1_r… │ (None, 4, 4,     │          0 │ conv3_block10_… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block10_2_c… │ (None, 4, 4, 32) │     36,864 │ conv3_block10_… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block10_con… │ (None, 4, 4,     │          0 │ conv3_block9_c… │   -   │
│ (Concatenate)      │ 448)             │            │ conv3_block10_… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block11_0_bn │ (None, 4, 4,     │      1,792 │ conv3_block10_… │   N   │
│ (BatchNormalizati… │ 448)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block11_0_r… │ (None, 4, 4,     │          0 │ conv3_block11_… │   -   │
│ (Activation)       │ 448)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block11_1_c… │ (None, 4, 4,     │     57,344 │ conv3_block11_… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block11_1_bn │ (None, 4, 4,     │        512 │ conv3_block11_… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block11_1_r… │ (None, 4, 4,     │          0 │ conv3_block11_… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block11_2_c… │ (None, 4, 4, 32) │     36,864 │ conv3_block11_… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block11_con… │ (None, 4, 4,     │          0 │ conv3_block10_… │   -   │
│ (Concatenate)      │ 480)             │            │ conv3_block11_… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block12_0_bn │ (None, 4, 4,     │      1,920 │ conv3_block11_… │   N   │
│ (BatchNormalizati… │ 480)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block12_0_r… │ (None, 4, 4,     │          0 │ conv3_block12_… │   -   │
│ (Activation)       │ 480)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block12_1_c… │ (None, 4, 4,     │     61,440 │ conv3_block12_… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block12_1_bn │ (None, 4, 4,     │        512 │ conv3_block12_… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block12_1_r… │ (None, 4, 4,     │          0 │ conv3_block12_… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block12_2_c… │ (None, 4, 4, 32) │     36,864 │ conv3_block12_… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv3_block12_con… │ (None, 4, 4,     │          0 │ conv3_block11_… │   -   │
│ (Concatenate)      │ 512)             │            │ conv3_block12_… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ pool3_bn           │ (None, 4, 4,     │      2,048 │ conv3_block12_… │   N   │
│ (BatchNormalizati… │ 512)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ pool3_relu         │ (None, 4, 4,     │          0 │ pool3_bn[0][0]  │   -   │
│ (Activation)       │ 512)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ pool3_conv         │ (None, 4, 4,     │    131,072 │ pool3_relu[0][… │   N   │
│ (Conv2D)           │ 256)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ pool3_pool         │ (None, 2, 2,     │          0 │ pool3_conv[0][… │   -   │
│ (AveragePooling2D) │ 256)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block1_0_bn  │ (None, 2, 2,     │      1,024 │ pool3_pool[0][… │   N   │
│ (BatchNormalizati… │ 256)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block1_0_re… │ (None, 2, 2,     │          0 │ conv4_block1_0… │   -   │
│ (Activation)       │ 256)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block1_1_co… │ (None, 2, 2,     │     32,768 │ conv4_block1_0… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block1_1_bn  │ (None, 2, 2,     │        512 │ conv4_block1_1… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block1_1_re… │ (None, 2, 2,     │          0 │ conv4_block1_1… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block1_2_co… │ (None, 2, 2, 32) │     36,864 │ conv4_block1_1… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block1_conc… │ (None, 2, 2,     │          0 │ pool3_pool[0][… │   -   │
│ (Concatenate)      │ 288)             │            │ conv4_block1_2… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block2_0_bn  │ (None, 2, 2,     │      1,152 │ conv4_block1_c… │   N   │
│ (BatchNormalizati… │ 288)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block2_0_re… │ (None, 2, 2,     │          0 │ conv4_block2_0… │   -   │
│ (Activation)       │ 288)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block2_1_co… │ (None, 2, 2,     │     36,864 │ conv4_block2_0… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block2_1_bn  │ (None, 2, 2,     │        512 │ conv4_block2_1… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block2_1_re… │ (None, 2, 2,     │          0 │ conv4_block2_1… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block2_2_co… │ (None, 2, 2, 32) │     36,864 │ conv4_block2_1… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block2_conc… │ (None, 2, 2,     │          0 │ conv4_block1_c… │   -   │
│ (Concatenate)      │ 320)             │            │ conv4_block2_2… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block3_0_bn  │ (None, 2, 2,     │      1,280 │ conv4_block2_c… │   N   │
│ (BatchNormalizati… │ 320)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block3_0_re… │ (None, 2, 2,     │          0 │ conv4_block3_0… │   -   │
│ (Activation)       │ 320)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block3_1_co… │ (None, 2, 2,     │     40,960 │ conv4_block3_0… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block3_1_bn  │ (None, 2, 2,     │        512 │ conv4_block3_1… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block3_1_re… │ (None, 2, 2,     │          0 │ conv4_block3_1… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block3_2_co… │ (None, 2, 2, 32) │     36,864 │ conv4_block3_1… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block3_conc… │ (None, 2, 2,     │          0 │ conv4_block2_c… │   -   │
│ (Concatenate)      │ 352)             │            │ conv4_block3_2… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block4_0_bn  │ (None, 2, 2,     │      1,408 │ conv4_block3_c… │   N   │
│ (BatchNormalizati… │ 352)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block4_0_re… │ (None, 2, 2,     │          0 │ conv4_block4_0… │   -   │
│ (Activation)       │ 352)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block4_1_co… │ (None, 2, 2,     │     45,056 │ conv4_block4_0… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block4_1_bn  │ (None, 2, 2,     │        512 │ conv4_block4_1… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block4_1_re… │ (None, 2, 2,     │          0 │ conv4_block4_1… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block4_2_co… │ (None, 2, 2, 32) │     36,864 │ conv4_block4_1… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block4_conc… │ (None, 2, 2,     │          0 │ conv4_block3_c… │   -   │
│ (Concatenate)      │ 384)             │            │ conv4_block4_2… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block5_0_bn  │ (None, 2, 2,     │      1,536 │ conv4_block4_c… │   N   │
│ (BatchNormalizati… │ 384)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block5_0_re… │ (None, 2, 2,     │          0 │ conv4_block5_0… │   -   │
│ (Activation)       │ 384)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block5_1_co… │ (None, 2, 2,     │     49,152 │ conv4_block5_0… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block5_1_bn  │ (None, 2, 2,     │        512 │ conv4_block5_1… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block5_1_re… │ (None, 2, 2,     │          0 │ conv4_block5_1… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block5_2_co… │ (None, 2, 2, 32) │     36,864 │ conv4_block5_1… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block5_conc… │ (None, 2, 2,     │          0 │ conv4_block4_c… │   -   │
│ (Concatenate)      │ 416)             │            │ conv4_block5_2… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block6_0_bn  │ (None, 2, 2,     │      1,664 │ conv4_block5_c… │   N   │
│ (BatchNormalizati… │ 416)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block6_0_re… │ (None, 2, 2,     │          0 │ conv4_block6_0… │   -   │
│ (Activation)       │ 416)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block6_1_co… │ (None, 2, 2,     │     53,248 │ conv4_block6_0… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block6_1_bn  │ (None, 2, 2,     │        512 │ conv4_block6_1… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block6_1_re… │ (None, 2, 2,     │          0 │ conv4_block6_1… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block6_2_co… │ (None, 2, 2, 32) │     36,864 │ conv4_block6_1… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block6_conc… │ (None, 2, 2,     │          0 │ conv4_block5_c… │   -   │
│ (Concatenate)      │ 448)             │            │ conv4_block6_2… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block7_0_bn  │ (None, 2, 2,     │      1,792 │ conv4_block6_c… │   N   │
│ (BatchNormalizati… │ 448)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block7_0_re… │ (None, 2, 2,     │          0 │ conv4_block7_0… │   -   │
│ (Activation)       │ 448)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block7_1_co… │ (None, 2, 2,     │     57,344 │ conv4_block7_0… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block7_1_bn  │ (None, 2, 2,     │        512 │ conv4_block7_1… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block7_1_re… │ (None, 2, 2,     │          0 │ conv4_block7_1… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block7_2_co… │ (None, 2, 2, 32) │     36,864 │ conv4_block7_1… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block7_conc… │ (None, 2, 2,     │          0 │ conv4_block6_c… │   -   │
│ (Concatenate)      │ 480)             │            │ conv4_block7_2… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block8_0_bn  │ (None, 2, 2,     │      1,920 │ conv4_block7_c… │   N   │
│ (BatchNormalizati… │ 480)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block8_0_re… │ (None, 2, 2,     │          0 │ conv4_block8_0… │   -   │
│ (Activation)       │ 480)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block8_1_co… │ (None, 2, 2,     │     61,440 │ conv4_block8_0… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block8_1_bn  │ (None, 2, 2,     │        512 │ conv4_block8_1… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block8_1_re… │ (None, 2, 2,     │          0 │ conv4_block8_1… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block8_2_co… │ (None, 2, 2, 32) │     36,864 │ conv4_block8_1… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block8_conc… │ (None, 2, 2,     │          0 │ conv4_block7_c… │   -   │
│ (Concatenate)      │ 512)             │            │ conv4_block8_2… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block9_0_bn  │ (None, 2, 2,     │      2,048 │ conv4_block8_c… │   N   │
│ (BatchNormalizati… │ 512)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block9_0_re… │ (None, 2, 2,     │          0 │ conv4_block9_0… │   -   │
│ (Activation)       │ 512)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block9_1_co… │ (None, 2, 2,     │     65,536 │ conv4_block9_0… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block9_1_bn  │ (None, 2, 2,     │        512 │ conv4_block9_1… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block9_1_re… │ (None, 2, 2,     │          0 │ conv4_block9_1… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block9_2_co… │ (None, 2, 2, 32) │     36,864 │ conv4_block9_1… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block9_conc… │ (None, 2, 2,     │          0 │ conv4_block8_c… │   -   │
│ (Concatenate)      │ 544)             │            │ conv4_block9_2… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block10_0_bn │ (None, 2, 2,     │      2,176 │ conv4_block9_c… │   N   │
│ (BatchNormalizati… │ 544)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block10_0_r… │ (None, 2, 2,     │          0 │ conv4_block10_… │   -   │
│ (Activation)       │ 544)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block10_1_c… │ (None, 2, 2,     │     69,632 │ conv4_block10_… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block10_1_bn │ (None, 2, 2,     │        512 │ conv4_block10_… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block10_1_r… │ (None, 2, 2,     │          0 │ conv4_block10_… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block10_2_c… │ (None, 2, 2, 32) │     36,864 │ conv4_block10_… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block10_con… │ (None, 2, 2,     │          0 │ conv4_block9_c… │   -   │
│ (Concatenate)      │ 576)             │            │ conv4_block10_… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block11_0_bn │ (None, 2, 2,     │      2,304 │ conv4_block10_… │   N   │
│ (BatchNormalizati… │ 576)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block11_0_r… │ (None, 2, 2,     │          0 │ conv4_block11_… │   -   │
│ (Activation)       │ 576)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block11_1_c… │ (None, 2, 2,     │     73,728 │ conv4_block11_… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block11_1_bn │ (None, 2, 2,     │        512 │ conv4_block11_… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block11_1_r… │ (None, 2, 2,     │          0 │ conv4_block11_… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block11_2_c… │ (None, 2, 2, 32) │     36,864 │ conv4_block11_… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block11_con… │ (None, 2, 2,     │          0 │ conv4_block10_… │   -   │
│ (Concatenate)      │ 608)             │            │ conv4_block11_… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block12_0_bn │ (None, 2, 2,     │      2,432 │ conv4_block11_… │   N   │
│ (BatchNormalizati… │ 608)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block12_0_r… │ (None, 2, 2,     │          0 │ conv4_block12_… │   -   │
│ (Activation)       │ 608)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block12_1_c… │ (None, 2, 2,     │     77,824 │ conv4_block12_… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block12_1_bn │ (None, 2, 2,     │        512 │ conv4_block12_… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block12_1_r… │ (None, 2, 2,     │          0 │ conv4_block12_… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block12_2_c… │ (None, 2, 2, 32) │     36,864 │ conv4_block12_… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block12_con… │ (None, 2, 2,     │          0 │ conv4_block11_… │   -   │
│ (Concatenate)      │ 640)             │            │ conv4_block12_… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block13_0_bn │ (None, 2, 2,     │      2,560 │ conv4_block12_… │   N   │
│ (BatchNormalizati… │ 640)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block13_0_r… │ (None, 2, 2,     │          0 │ conv4_block13_… │   -   │
│ (Activation)       │ 640)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block13_1_c… │ (None, 2, 2,     │     81,920 │ conv4_block13_… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block13_1_bn │ (None, 2, 2,     │        512 │ conv4_block13_… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block13_1_r… │ (None, 2, 2,     │          0 │ conv4_block13_… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block13_2_c… │ (None, 2, 2, 32) │     36,864 │ conv4_block13_… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block13_con… │ (None, 2, 2,     │          0 │ conv4_block12_… │   -   │
│ (Concatenate)      │ 672)             │            │ conv4_block13_… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block14_0_bn │ (None, 2, 2,     │      2,688 │ conv4_block13_… │   N   │
│ (BatchNormalizati… │ 672)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block14_0_r… │ (None, 2, 2,     │          0 │ conv4_block14_… │   -   │
│ (Activation)       │ 672)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block14_1_c… │ (None, 2, 2,     │     86,016 │ conv4_block14_… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block14_1_bn │ (None, 2, 2,     │        512 │ conv4_block14_… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block14_1_r… │ (None, 2, 2,     │          0 │ conv4_block14_… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block14_2_c… │ (None, 2, 2, 32) │     36,864 │ conv4_block14_… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block14_con… │ (None, 2, 2,     │          0 │ conv4_block13_… │   -   │
│ (Concatenate)      │ 704)             │            │ conv4_block14_… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block15_0_bn │ (None, 2, 2,     │      2,816 │ conv4_block14_… │   N   │
│ (BatchNormalizati… │ 704)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block15_0_r… │ (None, 2, 2,     │          0 │ conv4_block15_… │   -   │
│ (Activation)       │ 704)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block15_1_c… │ (None, 2, 2,     │     90,112 │ conv4_block15_… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block15_1_bn │ (None, 2, 2,     │        512 │ conv4_block15_… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block15_1_r… │ (None, 2, 2,     │          0 │ conv4_block15_… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block15_2_c… │ (None, 2, 2, 32) │     36,864 │ conv4_block15_… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block15_con… │ (None, 2, 2,     │          0 │ conv4_block14_… │   -   │
│ (Concatenate)      │ 736)             │            │ conv4_block15_… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block16_0_bn │ (None, 2, 2,     │      2,944 │ conv4_block15_… │   N   │
│ (BatchNormalizati… │ 736)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block16_0_r… │ (None, 2, 2,     │          0 │ conv4_block16_… │   -   │
│ (Activation)       │ 736)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block16_1_c… │ (None, 2, 2,     │     94,208 │ conv4_block16_… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block16_1_bn │ (None, 2, 2,     │        512 │ conv4_block16_… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block16_1_r… │ (None, 2, 2,     │          0 │ conv4_block16_… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block16_2_c… │ (None, 2, 2, 32) │     36,864 │ conv4_block16_… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block16_con… │ (None, 2, 2,     │          0 │ conv4_block15_… │   -   │
│ (Concatenate)      │ 768)             │            │ conv4_block16_… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block17_0_bn │ (None, 2, 2,     │      3,072 │ conv4_block16_… │   N   │
│ (BatchNormalizati… │ 768)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block17_0_r… │ (None, 2, 2,     │          0 │ conv4_block17_… │   -   │
│ (Activation)       │ 768)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block17_1_c… │ (None, 2, 2,     │     98,304 │ conv4_block17_… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block17_1_bn │ (None, 2, 2,     │        512 │ conv4_block17_… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block17_1_r… │ (None, 2, 2,     │          0 │ conv4_block17_… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block17_2_c… │ (None, 2, 2, 32) │     36,864 │ conv4_block17_… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block17_con… │ (None, 2, 2,     │          0 │ conv4_block16_… │   -   │
│ (Concatenate)      │ 800)             │            │ conv4_block17_… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block18_0_bn │ (None, 2, 2,     │      3,200 │ conv4_block17_… │   N   │
│ (BatchNormalizati… │ 800)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block18_0_r… │ (None, 2, 2,     │          0 │ conv4_block18_… │   -   │
│ (Activation)       │ 800)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block18_1_c… │ (None, 2, 2,     │    102,400 │ conv4_block18_… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block18_1_bn │ (None, 2, 2,     │        512 │ conv4_block18_… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block18_1_r… │ (None, 2, 2,     │          0 │ conv4_block18_… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block18_2_c… │ (None, 2, 2, 32) │     36,864 │ conv4_block18_… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block18_con… │ (None, 2, 2,     │          0 │ conv4_block17_… │   -   │
│ (Concatenate)      │ 832)             │            │ conv4_block18_… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block19_0_bn │ (None, 2, 2,     │      3,328 │ conv4_block18_… │   N   │
│ (BatchNormalizati… │ 832)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block19_0_r… │ (None, 2, 2,     │          0 │ conv4_block19_… │   -   │
│ (Activation)       │ 832)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block19_1_c… │ (None, 2, 2,     │    106,496 │ conv4_block19_… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block19_1_bn │ (None, 2, 2,     │        512 │ conv4_block19_… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block19_1_r… │ (None, 2, 2,     │          0 │ conv4_block19_… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block19_2_c… │ (None, 2, 2, 32) │     36,864 │ conv4_block19_… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block19_con… │ (None, 2, 2,     │          0 │ conv4_block18_… │   -   │
│ (Concatenate)      │ 864)             │            │ conv4_block19_… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block20_0_bn │ (None, 2, 2,     │      3,456 │ conv4_block19_… │   N   │
│ (BatchNormalizati… │ 864)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block20_0_r… │ (None, 2, 2,     │          0 │ conv4_block20_… │   -   │
│ (Activation)       │ 864)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block20_1_c… │ (None, 2, 2,     │    110,592 │ conv4_block20_… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block20_1_bn │ (None, 2, 2,     │        512 │ conv4_block20_… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block20_1_r… │ (None, 2, 2,     │          0 │ conv4_block20_… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block20_2_c… │ (None, 2, 2, 32) │     36,864 │ conv4_block20_… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block20_con… │ (None, 2, 2,     │          0 │ conv4_block19_… │   -   │
│ (Concatenate)      │ 896)             │            │ conv4_block20_… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block21_0_bn │ (None, 2, 2,     │      3,584 │ conv4_block20_… │   N   │
│ (BatchNormalizati… │ 896)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block21_0_r… │ (None, 2, 2,     │          0 │ conv4_block21_… │   -   │
│ (Activation)       │ 896)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block21_1_c… │ (None, 2, 2,     │    114,688 │ conv4_block21_… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block21_1_bn │ (None, 2, 2,     │        512 │ conv4_block21_… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block21_1_r… │ (None, 2, 2,     │          0 │ conv4_block21_… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block21_2_c… │ (None, 2, 2, 32) │     36,864 │ conv4_block21_… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block21_con… │ (None, 2, 2,     │          0 │ conv4_block20_… │   -   │
│ (Concatenate)      │ 928)             │            │ conv4_block21_… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block22_0_bn │ (None, 2, 2,     │      3,712 │ conv4_block21_… │   N   │
│ (BatchNormalizati… │ 928)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block22_0_r… │ (None, 2, 2,     │          0 │ conv4_block22_… │   -   │
│ (Activation)       │ 928)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block22_1_c… │ (None, 2, 2,     │    118,784 │ conv4_block22_… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block22_1_bn │ (None, 2, 2,     │        512 │ conv4_block22_… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block22_1_r… │ (None, 2, 2,     │          0 │ conv4_block22_… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block22_2_c… │ (None, 2, 2, 32) │     36,864 │ conv4_block22_… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block22_con… │ (None, 2, 2,     │          0 │ conv4_block21_… │   -   │
│ (Concatenate)      │ 960)             │            │ conv4_block22_… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block23_0_bn │ (None, 2, 2,     │      3,840 │ conv4_block22_… │   N   │
│ (BatchNormalizati… │ 960)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block23_0_r… │ (None, 2, 2,     │          0 │ conv4_block23_… │   -   │
│ (Activation)       │ 960)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block23_1_c… │ (None, 2, 2,     │    122,880 │ conv4_block23_… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block23_1_bn │ (None, 2, 2,     │        512 │ conv4_block23_… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block23_1_r… │ (None, 2, 2,     │          0 │ conv4_block23_… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block23_2_c… │ (None, 2, 2, 32) │     36,864 │ conv4_block23_… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block23_con… │ (None, 2, 2,     │          0 │ conv4_block22_… │   -   │
│ (Concatenate)      │ 992)             │            │ conv4_block23_… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block24_0_bn │ (None, 2, 2,     │      3,968 │ conv4_block23_… │   N   │
│ (BatchNormalizati… │ 992)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block24_0_r… │ (None, 2, 2,     │          0 │ conv4_block24_… │   -   │
│ (Activation)       │ 992)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block24_1_c… │ (None, 2, 2,     │    126,976 │ conv4_block24_… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block24_1_bn │ (None, 2, 2,     │        512 │ conv4_block24_… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block24_1_r… │ (None, 2, 2,     │          0 │ conv4_block24_… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block24_2_c… │ (None, 2, 2, 32) │     36,864 │ conv4_block24_… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block24_con… │ (None, 2, 2,     │          0 │ conv4_block23_… │   -   │
│ (Concatenate)      │ 1024)            │            │ conv4_block24_… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block25_0_bn │ (None, 2, 2,     │      4,096 │ conv4_block24_… │   N   │
│ (BatchNormalizati… │ 1024)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block25_0_r… │ (None, 2, 2,     │          0 │ conv4_block25_… │   -   │
│ (Activation)       │ 1024)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block25_1_c… │ (None, 2, 2,     │    131,072 │ conv4_block25_… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block25_1_bn │ (None, 2, 2,     │        512 │ conv4_block25_… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block25_1_r… │ (None, 2, 2,     │          0 │ conv4_block25_… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block25_2_c… │ (None, 2, 2, 32) │     36,864 │ conv4_block25_… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block25_con… │ (None, 2, 2,     │          0 │ conv4_block24_… │   -   │
│ (Concatenate)      │ 1056)            │            │ conv4_block25_… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block26_0_bn │ (None, 2, 2,     │      4,224 │ conv4_block25_… │   N   │
│ (BatchNormalizati… │ 1056)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block26_0_r… │ (None, 2, 2,     │          0 │ conv4_block26_… │   -   │
│ (Activation)       │ 1056)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block26_1_c… │ (None, 2, 2,     │    135,168 │ conv4_block26_… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block26_1_bn │ (None, 2, 2,     │        512 │ conv4_block26_… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block26_1_r… │ (None, 2, 2,     │          0 │ conv4_block26_… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block26_2_c… │ (None, 2, 2, 32) │     36,864 │ conv4_block26_… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block26_con… │ (None, 2, 2,     │          0 │ conv4_block25_… │   -   │
│ (Concatenate)      │ 1088)            │            │ conv4_block26_… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block27_0_bn │ (None, 2, 2,     │      4,352 │ conv4_block26_… │   N   │
│ (BatchNormalizati… │ 1088)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block27_0_r… │ (None, 2, 2,     │          0 │ conv4_block27_… │   -   │
│ (Activation)       │ 1088)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block27_1_c… │ (None, 2, 2,     │    139,264 │ conv4_block27_… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block27_1_bn │ (None, 2, 2,     │        512 │ conv4_block27_… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block27_1_r… │ (None, 2, 2,     │          0 │ conv4_block27_… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block27_2_c… │ (None, 2, 2, 32) │     36,864 │ conv4_block27_… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block27_con… │ (None, 2, 2,     │          0 │ conv4_block26_… │   -   │
│ (Concatenate)      │ 1120)            │            │ conv4_block27_… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block28_0_bn │ (None, 2, 2,     │      4,480 │ conv4_block27_… │   N   │
│ (BatchNormalizati… │ 1120)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block28_0_r… │ (None, 2, 2,     │          0 │ conv4_block28_… │   -   │
│ (Activation)       │ 1120)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block28_1_c… │ (None, 2, 2,     │    143,360 │ conv4_block28_… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block28_1_bn │ (None, 2, 2,     │        512 │ conv4_block28_… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block28_1_r… │ (None, 2, 2,     │          0 │ conv4_block28_… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block28_2_c… │ (None, 2, 2, 32) │     36,864 │ conv4_block28_… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block28_con… │ (None, 2, 2,     │          0 │ conv4_block27_… │   -   │
│ (Concatenate)      │ 1152)            │            │ conv4_block28_… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block29_0_bn │ (None, 2, 2,     │      4,608 │ conv4_block28_… │   N   │
│ (BatchNormalizati… │ 1152)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block29_0_r… │ (None, 2, 2,     │          0 │ conv4_block29_… │   -   │
│ (Activation)       │ 1152)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block29_1_c… │ (None, 2, 2,     │    147,456 │ conv4_block29_… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block29_1_bn │ (None, 2, 2,     │        512 │ conv4_block29_… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block29_1_r… │ (None, 2, 2,     │          0 │ conv4_block29_… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block29_2_c… │ (None, 2, 2, 32) │     36,864 │ conv4_block29_… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block29_con… │ (None, 2, 2,     │          0 │ conv4_block28_… │   -   │
│ (Concatenate)      │ 1184)            │            │ conv4_block29_… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block30_0_bn │ (None, 2, 2,     │      4,736 │ conv4_block29_… │   N   │
│ (BatchNormalizati… │ 1184)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block30_0_r… │ (None, 2, 2,     │          0 │ conv4_block30_… │   -   │
│ (Activation)       │ 1184)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block30_1_c… │ (None, 2, 2,     │    151,552 │ conv4_block30_… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block30_1_bn │ (None, 2, 2,     │        512 │ conv4_block30_… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block30_1_r… │ (None, 2, 2,     │          0 │ conv4_block30_… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block30_2_c… │ (None, 2, 2, 32) │     36,864 │ conv4_block30_… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block30_con… │ (None, 2, 2,     │          0 │ conv4_block29_… │   -   │
│ (Concatenate)      │ 1216)            │            │ conv4_block30_… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block31_0_bn │ (None, 2, 2,     │      4,864 │ conv4_block30_… │   N   │
│ (BatchNormalizati… │ 1216)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block31_0_r… │ (None, 2, 2,     │          0 │ conv4_block31_… │   -   │
│ (Activation)       │ 1216)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block31_1_c… │ (None, 2, 2,     │    155,648 │ conv4_block31_… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block31_1_bn │ (None, 2, 2,     │        512 │ conv4_block31_… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block31_1_r… │ (None, 2, 2,     │          0 │ conv4_block31_… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block31_2_c… │ (None, 2, 2, 32) │     36,864 │ conv4_block31_… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block31_con… │ (None, 2, 2,     │          0 │ conv4_block30_… │   -   │
│ (Concatenate)      │ 1248)            │            │ conv4_block31_… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block32_0_bn │ (None, 2, 2,     │      4,992 │ conv4_block31_… │   N   │
│ (BatchNormalizati… │ 1248)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block32_0_r… │ (None, 2, 2,     │          0 │ conv4_block32_… │   -   │
│ (Activation)       │ 1248)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block32_1_c… │ (None, 2, 2,     │    159,744 │ conv4_block32_… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block32_1_bn │ (None, 2, 2,     │        512 │ conv4_block32_… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block32_1_r… │ (None, 2, 2,     │          0 │ conv4_block32_… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block32_2_c… │ (None, 2, 2, 32) │     36,864 │ conv4_block32_… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block32_con… │ (None, 2, 2,     │          0 │ conv4_block31_… │   -   │
│ (Concatenate)      │ 1280)            │            │ conv4_block32_… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block33_0_bn │ (None, 2, 2,     │      5,120 │ conv4_block32_… │   N   │
│ (BatchNormalizati… │ 1280)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block33_0_r… │ (None, 2, 2,     │          0 │ conv4_block33_… │   -   │
│ (Activation)       │ 1280)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block33_1_c… │ (None, 2, 2,     │    163,840 │ conv4_block33_… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block33_1_bn │ (None, 2, 2,     │        512 │ conv4_block33_… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block33_1_r… │ (None, 2, 2,     │          0 │ conv4_block33_… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block33_2_c… │ (None, 2, 2, 32) │     36,864 │ conv4_block33_… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block33_con… │ (None, 2, 2,     │          0 │ conv4_block32_… │   -   │
│ (Concatenate)      │ 1312)            │            │ conv4_block33_… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block34_0_bn │ (None, 2, 2,     │      5,248 │ conv4_block33_… │   N   │
│ (BatchNormalizati… │ 1312)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block34_0_r… │ (None, 2, 2,     │          0 │ conv4_block34_… │   -   │
│ (Activation)       │ 1312)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block34_1_c… │ (None, 2, 2,     │    167,936 │ conv4_block34_… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block34_1_bn │ (None, 2, 2,     │        512 │ conv4_block34_… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block34_1_r… │ (None, 2, 2,     │          0 │ conv4_block34_… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block34_2_c… │ (None, 2, 2, 32) │     36,864 │ conv4_block34_… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block34_con… │ (None, 2, 2,     │          0 │ conv4_block33_… │   -   │
│ (Concatenate)      │ 1344)            │            │ conv4_block34_… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block35_0_bn │ (None, 2, 2,     │      5,376 │ conv4_block34_… │   N   │
│ (BatchNormalizati… │ 1344)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block35_0_r… │ (None, 2, 2,     │          0 │ conv4_block35_… │   -   │
│ (Activation)       │ 1344)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block35_1_c… │ (None, 2, 2,     │    172,032 │ conv4_block35_… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block35_1_bn │ (None, 2, 2,     │        512 │ conv4_block35_… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block35_1_r… │ (None, 2, 2,     │          0 │ conv4_block35_… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block35_2_c… │ (None, 2, 2, 32) │     36,864 │ conv4_block35_… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block35_con… │ (None, 2, 2,     │          0 │ conv4_block34_… │   -   │
│ (Concatenate)      │ 1376)            │            │ conv4_block35_… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block36_0_bn │ (None, 2, 2,     │      5,504 │ conv4_block35_… │   N   │
│ (BatchNormalizati… │ 1376)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block36_0_r… │ (None, 2, 2,     │          0 │ conv4_block36_… │   -   │
│ (Activation)       │ 1376)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block36_1_c… │ (None, 2, 2,     │    176,128 │ conv4_block36_… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block36_1_bn │ (None, 2, 2,     │        512 │ conv4_block36_… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block36_1_r… │ (None, 2, 2,     │          0 │ conv4_block36_… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block36_2_c… │ (None, 2, 2, 32) │     36,864 │ conv4_block36_… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block36_con… │ (None, 2, 2,     │          0 │ conv4_block35_… │   -   │
│ (Concatenate)      │ 1408)            │            │ conv4_block36_… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block37_0_bn │ (None, 2, 2,     │      5,632 │ conv4_block36_… │   N   │
│ (BatchNormalizati… │ 1408)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block37_0_r… │ (None, 2, 2,     │          0 │ conv4_block37_… │   -   │
│ (Activation)       │ 1408)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block37_1_c… │ (None, 2, 2,     │    180,224 │ conv4_block37_… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block37_1_bn │ (None, 2, 2,     │        512 │ conv4_block37_… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block37_1_r… │ (None, 2, 2,     │          0 │ conv4_block37_… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block37_2_c… │ (None, 2, 2, 32) │     36,864 │ conv4_block37_… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block37_con… │ (None, 2, 2,     │          0 │ conv4_block36_… │   -   │
│ (Concatenate)      │ 1440)            │            │ conv4_block37_… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block38_0_bn │ (None, 2, 2,     │      5,760 │ conv4_block37_… │   N   │
│ (BatchNormalizati… │ 1440)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block38_0_r… │ (None, 2, 2,     │          0 │ conv4_block38_… │   -   │
│ (Activation)       │ 1440)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block38_1_c… │ (None, 2, 2,     │    184,320 │ conv4_block38_… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block38_1_bn │ (None, 2, 2,     │        512 │ conv4_block38_… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block38_1_r… │ (None, 2, 2,     │          0 │ conv4_block38_… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block38_2_c… │ (None, 2, 2, 32) │     36,864 │ conv4_block38_… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block38_con… │ (None, 2, 2,     │          0 │ conv4_block37_… │   -   │
│ (Concatenate)      │ 1472)            │            │ conv4_block38_… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block39_0_bn │ (None, 2, 2,     │      5,888 │ conv4_block38_… │   N   │
│ (BatchNormalizati… │ 1472)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block39_0_r… │ (None, 2, 2,     │          0 │ conv4_block39_… │   -   │
│ (Activation)       │ 1472)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block39_1_c… │ (None, 2, 2,     │    188,416 │ conv4_block39_… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block39_1_bn │ (None, 2, 2,     │        512 │ conv4_block39_… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block39_1_r… │ (None, 2, 2,     │          0 │ conv4_block39_… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block39_2_c… │ (None, 2, 2, 32) │     36,864 │ conv4_block39_… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block39_con… │ (None, 2, 2,     │          0 │ conv4_block38_… │   -   │
│ (Concatenate)      │ 1504)            │            │ conv4_block39_… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block40_0_bn │ (None, 2, 2,     │      6,016 │ conv4_block39_… │   N   │
│ (BatchNormalizati… │ 1504)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block40_0_r… │ (None, 2, 2,     │          0 │ conv4_block40_… │   -   │
│ (Activation)       │ 1504)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block40_1_c… │ (None, 2, 2,     │    192,512 │ conv4_block40_… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block40_1_bn │ (None, 2, 2,     │        512 │ conv4_block40_… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block40_1_r… │ (None, 2, 2,     │          0 │ conv4_block40_… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block40_2_c… │ (None, 2, 2, 32) │     36,864 │ conv4_block40_… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block40_con… │ (None, 2, 2,     │          0 │ conv4_block39_… │   -   │
│ (Concatenate)      │ 1536)            │            │ conv4_block40_… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block41_0_bn │ (None, 2, 2,     │      6,144 │ conv4_block40_… │   N   │
│ (BatchNormalizati… │ 1536)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block41_0_r… │ (None, 2, 2,     │          0 │ conv4_block41_… │   -   │
│ (Activation)       │ 1536)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block41_1_c… │ (None, 2, 2,     │    196,608 │ conv4_block41_… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block41_1_bn │ (None, 2, 2,     │        512 │ conv4_block41_… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block41_1_r… │ (None, 2, 2,     │          0 │ conv4_block41_… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block41_2_c… │ (None, 2, 2, 32) │     36,864 │ conv4_block41_… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block41_con… │ (None, 2, 2,     │          0 │ conv4_block40_… │   -   │
│ (Concatenate)      │ 1568)            │            │ conv4_block41_… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block42_0_bn │ (None, 2, 2,     │      6,272 │ conv4_block41_… │   N   │
│ (BatchNormalizati… │ 1568)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block42_0_r… │ (None, 2, 2,     │          0 │ conv4_block42_… │   -   │
│ (Activation)       │ 1568)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block42_1_c… │ (None, 2, 2,     │    200,704 │ conv4_block42_… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block42_1_bn │ (None, 2, 2,     │        512 │ conv4_block42_… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block42_1_r… │ (None, 2, 2,     │          0 │ conv4_block42_… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block42_2_c… │ (None, 2, 2, 32) │     36,864 │ conv4_block42_… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block42_con… │ (None, 2, 2,     │          0 │ conv4_block41_… │   -   │
│ (Concatenate)      │ 1600)            │            │ conv4_block42_… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block43_0_bn │ (None, 2, 2,     │      6,400 │ conv4_block42_… │   N   │
│ (BatchNormalizati… │ 1600)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block43_0_r… │ (None, 2, 2,     │          0 │ conv4_block43_… │   -   │
│ (Activation)       │ 1600)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block43_1_c… │ (None, 2, 2,     │    204,800 │ conv4_block43_… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block43_1_bn │ (None, 2, 2,     │        512 │ conv4_block43_… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block43_1_r… │ (None, 2, 2,     │          0 │ conv4_block43_… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block43_2_c… │ (None, 2, 2, 32) │     36,864 │ conv4_block43_… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block43_con… │ (None, 2, 2,     │          0 │ conv4_block42_… │   -   │
│ (Concatenate)      │ 1632)            │            │ conv4_block43_… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block44_0_bn │ (None, 2, 2,     │      6,528 │ conv4_block43_… │   N   │
│ (BatchNormalizati… │ 1632)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block44_0_r… │ (None, 2, 2,     │          0 │ conv4_block44_… │   -   │
│ (Activation)       │ 1632)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block44_1_c… │ (None, 2, 2,     │    208,896 │ conv4_block44_… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block44_1_bn │ (None, 2, 2,     │        512 │ conv4_block44_… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block44_1_r… │ (None, 2, 2,     │          0 │ conv4_block44_… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block44_2_c… │ (None, 2, 2, 32) │     36,864 │ conv4_block44_… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block44_con… │ (None, 2, 2,     │          0 │ conv4_block43_… │   -   │
│ (Concatenate)      │ 1664)            │            │ conv4_block44_… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block45_0_bn │ (None, 2, 2,     │      6,656 │ conv4_block44_… │   N   │
│ (BatchNormalizati… │ 1664)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block45_0_r… │ (None, 2, 2,     │          0 │ conv4_block45_… │   -   │
│ (Activation)       │ 1664)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block45_1_c… │ (None, 2, 2,     │    212,992 │ conv4_block45_… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block45_1_bn │ (None, 2, 2,     │        512 │ conv4_block45_… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block45_1_r… │ (None, 2, 2,     │          0 │ conv4_block45_… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block45_2_c… │ (None, 2, 2, 32) │     36,864 │ conv4_block45_… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block45_con… │ (None, 2, 2,     │          0 │ conv4_block44_… │   -   │
│ (Concatenate)      │ 1696)            │            │ conv4_block45_… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block46_0_bn │ (None, 2, 2,     │      6,784 │ conv4_block45_… │   N   │
│ (BatchNormalizati… │ 1696)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block46_0_r… │ (None, 2, 2,     │          0 │ conv4_block46_… │   -   │
│ (Activation)       │ 1696)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block46_1_c… │ (None, 2, 2,     │    217,088 │ conv4_block46_… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block46_1_bn │ (None, 2, 2,     │        512 │ conv4_block46_… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block46_1_r… │ (None, 2, 2,     │          0 │ conv4_block46_… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block46_2_c… │ (None, 2, 2, 32) │     36,864 │ conv4_block46_… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block46_con… │ (None, 2, 2,     │          0 │ conv4_block45_… │   -   │
│ (Concatenate)      │ 1728)            │            │ conv4_block46_… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block47_0_bn │ (None, 2, 2,     │      6,912 │ conv4_block46_… │   N   │
│ (BatchNormalizati… │ 1728)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block47_0_r… │ (None, 2, 2,     │          0 │ conv4_block47_… │   -   │
│ (Activation)       │ 1728)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block47_1_c… │ (None, 2, 2,     │    221,184 │ conv4_block47_… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block47_1_bn │ (None, 2, 2,     │        512 │ conv4_block47_… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block47_1_r… │ (None, 2, 2,     │          0 │ conv4_block47_… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block47_2_c… │ (None, 2, 2, 32) │     36,864 │ conv4_block47_… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block47_con… │ (None, 2, 2,     │          0 │ conv4_block46_… │   -   │
│ (Concatenate)      │ 1760)            │            │ conv4_block47_… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block48_0_bn │ (None, 2, 2,     │      7,040 │ conv4_block47_… │   N   │
│ (BatchNormalizati… │ 1760)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block48_0_r… │ (None, 2, 2,     │          0 │ conv4_block48_… │   -   │
│ (Activation)       │ 1760)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block48_1_c… │ (None, 2, 2,     │    225,280 │ conv4_block48_… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block48_1_bn │ (None, 2, 2,     │        512 │ conv4_block48_… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block48_1_r… │ (None, 2, 2,     │          0 │ conv4_block48_… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block48_2_c… │ (None, 2, 2, 32) │     36,864 │ conv4_block48_… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv4_block48_con… │ (None, 2, 2,     │          0 │ conv4_block47_… │   -   │
│ (Concatenate)      │ 1792)            │            │ conv4_block48_… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ pool4_bn           │ (None, 2, 2,     │      7,168 │ conv4_block48_… │   N   │
│ (BatchNormalizati… │ 1792)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ pool4_relu         │ (None, 2, 2,     │          0 │ pool4_bn[0][0]  │   -   │
│ (Activation)       │ 1792)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ pool4_conv         │ (None, 2, 2,     │  1,605,632 │ pool4_relu[0][… │   N   │
│ (Conv2D)           │ 896)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ pool4_pool         │ (None, 1, 1,     │          0 │ pool4_conv[0][… │   -   │
│ (AveragePooling2D) │ 896)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block1_0_bn  │ (None, 1, 1,     │      3,584 │ pool4_pool[0][… │   N   │
│ (BatchNormalizati… │ 896)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block1_0_re… │ (None, 1, 1,     │          0 │ conv5_block1_0… │   -   │
│ (Activation)       │ 896)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block1_1_co… │ (None, 1, 1,     │    114,688 │ conv5_block1_0… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block1_1_bn  │ (None, 1, 1,     │        512 │ conv5_block1_1… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block1_1_re… │ (None, 1, 1,     │          0 │ conv5_block1_1… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block1_2_co… │ (None, 1, 1, 32) │     36,864 │ conv5_block1_1… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block1_conc… │ (None, 1, 1,     │          0 │ pool4_pool[0][… │   -   │
│ (Concatenate)      │ 928)             │            │ conv5_block1_2… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block2_0_bn  │ (None, 1, 1,     │      3,712 │ conv5_block1_c… │   N   │
│ (BatchNormalizati… │ 928)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block2_0_re… │ (None, 1, 1,     │          0 │ conv5_block2_0… │   -   │
│ (Activation)       │ 928)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block2_1_co… │ (None, 1, 1,     │    118,784 │ conv5_block2_0… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block2_1_bn  │ (None, 1, 1,     │        512 │ conv5_block2_1… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block2_1_re… │ (None, 1, 1,     │          0 │ conv5_block2_1… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block2_2_co… │ (None, 1, 1, 32) │     36,864 │ conv5_block2_1… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block2_conc… │ (None, 1, 1,     │          0 │ conv5_block1_c… │   -   │
│ (Concatenate)      │ 960)             │            │ conv5_block2_2… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block3_0_bn  │ (None, 1, 1,     │      3,840 │ conv5_block2_c… │   N   │
│ (BatchNormalizati… │ 960)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block3_0_re… │ (None, 1, 1,     │          0 │ conv5_block3_0… │   -   │
│ (Activation)       │ 960)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block3_1_co… │ (None, 1, 1,     │    122,880 │ conv5_block3_0… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block3_1_bn  │ (None, 1, 1,     │        512 │ conv5_block3_1… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block3_1_re… │ (None, 1, 1,     │          0 │ conv5_block3_1… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block3_2_co… │ (None, 1, 1, 32) │     36,864 │ conv5_block3_1… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block3_conc… │ (None, 1, 1,     │          0 │ conv5_block2_c… │   -   │
│ (Concatenate)      │ 992)             │            │ conv5_block3_2… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block4_0_bn  │ (None, 1, 1,     │      3,968 │ conv5_block3_c… │   N   │
│ (BatchNormalizati… │ 992)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block4_0_re… │ (None, 1, 1,     │          0 │ conv5_block4_0… │   -   │
│ (Activation)       │ 992)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block4_1_co… │ (None, 1, 1,     │    126,976 │ conv5_block4_0… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block4_1_bn  │ (None, 1, 1,     │        512 │ conv5_block4_1… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block4_1_re… │ (None, 1, 1,     │          0 │ conv5_block4_1… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block4_2_co… │ (None, 1, 1, 32) │     36,864 │ conv5_block4_1… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block4_conc… │ (None, 1, 1,     │          0 │ conv5_block3_c… │   -   │
│ (Concatenate)      │ 1024)            │            │ conv5_block4_2… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block5_0_bn  │ (None, 1, 1,     │      4,096 │ conv5_block4_c… │   N   │
│ (BatchNormalizati… │ 1024)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block5_0_re… │ (None, 1, 1,     │          0 │ conv5_block5_0… │   -   │
│ (Activation)       │ 1024)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block5_1_co… │ (None, 1, 1,     │    131,072 │ conv5_block5_0… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block5_1_bn  │ (None, 1, 1,     │        512 │ conv5_block5_1… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block5_1_re… │ (None, 1, 1,     │          0 │ conv5_block5_1… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block5_2_co… │ (None, 1, 1, 32) │     36,864 │ conv5_block5_1… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block5_conc… │ (None, 1, 1,     │          0 │ conv5_block4_c… │   -   │
│ (Concatenate)      │ 1056)            │            │ conv5_block5_2… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block6_0_bn  │ (None, 1, 1,     │      4,224 │ conv5_block5_c… │   N   │
│ (BatchNormalizati… │ 1056)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block6_0_re… │ (None, 1, 1,     │          0 │ conv5_block6_0… │   -   │
│ (Activation)       │ 1056)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block6_1_co… │ (None, 1, 1,     │    135,168 │ conv5_block6_0… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block6_1_bn  │ (None, 1, 1,     │        512 │ conv5_block6_1… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block6_1_re… │ (None, 1, 1,     │          0 │ conv5_block6_1… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block6_2_co… │ (None, 1, 1, 32) │     36,864 │ conv5_block6_1… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block6_conc… │ (None, 1, 1,     │          0 │ conv5_block5_c… │   -   │
│ (Concatenate)      │ 1088)            │            │ conv5_block6_2… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block7_0_bn  │ (None, 1, 1,     │      4,352 │ conv5_block6_c… │   N   │
│ (BatchNormalizati… │ 1088)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block7_0_re… │ (None, 1, 1,     │          0 │ conv5_block7_0… │   -   │
│ (Activation)       │ 1088)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block7_1_co… │ (None, 1, 1,     │    139,264 │ conv5_block7_0… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block7_1_bn  │ (None, 1, 1,     │        512 │ conv5_block7_1… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block7_1_re… │ (None, 1, 1,     │          0 │ conv5_block7_1… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block7_2_co… │ (None, 1, 1, 32) │     36,864 │ conv5_block7_1… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block7_conc… │ (None, 1, 1,     │          0 │ conv5_block6_c… │   -   │
│ (Concatenate)      │ 1120)            │            │ conv5_block7_2… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block8_0_bn  │ (None, 1, 1,     │      4,480 │ conv5_block7_c… │   N   │
│ (BatchNormalizati… │ 1120)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block8_0_re… │ (None, 1, 1,     │          0 │ conv5_block8_0… │   -   │
│ (Activation)       │ 1120)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block8_1_co… │ (None, 1, 1,     │    143,360 │ conv5_block8_0… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block8_1_bn  │ (None, 1, 1,     │        512 │ conv5_block8_1… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block8_1_re… │ (None, 1, 1,     │          0 │ conv5_block8_1… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block8_2_co… │ (None, 1, 1, 32) │     36,864 │ conv5_block8_1… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block8_conc… │ (None, 1, 1,     │          0 │ conv5_block7_c… │   -   │
│ (Concatenate)      │ 1152)            │            │ conv5_block8_2… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block9_0_bn  │ (None, 1, 1,     │      4,608 │ conv5_block8_c… │   N   │
│ (BatchNormalizati… │ 1152)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block9_0_re… │ (None, 1, 1,     │          0 │ conv5_block9_0… │   -   │
│ (Activation)       │ 1152)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block9_1_co… │ (None, 1, 1,     │    147,456 │ conv5_block9_0… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block9_1_bn  │ (None, 1, 1,     │        512 │ conv5_block9_1… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block9_1_re… │ (None, 1, 1,     │          0 │ conv5_block9_1… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block9_2_co… │ (None, 1, 1, 32) │     36,864 │ conv5_block9_1… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block9_conc… │ (None, 1, 1,     │          0 │ conv5_block8_c… │   -   │
│ (Concatenate)      │ 1184)            │            │ conv5_block9_2… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block10_0_bn │ (None, 1, 1,     │      4,736 │ conv5_block9_c… │   N   │
│ (BatchNormalizati… │ 1184)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block10_0_r… │ (None, 1, 1,     │          0 │ conv5_block10_… │   -   │
│ (Activation)       │ 1184)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block10_1_c… │ (None, 1, 1,     │    151,552 │ conv5_block10_… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block10_1_bn │ (None, 1, 1,     │        512 │ conv5_block10_… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block10_1_r… │ (None, 1, 1,     │          0 │ conv5_block10_… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block10_2_c… │ (None, 1, 1, 32) │     36,864 │ conv5_block10_… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block10_con… │ (None, 1, 1,     │          0 │ conv5_block9_c… │   -   │
│ (Concatenate)      │ 1216)            │            │ conv5_block10_… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block11_0_bn │ (None, 1, 1,     │      4,864 │ conv5_block10_… │   N   │
│ (BatchNormalizati… │ 1216)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block11_0_r… │ (None, 1, 1,     │          0 │ conv5_block11_… │   -   │
│ (Activation)       │ 1216)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block11_1_c… │ (None, 1, 1,     │    155,648 │ conv5_block11_… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block11_1_bn │ (None, 1, 1,     │        512 │ conv5_block11_… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block11_1_r… │ (None, 1, 1,     │          0 │ conv5_block11_… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block11_2_c… │ (None, 1, 1, 32) │     36,864 │ conv5_block11_… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block11_con… │ (None, 1, 1,     │          0 │ conv5_block10_… │   -   │
│ (Concatenate)      │ 1248)            │            │ conv5_block11_… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block12_0_bn │ (None, 1, 1,     │      4,992 │ conv5_block11_… │   N   │
│ (BatchNormalizati… │ 1248)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block12_0_r… │ (None, 1, 1,     │          0 │ conv5_block12_… │   -   │
│ (Activation)       │ 1248)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block12_1_c… │ (None, 1, 1,     │    159,744 │ conv5_block12_… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block12_1_bn │ (None, 1, 1,     │        512 │ conv5_block12_… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block12_1_r… │ (None, 1, 1,     │          0 │ conv5_block12_… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block12_2_c… │ (None, 1, 1, 32) │     36,864 │ conv5_block12_… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block12_con… │ (None, 1, 1,     │          0 │ conv5_block11_… │   -   │
│ (Concatenate)      │ 1280)            │            │ conv5_block12_… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block13_0_bn │ (None, 1, 1,     │      5,120 │ conv5_block12_… │   N   │
│ (BatchNormalizati… │ 1280)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block13_0_r… │ (None, 1, 1,     │          0 │ conv5_block13_… │   -   │
│ (Activation)       │ 1280)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block13_1_c… │ (None, 1, 1,     │    163,840 │ conv5_block13_… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block13_1_bn │ (None, 1, 1,     │        512 │ conv5_block13_… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block13_1_r… │ (None, 1, 1,     │          0 │ conv5_block13_… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block13_2_c… │ (None, 1, 1, 32) │     36,864 │ conv5_block13_… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block13_con… │ (None, 1, 1,     │          0 │ conv5_block12_… │   -   │
│ (Concatenate)      │ 1312)            │            │ conv5_block13_… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block14_0_bn │ (None, 1, 1,     │      5,248 │ conv5_block13_… │   N   │
│ (BatchNormalizati… │ 1312)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block14_0_r… │ (None, 1, 1,     │          0 │ conv5_block14_… │   -   │
│ (Activation)       │ 1312)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block14_1_c… │ (None, 1, 1,     │    167,936 │ conv5_block14_… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block14_1_bn │ (None, 1, 1,     │        512 │ conv5_block14_… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block14_1_r… │ (None, 1, 1,     │          0 │ conv5_block14_… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block14_2_c… │ (None, 1, 1, 32) │     36,864 │ conv5_block14_… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block14_con… │ (None, 1, 1,     │          0 │ conv5_block13_… │   -   │
│ (Concatenate)      │ 1344)            │            │ conv5_block14_… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block15_0_bn │ (None, 1, 1,     │      5,376 │ conv5_block14_… │   N   │
│ (BatchNormalizati… │ 1344)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block15_0_r… │ (None, 1, 1,     │          0 │ conv5_block15_… │   -   │
│ (Activation)       │ 1344)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block15_1_c… │ (None, 1, 1,     │    172,032 │ conv5_block15_… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block15_1_bn │ (None, 1, 1,     │        512 │ conv5_block15_… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block15_1_r… │ (None, 1, 1,     │          0 │ conv5_block15_… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block15_2_c… │ (None, 1, 1, 32) │     36,864 │ conv5_block15_… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block15_con… │ (None, 1, 1,     │          0 │ conv5_block14_… │   -   │
│ (Concatenate)      │ 1376)            │            │ conv5_block15_… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block16_0_bn │ (None, 1, 1,     │      5,504 │ conv5_block15_… │   N   │
│ (BatchNormalizati… │ 1376)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block16_0_r… │ (None, 1, 1,     │          0 │ conv5_block16_… │   -   │
│ (Activation)       │ 1376)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block16_1_c… │ (None, 1, 1,     │    176,128 │ conv5_block16_… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block16_1_bn │ (None, 1, 1,     │        512 │ conv5_block16_… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block16_1_r… │ (None, 1, 1,     │          0 │ conv5_block16_… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block16_2_c… │ (None, 1, 1, 32) │     36,864 │ conv5_block16_… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block16_con… │ (None, 1, 1,     │          0 │ conv5_block15_… │   -   │
│ (Concatenate)      │ 1408)            │            │ conv5_block16_… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block17_0_bn │ (None, 1, 1,     │      5,632 │ conv5_block16_… │   N   │
│ (BatchNormalizati… │ 1408)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block17_0_r… │ (None, 1, 1,     │          0 │ conv5_block17_… │   -   │
│ (Activation)       │ 1408)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block17_1_c… │ (None, 1, 1,     │    180,224 │ conv5_block17_… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block17_1_bn │ (None, 1, 1,     │        512 │ conv5_block17_… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block17_1_r… │ (None, 1, 1,     │          0 │ conv5_block17_… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block17_2_c… │ (None, 1, 1, 32) │     36,864 │ conv5_block17_… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block17_con… │ (None, 1, 1,     │          0 │ conv5_block16_… │   -   │
│ (Concatenate)      │ 1440)            │            │ conv5_block17_… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block18_0_bn │ (None, 1, 1,     │      5,760 │ conv5_block17_… │   N   │
│ (BatchNormalizati… │ 1440)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block18_0_r… │ (None, 1, 1,     │          0 │ conv5_block18_… │   -   │
│ (Activation)       │ 1440)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block18_1_c… │ (None, 1, 1,     │    184,320 │ conv5_block18_… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block18_1_bn │ (None, 1, 1,     │        512 │ conv5_block18_… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block18_1_r… │ (None, 1, 1,     │          0 │ conv5_block18_… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block18_2_c… │ (None, 1, 1, 32) │     36,864 │ conv5_block18_… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block18_con… │ (None, 1, 1,     │          0 │ conv5_block17_… │   -   │
│ (Concatenate)      │ 1472)            │            │ conv5_block18_… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block19_0_bn │ (None, 1, 1,     │      5,888 │ conv5_block18_… │   N   │
│ (BatchNormalizati… │ 1472)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block19_0_r… │ (None, 1, 1,     │          0 │ conv5_block19_… │   -   │
│ (Activation)       │ 1472)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block19_1_c… │ (None, 1, 1,     │    188,416 │ conv5_block19_… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block19_1_bn │ (None, 1, 1,     │        512 │ conv5_block19_… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block19_1_r… │ (None, 1, 1,     │          0 │ conv5_block19_… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block19_2_c… │ (None, 1, 1, 32) │     36,864 │ conv5_block19_… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block19_con… │ (None, 1, 1,     │          0 │ conv5_block18_… │   -   │
│ (Concatenate)      │ 1504)            │            │ conv5_block19_… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block20_0_bn │ (None, 1, 1,     │      6,016 │ conv5_block19_… │   N   │
│ (BatchNormalizati… │ 1504)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block20_0_r… │ (None, 1, 1,     │          0 │ conv5_block20_… │   -   │
│ (Activation)       │ 1504)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block20_1_c… │ (None, 1, 1,     │    192,512 │ conv5_block20_… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block20_1_bn │ (None, 1, 1,     │        512 │ conv5_block20_… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block20_1_r… │ (None, 1, 1,     │          0 │ conv5_block20_… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block20_2_c… │ (None, 1, 1, 32) │     36,864 │ conv5_block20_… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block20_con… │ (None, 1, 1,     │          0 │ conv5_block19_… │   -   │
│ (Concatenate)      │ 1536)            │            │ conv5_block20_… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block21_0_bn │ (None, 1, 1,     │      6,144 │ conv5_block20_… │   N   │
│ (BatchNormalizati… │ 1536)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block21_0_r… │ (None, 1, 1,     │          0 │ conv5_block21_… │   -   │
│ (Activation)       │ 1536)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block21_1_c… │ (None, 1, 1,     │    196,608 │ conv5_block21_… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block21_1_bn │ (None, 1, 1,     │        512 │ conv5_block21_… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block21_1_r… │ (None, 1, 1,     │          0 │ conv5_block21_… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block21_2_c… │ (None, 1, 1, 32) │     36,864 │ conv5_block21_… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block21_con… │ (None, 1, 1,     │          0 │ conv5_block20_… │   -   │
│ (Concatenate)      │ 1568)            │            │ conv5_block21_… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block22_0_bn │ (None, 1, 1,     │      6,272 │ conv5_block21_… │   N   │
│ (BatchNormalizati… │ 1568)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block22_0_r… │ (None, 1, 1,     │          0 │ conv5_block22_… │   -   │
│ (Activation)       │ 1568)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block22_1_c… │ (None, 1, 1,     │    200,704 │ conv5_block22_… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block22_1_bn │ (None, 1, 1,     │        512 │ conv5_block22_… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block22_1_r… │ (None, 1, 1,     │          0 │ conv5_block22_… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block22_2_c… │ (None, 1, 1, 32) │     36,864 │ conv5_block22_… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block22_con… │ (None, 1, 1,     │          0 │ conv5_block21_… │   -   │
│ (Concatenate)      │ 1600)            │            │ conv5_block22_… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block23_0_bn │ (None, 1, 1,     │      6,400 │ conv5_block22_… │   N   │
│ (BatchNormalizati… │ 1600)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block23_0_r… │ (None, 1, 1,     │          0 │ conv5_block23_… │   -   │
│ (Activation)       │ 1600)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block23_1_c… │ (None, 1, 1,     │    204,800 │ conv5_block23_… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block23_1_bn │ (None, 1, 1,     │        512 │ conv5_block23_… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block23_1_r… │ (None, 1, 1,     │          0 │ conv5_block23_… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block23_2_c… │ (None, 1, 1, 32) │     36,864 │ conv5_block23_… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block23_con… │ (None, 1, 1,     │          0 │ conv5_block22_… │   -   │
│ (Concatenate)      │ 1632)            │            │ conv5_block23_… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block24_0_bn │ (None, 1, 1,     │      6,528 │ conv5_block23_… │   N   │
│ (BatchNormalizati… │ 1632)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block24_0_r… │ (None, 1, 1,     │          0 │ conv5_block24_… │   -   │
│ (Activation)       │ 1632)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block24_1_c… │ (None, 1, 1,     │    208,896 │ conv5_block24_… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block24_1_bn │ (None, 1, 1,     │        512 │ conv5_block24_… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block24_1_r… │ (None, 1, 1,     │          0 │ conv5_block24_… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block24_2_c… │ (None, 1, 1, 32) │     36,864 │ conv5_block24_… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block24_con… │ (None, 1, 1,     │          0 │ conv5_block23_… │   -   │
│ (Concatenate)      │ 1664)            │            │ conv5_block24_… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block25_0_bn │ (None, 1, 1,     │      6,656 │ conv5_block24_… │   N   │
│ (BatchNormalizati… │ 1664)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block25_0_r… │ (None, 1, 1,     │          0 │ conv5_block25_… │   -   │
│ (Activation)       │ 1664)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block25_1_c… │ (None, 1, 1,     │    212,992 │ conv5_block25_… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block25_1_bn │ (None, 1, 1,     │        512 │ conv5_block25_… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block25_1_r… │ (None, 1, 1,     │          0 │ conv5_block25_… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block25_2_c… │ (None, 1, 1, 32) │     36,864 │ conv5_block25_… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block25_con… │ (None, 1, 1,     │          0 │ conv5_block24_… │   -   │
│ (Concatenate)      │ 1696)            │            │ conv5_block25_… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block26_0_bn │ (None, 1, 1,     │      6,784 │ conv5_block25_… │   N   │
│ (BatchNormalizati… │ 1696)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block26_0_r… │ (None, 1, 1,     │          0 │ conv5_block26_… │   -   │
│ (Activation)       │ 1696)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block26_1_c… │ (None, 1, 1,     │    217,088 │ conv5_block26_… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block26_1_bn │ (None, 1, 1,     │        512 │ conv5_block26_… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block26_1_r… │ (None, 1, 1,     │          0 │ conv5_block26_… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block26_2_c… │ (None, 1, 1, 32) │     36,864 │ conv5_block26_… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block26_con… │ (None, 1, 1,     │          0 │ conv5_block25_… │   -   │
│ (Concatenate)      │ 1728)            │            │ conv5_block26_… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block27_0_bn │ (None, 1, 1,     │      6,912 │ conv5_block26_… │   N   │
│ (BatchNormalizati… │ 1728)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block27_0_r… │ (None, 1, 1,     │          0 │ conv5_block27_… │   -   │
│ (Activation)       │ 1728)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block27_1_c… │ (None, 1, 1,     │    221,184 │ conv5_block27_… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block27_1_bn │ (None, 1, 1,     │        512 │ conv5_block27_… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block27_1_r… │ (None, 1, 1,     │          0 │ conv5_block27_… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block27_2_c… │ (None, 1, 1, 32) │     36,864 │ conv5_block27_… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block27_con… │ (None, 1, 1,     │          0 │ conv5_block26_… │   -   │
│ (Concatenate)      │ 1760)            │            │ conv5_block27_… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block28_0_bn │ (None, 1, 1,     │      7,040 │ conv5_block27_… │   N   │
│ (BatchNormalizati… │ 1760)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block28_0_r… │ (None, 1, 1,     │          0 │ conv5_block28_… │   -   │
│ (Activation)       │ 1760)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block28_1_c… │ (None, 1, 1,     │    225,280 │ conv5_block28_… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block28_1_bn │ (None, 1, 1,     │        512 │ conv5_block28_… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block28_1_r… │ (None, 1, 1,     │          0 │ conv5_block28_… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block28_2_c… │ (None, 1, 1, 32) │     36,864 │ conv5_block28_… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block28_con… │ (None, 1, 1,     │          0 │ conv5_block27_… │   -   │
│ (Concatenate)      │ 1792)            │            │ conv5_block28_… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block29_0_bn │ (None, 1, 1,     │      7,168 │ conv5_block28_… │   N   │
│ (BatchNormalizati… │ 1792)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block29_0_r… │ (None, 1, 1,     │          0 │ conv5_block29_… │   -   │
│ (Activation)       │ 1792)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block29_1_c… │ (None, 1, 1,     │    229,376 │ conv5_block29_… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block29_1_bn │ (None, 1, 1,     │        512 │ conv5_block29_… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block29_1_r… │ (None, 1, 1,     │          0 │ conv5_block29_… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block29_2_c… │ (None, 1, 1, 32) │     36,864 │ conv5_block29_… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block29_con… │ (None, 1, 1,     │          0 │ conv5_block28_… │   -   │
│ (Concatenate)      │ 1824)            │            │ conv5_block29_… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block30_0_bn │ (None, 1, 1,     │      7,296 │ conv5_block29_… │   N   │
│ (BatchNormalizati… │ 1824)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block30_0_r… │ (None, 1, 1,     │          0 │ conv5_block30_… │   -   │
│ (Activation)       │ 1824)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block30_1_c… │ (None, 1, 1,     │    233,472 │ conv5_block30_… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block30_1_bn │ (None, 1, 1,     │        512 │ conv5_block30_… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block30_1_r… │ (None, 1, 1,     │          0 │ conv5_block30_… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block30_2_c… │ (None, 1, 1, 32) │     36,864 │ conv5_block30_… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block30_con… │ (None, 1, 1,     │          0 │ conv5_block29_… │   -   │
│ (Concatenate)      │ 1856)            │            │ conv5_block30_… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block31_0_bn │ (None, 1, 1,     │      7,424 │ conv5_block30_… │   N   │
│ (BatchNormalizati… │ 1856)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block31_0_r… │ (None, 1, 1,     │          0 │ conv5_block31_… │   -   │
│ (Activation)       │ 1856)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block31_1_c… │ (None, 1, 1,     │    237,568 │ conv5_block31_… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block31_1_bn │ (None, 1, 1,     │        512 │ conv5_block31_… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block31_1_r… │ (None, 1, 1,     │          0 │ conv5_block31_… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block31_2_c… │ (None, 1, 1, 32) │     36,864 │ conv5_block31_… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block31_con… │ (None, 1, 1,     │          0 │ conv5_block30_… │   -   │
│ (Concatenate)      │ 1888)            │            │ conv5_block31_… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block32_0_bn │ (None, 1, 1,     │      7,552 │ conv5_block31_… │   N   │
│ (BatchNormalizati… │ 1888)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block32_0_r… │ (None, 1, 1,     │          0 │ conv5_block32_… │   -   │
│ (Activation)       │ 1888)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block32_1_c… │ (None, 1, 1,     │    241,664 │ conv5_block32_… │   N   │
│ (Conv2D)           │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block32_1_bn │ (None, 1, 1,     │        512 │ conv5_block32_… │   N   │
│ (BatchNormalizati… │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block32_1_r… │ (None, 1, 1,     │          0 │ conv5_block32_… │   -   │
│ (Activation)       │ 128)             │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block32_2_c… │ (None, 1, 1, 32) │     36,864 │ conv5_block32_… │   N   │
│ (Conv2D)           │                  │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ conv5_block32_con… │ (None, 1, 1,     │          0 │ conv5_block31_… │   -   │
│ (Concatenate)      │ 1920)            │            │ conv5_block32_… │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ bn                 │ (None, 1, 1,     │      7,680 │ conv5_block32_… │   N   │
│ (BatchNormalizati… │ 1920)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ relu (Activation)  │ (None, 1, 1,     │          0 │ bn[0][0]        │   -   │
│                    │ 1920)            │            │                 │       │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ dense_4 (Dense)    │ (None, 1, 1, 10) │     19,210 │ relu[0][0]      │   Y   │
├────────────────────┼──────────────────┼────────────┼─────────────────┼───────┤
│ flatten_3          │ (None, 10)       │          0 │ dense_4[0][0]   │   -   │
│ (Flatten)          │                  │            │                 │       │
└────────────────────┴──────────────────┴────────────┴─────────────────┴───────┘
 Total params: 18,341,194 (69.97 MB)
 Trainable params: 19,210 (75.04 KB)
 Non-trainable params: 18,321,984 (69.89 MB)

And then the usual training:

library(tensorflow)
library(keras3)

model |>
  keras3::compile(loss = keras3::loss_categorical_crossentropy, 
                 optimizer = optimizer_adamax())

model |>
  fit(
    x = train_x, 
    y = train_y,
    epochs = 1L,
    batch_size = 32L,
    shuffle = TRUE,
    validation_split = 0.2
  )

We have seen, that transfer learning can easily be done using Keras.

library(torchvision)
library(torch)
torch_manual_seed(321L)
set.seed(123)

train_ds = cifar10_dataset(".", download = TRUE, train = TRUE,
                           transform = transform_to_tensor)
test_ds = cifar10_dataset(".", download = TRUE, train = FALSE,
                          transform = transform_to_tensor)

train_dl = dataloader(train_ds, batch_size = 100L, shuffle = TRUE)
test_dl = dataloader(test_ds, batch_size = 100L)

model_torch = model_resnet18(pretrained = TRUE)

# We will set all model parameters to constant values:
model_torch$parameters |>
  purrr::walk(function(param) param$requires_grad_(FALSE))

# Let's replace the last layer (last layer is named 'fc') with our own layer:
inFeat = model_torch$fc$in_features
model_torch$fc = nn_linear(inFeat, out_features = 10L)

opt = optim_adam(params = model_torch$parameters, lr = 0.01)

for(e in 1:1){
  losses = c()
  coro::loop(
    for(batch in train_dl){
      opt$zero_grad()
      pred = model_torch(batch[[1]])
      loss = nnf_cross_entropy(pred, batch[[2]], reduction = "mean")
      loss$backward()
      opt$step()
      losses = c(losses, loss$item())
    }
  )
  
  cat(sprintf("Loss at epoch %d: %3f\n", e, mean(losses)))
}

model_torch$eval()

test_losses = c()
total = 0
correct = 0

coro::loop(
  for(batch in test_dl){
    output = model_torch(batch[[1]])
    labels = batch[[2]]
    loss = nnf_cross_entropy(output, labels)
    test_losses = c(test_losses, loss$item())
    predicted = torch_max(output$data(), dim = 2)[[2]]
    total = total + labels$size(1)
    correct = correct + (predicted == labels)$sum()$item()
  }
)

test_accuracy =  correct/total
print(test_accuracy)

11.4.3 Example: Flower dataset

Let’s do that with our flower data set:

library(keras3)
library(tensorflow)

data = EcoData::dataset_flower()
train = data$train/255
labels = data$labels


# data augemention model
aug = keras_model_sequential()
aug %>% 
  layer_random_flip() %>% 
  layer_random_rotation(factor = c(-0.5, 0.5)) %>% 
  layer_random_brightness(factor = c(-0.5, 0.5), value_range = c(0, 1))
aug


# Prepare datasets
dataset = tfdatasets::tensor_slices_dataset(list(train, to_categorical(labels)))
dataset <- dataset %>%
  dataset_map(function(x, y) list(aug(x), y))

batch_size <- 64

train_ds <- dataset |>
  dataset_batch(batch_size) |>
  dataset_prefetch(buffer_size = tf$data$AUTOTUNE)

# Transfer learning

# weights were trained to imagenet
pretrained_model = keras3::application_convnext_small(include_top = FALSE,
                                                       input_shape = c(80L, 80L, 3L))
# pretrained_model

keras3::freeze_weights(pretrained_model)
pretrained_model

# Build model

model = keras_model(inputs = pretrained_model$input,
                    outputs = pretrained_model$output |> 
                      layer_flatten() |> 
                      layer_dropout(0.2) |> 
                      layer_dense(units = 5L, activation = "softmax")
)
model %>% freeze_weights(from = 1, to = length(model$layers)-1)

model |>
  keras3::compile(loss = loss_categorical_crossentropy,
                  optimizer = keras3::optimizer_rmsprop(learning_rate = 0.0005))


model |> 
  fit(train_ds, epochs = 5L)