code: def sg_arg_def(**kwargs):
      r
      for k, v in kwargs.items():
          if type(v) is tuple or type(v) is list:
              v, c = v[0], v[1]
          else:
              c = k
          if type(v) is str:
              tf.app.flags.DEFINE_string(k, v, c)
          elif type(v) is int:
              tf.app.flags.DEFINE_integer(k, v, c)
          elif type(v) is float:
              tf.app.flags.DEFINE_float(k, v, c)
          elif type(v) is bool:
              tf.app.flags.DEFINE_bool(k, v, c)
docs: r"""Defines command line options
  
      Args:
        **kwargs:
          key: A name for the option.
          value : Default value or a tuple of (default value, description).
  
      Returns:
        None
  
      For example,
  
      ```
      # Either of the following two lines will define `--n_epoch` command line argument and set its default value as 1.
  
      tf.sg_arg_def(n_epoch=1)
      tf.sg_arg_def(n_epoch=(1, 'total number of epochs'))
      ```