def adam_args(parser, dbeta1=0.99, dbeta2=0.99, depsilon='1e-8',
              dbeta1_fb=0.99, dbeta2_fb=0.99, depsilon_fb='1e-8'):
    """
    Training options for the Adam optimizer
    Args:
        parser (argparse.ArgumentParser): argument parser
        (....): Default values for the arguments
    Returns:
        The created argument group, in case more options should be added.
    """

    agroup = parser.add_argument_group('Training options for the '
                                       'Adam optimizer')
    agroup.add_argument('--beta1', type=float, default=dbeta1,
                        help='beta1 training hyperparameter for the adam '
                             'optimizer. Default: %(default)s')
    agroup.add_argument('--beta2', type=float, default=dbeta2,
                        help='beta2 training hyperparameter for the adam '
                             'optimizer. Default: %(default)s')
    agroup.add_argument('--epsilon', type=str, default=depsilon,
                        help='epsilon training hyperparameter for the adam '
                             'optimizer. Default: %(default)s')
    agroup.add_argument('--beta1_fb', type=float, default=dbeta1_fb,
                        help='beta1 training hyperparameter for the adam '
                             'feedback optimizer. Default: %(default)s')
    agroup.add_argument('--beta2_fb', type=float, default=dbeta2_fb,
                        help='beta2 training hyperparameter for the adam '
                             'feedback optimizer. Default: %(default)s')
    agroup.add_argument('--epsilon_fb', type=str, default=depsilon_fb,
                        help='epsilon training hyperparameter for the adam '
                             'feedback optimizer. Default: %(default)s')
    return agroup