def METHOD_NAME():
    """Parses all arguments and assigns default values when missing.
    Convert argument strings to objects and assign them as attributes of the
    namespace.
    Returns:
        An object containing all the parsed arguments for script to use.
    """
    args_parser = argparse.ArgumentParser()
    args_parser.add_argument(
        '--job-dir',
        help='GCS location to write checkpoints and export models.',
        required=True
    )
    args_parser.add_argument(
        '--training_path',
        help='Location to training data.',
        default='gs://energyforecast/data/csv/MLDataTrain.csv'
    )
    args_parser.add_argument(
        '--validation_path',
        help='Location to validation data.',
        default='gs://energyforecast/data/csv/MLDataValid.csv'
    )
    args_parser.add_argument(
        '--mean_path',
        help='Location to pre-computed means.',
        default='gs://energyforecast/data/pickle/mean.pkl'
    )
    args_parser.add_argument(
        '--std_path',
        help='Location to pre-computed standard deviations.',
        default='gs://energyforecast/data/pickle/std.pkl'
    )
    args_parser.add_argument(
        '--dropout',
        help='Dropout probability.',
        default=0.2,
        type=float
    )
    args_parser.add_argument(
        '--hour_embedding',
        help='Size of hour embedding.',
        default=20,
        type=int
    )
    args_parser.add_argument(
        '--day_embedding',
        help='Size of day embedding.',
        default=10,
        type=int
    )
    args_parser.add_argument(
        '--first_layer_size',
        help='First layer size.',
        default=100,
        type=int
    )
    args_parser.add_argument(
        '--number_layers',
        help='Number of hidden layers.',
        default=3,
        type=int
    )
    args_parser.add_argument(
        '--layer_reduction_fraction',
        help='Fraction to reduce layers in network.',
        default=0.5,
        type=float
    )
    args_parser.add_argument(
        '--learning_rate',
        help='Learning rate.',
        default=0.01,
        type=float
    )
    args_parser.add_argument(
        '--batch_size',
        help='Training batch size.',
        default=64,
        type=int
    )
    args_parser.add_argument(
        '--eval_batch_size',
        help='Evaluation batch size.',
        default=168,
        type=int
    )
    args_parser.add_argument(
        '--max_steps',
        help='Maximum steps for training.',
        default=5000,
        type=int
    )
    return args_parser.parse_args()