code: def _db_mobilenet(
      arch: str,
      pretrained: bool,
      backbone_fn,
      fpn_layers: List[str],
      pretrained_backbone: bool = True,
      input_shape: Optional[Tuple[int, int, int]] = None,
      **kwargs: Any,
  ) -> DBNet:
      pretrained_backbone = pretrained_backbone and not pretrained
  
      # Patch the config
      _cfg = deepcopy(default_cfgs[arch])
      _cfg["input_shape"] = input_shape or _cfg["input_shape"]
  
      # Feature extractor
      feat_extractor = IntermediateLayerGetter(
          backbone_fn(
              input_shape=_cfg["input_shape"],
              include_top=False,
              pretrained=pretrained_backbone,
          ),
          fpn_layers,
      )
  
      # Build the model
      model = DBNet(feat_extractor, cfg=_cfg, **kwargs)
      # Load pretrained parameters
      if pretrained:
          load_pretrained_params(model, _cfg["url"])
  
      return model
  
imports: from copy import deepcopy
  from typing import Any, Dict, List, Optional, Tuple
  import numpy
  import tensorflow
  from tensorflow import keras
  from tensorflow.keras import layers
  from tensorflow.keras.applications import ResNet50
  from doctr.file_utils import CLASS_NAME
  from doctr.models.utils import IntermediateLayerGetter, _bf16_to_float32, conv_sequence, load_pretrained_params
  from doctr.utils.repr import NestedObject
  from ...classification import mobilenet_v3_large
  from .base import DBPostProcessor, _DBNet
label_desc: Use image node_id 2 for calling a global function with example usage: _db_mobilenet(arch, pretrained, backbone_fn, fpn_layers, pretrained_backbone, input_shape) and returns: model