text: """Contains common utility functions."""
  #  Copyright (c) 2019 PaddlePaddle Authors. All Rights Reserve.
  #
  #Licensed under the Apache License, Version 2.0 (the "License");
  #you may not use this file except in compliance with the License.
  #You may obtain a copy of the License at
  #
  #    http://www.apache.org/licenses/LICENSE-2.0
  #
  #Unless required by applicable law or agreed to in writing, software
  #distributed under the License is distributed on an "AS IS" BASIS,
  #WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  #See the License for the specific language governing permissions and
  #limitations under the License.
  
  from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import distutils.util
  import six
  import random
  import glob
  import numpy as np
  
  
  def print_arguments(args):
      """Print argparse's arguments.
  
      Usage:
  
      .. code-block:: python
  
          parser = argparse.ArgumentParser()
          parser.add_argument("name", default="Jonh", type=str, help="User name.")
          args = parser.parse_args()
          print_arguments(args)
  
      :param args: Input argparse.Namespace for printing.
      :type args: argparse.Namespace
      """
      print("-----------  Configuration Arguments -----------")
      for arg, value in sorted(six.iteritems(vars(args))):
          print("%s: %s" % (arg, value))
      print("------------------------------------------------")
  
  
  def add_arguments(argname, type, default, help, argparser, **kwargs):
      """Add argparse's argument.
  
      Usage:
  
      .. code-block:: python
  
          parser = argparse.ArgumentParser()
          add_argument("name", str, "Jonh", "User name.", parser)
          args = parser.parse_args()
      """
      type = distutils.util.strtobool if type == bool else type
      argparser.add_argument(
          "--" + argname,
          default=default,
          type=type,
          help=help + ' Default: %(default)s.',
          **kwargs)
  
  
  class ImagePool(object):
      def __init__(self, pool_size=50):
          self.pool = []
          self.count = 0
          self.pool_size = pool_size
  
      def pool_image(self, image):
          if self.count < self.pool_size:
              self.pool.append(image)
              self.count += 1
              return image
          else:
              p = random.random()
              if p > 0.5:
                  random_id = random.randint(0, self.pool_size - 1)
                  temp = self.pool[random_id]
                  self.pool[random_id] = image
                  return temp
              else:
                  return image
  