code: def cspdarknet53(input_data=None):
      input_data = convolutional(
          input_data, (3, 3, 3, 32), activate_type="mish"
      )
      input_data = convolutional(
          input_data,
          (3, 3, 32, 64),
          downsample=True,
          activate_type="mish",
      )
  
      route = input_data
      route = convolutional(
          route,
          (1, 1, 64, 64),
          activate_type="mish",
          name="conv_rote_block_1",
      )
      input_data = convolutional(
          input_data, (1, 1, 64, 64), activate_type="mish"
      )
  
      for i in range(1):
          input_data = residual_block(
              input_data, 64, 32, 64, activate_type="mish"
          )
      input_data = convolutional(
          input_data, (1, 1, 64, 64), activate_type="mish"
      )
  
      input_data = Concat()([input_data, route])
      input_data = convolutional(
          input_data, (1, 1, 128, 64), activate_type="mish"
      )
      input_data = convolutional(
          input_data,
          (3, 3, 64, 128),
          downsample=True,
          activate_type="mish",
      )
      route = input_data
      route = convolutional(
          route,
          (1, 1, 128, 64),
          activate_type="mish",
          name="conv_rote_block_2",
      )
      input_data = convolutional(
          input_data, (1, 1, 128, 64), activate_type="mish"
      )
      for i in range(2):
          input_data = residual_block(
              input_data, 64, 64, 64, activate_type="mish"
          )
      input_data = convolutional(
          input_data, (1, 1, 64, 64), activate_type="mish"
      )
      input_data = Concat()([input_data, route])
  
      input_data = convolutional(
          input_data, (1, 1, 128, 128), activate_type="mish"
      )
      input_data = convolutional(
          input_data,
          (3, 3, 128, 256),
          downsample=True,
          activate_type="mish",
      )
      route = input_data
      route = convolutional(
          route,
          (1, 1, 256, 128),
          activate_type="mish",
          name="conv_rote_block_3",
      )
      input_data = convolutional(
          input_data, (1, 1, 256, 128), activate_type="mish"
      )
      for i in range(8):
          input_data = residual_block(
              input_data, 128, 128, 128, activate_type="mish"
          )
      input_data = convolutional(
          input_data, (1, 1, 128, 128), activate_type="mish"
      )
      input_data = Concat()([input_data, route])
  
      input_data = convolutional(
          input_data, (1, 1, 256, 256), activate_type="mish"
      )
      route_1 = input_data
      input_data = convolutional(
          input_data,
          (3, 3, 256, 512),
          downsample=True,
          activate_type="mish",
      )
      route = input_data
      route = convolutional(
          route,
          (1, 1, 512, 256),
          activate_type="mish",
          name="conv_rote_block_4",
      )
      input_data = convolutional(
          input_data, (1, 1, 512, 256), activate_type="mish"
      )
      for i in range(8):
          input_data = residual_block(
              input_data, 256, 256, 256, activate_type="mish"
          )
      input_data = convolutional(
          input_data, (1, 1, 256, 256), activate_type="mish"
      )
      input_data = Concat()([input_data, route])
  
      input_data = convolutional(
          input_data, (1, 1, 512, 512), activate_type="mish"
      )
      route_2 = input_data
      input_data = convolutional(
          input_data,
          (3, 3, 512, 1024),
          downsample=True,
          activate_type="mish",
      )
      route = input_data
      route = convolutional(
          route,
          (1, 1, 1024, 512),
          activate_type="mish",
          name="conv_rote_block_5",
      )
      input_data = convolutional(
          input_data, (1, 1, 1024, 512), activate_type="mish"
      )
      for i in range(4):
          input_data = residual_block(
              input_data, 512, 512, 512, activate_type="mish"
          )
      input_data = convolutional(
          input_data, (1, 1, 512, 512), activate_type="mish"
      )
      input_data = Concat()([input_data, route])
  
      input_data = convolutional(
          input_data, (1, 1, 1024, 1024), activate_type="mish"
      )
      input_data = convolutional(input_data, (1, 1, 1024, 512))
      input_data = convolutional(input_data, (3, 3, 512, 1024))
      input_data = convolutional(input_data, (1, 1, 1024, 512))
  
      maxpool1 = MaxPool2d(filter_size=(13, 13), strides=(1, 1))(
          input_data
      )
      maxpool2 = MaxPool2d(filter_size=(9, 9), strides=(1, 1))(
          input_data
      )
      maxpool3 = MaxPool2d(filter_size=(5, 5), strides=(1, 1))(
          input_data
      )
      input_data = Concat()([maxpool1, maxpool2, maxpool3, input_data])
  
      input_data = convolutional(input_data, (1, 1, 2048, 512))
      input_data = convolutional(input_data, (3, 3, 512, 1024))
      input_data = convolutional(input_data, (1, 1, 1024, 512))
  
      return route_1, route_2, input_data
  
file_path: TensorLayer/tensorlayer/app/computer_vision_object_detection/yolov4.py
imports: import tensorflow
  import numpy
  import tensorlayer
  from tensorlayer.activation import mish
  from tensorlayer.layers import Conv2d, MaxPool2d, BatchNorm2d, ZeroPad2d, UpSampling2d, Concat, Input, Elementwise
  from tensorlayer.models import Model
  from tensorlayer import logging
label_desc: Use image node_id 4 for calling a global function with example usage: cspdarknet53(input_data) and returns: route_1,  route_2,  input_data