From 62d3ec9613cafefc2e831c6c8a0f179666ef08fc Mon Sep 17 00:00:00 2001 From: Eric Cousineau Date: Tue, 16 Feb 2021 14:45:55 -0500 Subject: [PATCH] doc: Add hint towards using ArgumentParser.add_argument_group (#5911) * doc: Add hint towards using ArgumentParser.add_argument_group Since pl adds many arguments, it is nice to distinguish these arguments * fixup! address review Co-authored-by: chaton --- docs/source/common/trainer.rst | 5 ++++- tests/trainer/test_trainer_cli.py | 15 +++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/docs/source/common/trainer.rst b/docs/source/common/trainer.rst index 35b719505f..0599861254 100644 --- a/docs/source/common/trainer.rst +++ b/docs/source/common/trainer.rst @@ -128,7 +128,10 @@ So you can run it like so: if __name__ == '__main__': parser = ArgumentParser() - parser = Trainer.add_argparse_args(parser) + parser = Trainer.add_argparse_args( + # group the Trainer arguments together + parser.add_argument_group(title="pl.Trainer args") + ) args = parser.parse_args() main(args) diff --git a/tests/trainer/test_trainer_cli.py b/tests/trainer/test_trainer_cli.py index a890ed84b1..143594f5d2 100644 --- a/tests/trainer/test_trainer_cli.py +++ b/tests/trainer/test_trainer_cli.py @@ -67,6 +67,21 @@ def test_add_argparse_args_redefined(cli_args): assert isinstance(trainer, Trainer) +@pytest.mark.parametrize('cli_args', [ + ['--accumulate_grad_batches=22'], + ['--weights_save_path=./'], + [] +]) +def test_add_argparse_via_argument_group(cli_args): + """Simple test ensuring that passing an argument group still works""" + parser = ArgumentParser(add_help=False) + parser = Trainer.add_argparse_args( + parser.add_argument_group(title="pl.Trainer args") + ) + args = parser.parse_args(cli_args) + assert Trainer.from_argparse_args(args) + + def test_get_init_arguments_and_types(): """Asserts a correctness of the `get_init_arguments_and_types` Trainer classmethod.""" args = argparse.get_init_arguments_and_types(Trainer)