code: def mobilenetv3small(
      x,
      depth_multiplier,
      kernel_size,
      se,
      activation_fn,
      is_training,
      classes,
      stem,
      scope=None,
      reuse=None,
  ):
      def depth(d):
          return _depth(d * depth_multiplier)
  
      conva = functools.partial(convbnact, activation_fn=activation_fn)
      block3a = functools.partial(block3, activation_fn=activation_fn)
  
      x = conva(x, depth(16), 3, stride=2, scope="conv1")
      x = block3(x, 1, se, depth(16), 3, stride=2, scope="conv2")
  
      x = block3(x, 72.0 / 16, 0, depth(24), 3, stride=2, scope="conv3")
      x = block3(x, 88.0 / 24, 0, depth(24), 3, scope="conv4")
  
      x = block3a(
          x, 4, se, depth(40), kernel_size, stride=2, scope="conv5"
      )
      x = block3a(x, 6, se, depth(40), kernel_size, scope="conv6")
      x = block3a(x, 6, se, depth(40), kernel_size, scope="conv7")
  
      x = block3a(x, 3, se, depth(48), kernel_size, scope="conv8")
      x = block3a(x, 3, se, depth(48), kernel_size, scope="conv9")
  
      x = block3a(
          x, 6, se, depth(96), kernel_size, stride=2, scope="conv10"
      )
      x = block3a(x, 6, se, depth(96), kernel_size, scope="conv11")
      x = block3a(x, 6, se, depth(96), kernel_size, scope="conv12")
  
      x = conva(x, depth(576), 1, scope="conv13")
      x = avg_pool2d(x, 7, scope="pool")
      x = conv2d(
          x,
          depth(1024) if depth_multiplier > 1.0 else 1024,
          1,
          biases_initializer=tf.zeros_initializer(),
          scope="conv14",
      )
      x = activation_fn(x, "conv14/out")
      if stem:
          return x
  
      x = reduce_mean(x, [1, 2], name="avgpool")
      x = fc(x, classes, scope="logits")
      x = softmax(x, name="probs")
      return x
  
imports: from __future__ import absolute_import
  import functools
  import tensorflow
  from .layers import avg_pool2d
  from .layers import batch_norm
  from .layers import conv2d
  from .layers import dropout
  from .layers import fc
  from .layers import sconv2d
  from .layers import convbn
  from .layers import convbnact
  from .layers import convbnrelu6
  from .layers import sconvbn
  from .layers import sconvbnact
  from .layers import sconvbnrelu6
  from .ops import *
  from .utils import set_args
  from .utils import var_scope
label_desc: Use image node_id 12 for calling a global function with example usage: mobilenetv3small(x, depth_multiplier, kernel_size, se, activation_fn, is_training, classes, stem, scope, reuse) and returns: x, _depth, x