Where should I place dropout layer in the network

how and where can I add drop out layer in the following code:
from tensorflow.keras.layers import Conv2D, BatchNormalization, Activation, MaxPool2D, Conv2DTranspose, Concatenate, Input
from tensorflow.keras.models import Model
from tensorflow.keras.applications import ResNet50

def conv_block(input, num_filters):
x = Conv2D(num_filters, 3, padding=“same”)(input)
x = BatchNormalization()(x)
x = Activation(“relu”)(x)

x = Conv2D(num_filters, 3, padding="same")(x)
x = BatchNormalization()(x)
x = Activation("relu")(x)

return x

def decoder_block(input, skip_features, num_filters):
x = Conv2DTranspose(num_filters, (2, 2), strides=2, padding=“same”)(input)
x = Concatenate()([x, skip_features])
x = conv_block(x, num_filters)
return x

def resnet50_unet(input_shape):
“”" Input “”"
inputs = Input(input_shape)

""" Pre-trained ResNet50 Model """
resnet50 = ResNet50(include_top=False, weights=None, input_tensor=inputs)

""" Encoder """
s1 = resnet50.layers[0].output          ## (512 x 512)
s2 = resnet50.get_layer("conv1_relu").output        ## (256 x 256)
s3 = resnet50.get_layer("conv2_block3_out").output  ## (128 x 128)
s4 = resnet50.get_layer("conv3_block4_out").output  ## (32 x 32)

""" Bridge """
b1 = resnet50.get_layer("conv4_block6_out").output  ## (32 x 32)

""" Decoder """
d1 = decoder_block(b1, s4, 256)                     ## (64 x 64)
d2 = decoder_block(d1, s3, 128)                     ## (128 x 128)
d3 = decoder_block(d2, s2, 64)                     ## (256 x 256)
d4 = decoder_block(d3, s1, 32)                      ## (512 x 512)

""" Output """
outputs = Conv2D(1, 1, padding="same", activation="sigmoid")(d4)

model = Model(inputs, outputs, name="ResNet50_U-Net")
return model

if name == “main”:
input_shape = (256, 256, 3)
model = resnet50_unet(input_shape)
#model.summary()

@Aleena_Suhail,

Can you take a look at this thread which can throw you some insights on the same?