code: def inverted_residual_unit(
      data,
      num_in_filter,
      num_filter,
      ifshortcut,
      stride,
      kernel,
      pad,
      expansion_factor,
      prefix,
  ):
      num_expfilter = int(round(num_in_filter * expansion_factor))
  
      channel_expand = mobilenet_unit(
          data=data,
          num_filter=num_expfilter,
          kernel=(1, 1),
          stride=(1, 1),
          pad=(0, 0),
          num_group=1,
          if_act=True,
          prefix="%s-exp" % prefix,
      )
      bottleneck_conv = mobilenet_unit(
          data=channel_expand,
          num_filter=num_expfilter,
          stride=stride,
          kernel=kernel,
          pad=pad,
          num_group=num_expfilter,
          if_act=True,
          prefix="%s-depthwise" % prefix,
      )
      linear_out = mobilenet_unit(
          data=bottleneck_conv,
          num_filter=num_filter,
          kernel=(1, 1),
          stride=(1, 1),
          pad=(0, 0),
          num_group=1,
          if_act=False,
          prefix="%s-linear" % prefix,
      )
      if ifshortcut:
          out = shortcut(
              data_in=data,
              data_residual=linear_out,
              prefix=prefix,
          )
          return out
      else:
          return linear_out
  
file_path: byteps/example/mxnet/symbols/mobilenetv2.py
imports: import mxnet
label_desc: Use image node_id 4 for calling a global function with example usage: inverted_residual_unit(data, num_in_filter, num_filter, ifshortcut, stride, kernel, pad, expansion_factor, prefix) and returns: out, linear_out