docstr: This function is taken from the original tf repo.
  It ensures that all layers have a channel number that is divisible by 8
  It can be seen here:
  https://github.com/tensorflow/models/blob/master/research/slim/nets/mobilenet/mobilenet.py
docstr_tok: ["This","function","is","taken","from","the","original","tf","repo",".","It","ensures","that","all","layers","have","a","channel","number","that","is","divisible","by","8","It","can","be","seen","here",":","https",":","\/\/github.com\/tensorflow\/models\/blob\/master\/research\/slim\/nets\/mobilenet\/mobilenet.py"]
code: def _make_divisible(self, v, divisor, min_value=None):
      """
      This function is taken from the original tf repo.
      It ensures that all layers have a channel number that is divisible by 8
      It can be seen here:
      https://github.com/tensorflow/models/blob/master/research/slim/nets/mobilenet/mobilenet.py
      """
      if min_value is None:
          min_value = divisor
      new_v = max(min_value, int(v + divisor / 2) // divisor * divisor)
      # Make sure that round down does not go down by more than 10%.
      if new_v < 0.9 * v:
          new_v += divisor
      return new_v
  
imports: import math
  import paddle
  from paddle import ParamAttr
  import paddle.nn
  import paddle.nn.functional
  from paddle.nn import Conv2D, BatchNorm, AdaptiveAvgPool2D, Linear
  from paddle.regularizer import L2Decay
  from paddle.nn.initializer import Uniform, KaimingNormal
  from paddleseg.cvlibs import manager
  from paddleseg.utils import utils, logger
label_desc: Use image node_id 4 for calling the GhostNet obj's underlying member method code with example usage: obj._make_divisible(v, divisor, min_value) and returns: new_v