From 10d420147b640e66e8c489bc8ecd710460a63399 Mon Sep 17 00:00:00 2001 From: Leonid Ganeline <leo.gan.57@gmail.com> Date: Wed, 23 Aug 2023 17:15:22 -0700 Subject: [PATCH] Remove mutable default arguments (#170) Passing a list as default argument is not recommended. --- dinov2/eval/knn.py | 3 ++- dinov2/eval/linear.py | 3 ++- dinov2/eval/log_regression.py | 3 ++- dinov2/eval/setup.py | 4 ++-- dinov2/run/submit.py | 3 ++- 5 files changed, 10 insertions(+), 6 deletions(-) diff --git a/dinov2/eval/knn.py b/dinov2/eval/knn.py index 018ad5b..02ee261 100644 --- a/dinov2/eval/knn.py +++ b/dinov2/eval/knn.py @@ -29,9 +29,10 @@ logger = logging.getLogger("dinov2") def get_args_parser( description: Optional[str] = None, - parents: Optional[List[argparse.ArgumentParser]] = [], + parents: Optional[List[argparse.ArgumentParser]] = None, add_help: bool = True, ): + parents = parents or [] setup_args_parser = get_setup_args_parser(parents=parents, add_help=False) parents = [setup_args_parser] parser = argparse.ArgumentParser( diff --git a/dinov2/eval/linear.py b/dinov2/eval/linear.py index e472a24..3d82026 100644 --- a/dinov2/eval/linear.py +++ b/dinov2/eval/linear.py @@ -33,9 +33,10 @@ logger = logging.getLogger("dinov2") def get_args_parser( description: Optional[str] = None, - parents: Optional[List[argparse.ArgumentParser]] = [], + parents: Optional[List[argparse.ArgumentParser]] = None, add_help: bool = True, ): + parents = parents or [] setup_args_parser = get_setup_args_parser(parents=parents, add_help=False) parents = [setup_args_parser] parser = argparse.ArgumentParser( diff --git a/dinov2/eval/log_regression.py b/dinov2/eval/log_regression.py index 55f0ee7..2e6ede2 100644 --- a/dinov2/eval/log_regression.py +++ b/dinov2/eval/log_regression.py @@ -38,9 +38,10 @@ _CPU_DEVICE = torch.device("cpu") def get_args_parser( description: Optional[str] = None, - parents: Optional[List[argparse.ArgumentParser]] = [], + parents: Optional[List[argparse.ArgumentParser]] = None, add_help: bool = True, ): + parents = parents or [] setup_args_parser = get_setup_args_parser(parents=parents, add_help=False) parents = [setup_args_parser] parser = argparse.ArgumentParser( diff --git a/dinov2/eval/setup.py b/dinov2/eval/setup.py index 529b352..e7fadc2 100644 --- a/dinov2/eval/setup.py +++ b/dinov2/eval/setup.py @@ -17,12 +17,12 @@ import dinov2.utils.utils as dinov2_utils def get_args_parser( description: Optional[str] = None, - parents: Optional[List[argparse.ArgumentParser]] = [], + parents: Optional[List[argparse.ArgumentParser]] = None, add_help: bool = True, ): parser = argparse.ArgumentParser( description=description, - parents=parents, + parents=parents or [], add_help=add_help, ) parser.add_argument( diff --git a/dinov2/run/submit.py b/dinov2/run/submit.py index 340b478..68140f3 100644 --- a/dinov2/run/submit.py +++ b/dinov2/run/submit.py @@ -24,9 +24,10 @@ logger = logging.getLogger("dinov2") def get_args_parser( description: Optional[str] = None, - parents: Optional[List[argparse.ArgumentParser]] = [], + parents: Optional[List[argparse.ArgumentParser]] = None, add_help: bool = True, ) -> argparse.ArgumentParser: + parents = parents or [] slurm_partition = get_slurm_partition() parser = argparse.ArgumentParser( description=description, -- GitLab