From b9a0ede6ab2558197d919e7a77a96dfd1c466b3f Mon Sep 17 00:00:00 2001 From: xxyzz Date: Tue, 6 Dec 2022 20:44:17 +0800 Subject: [PATCH] Check if docstring is None before formating it (#20592) docstrings could be `None` if Python optimize level is set to 2. --- src/transformers/configuration_utils.py | 7 ++++--- src/transformers/feature_extraction_utils.py | 7 ++++--- src/transformers/image_processing_utils.py | 7 ++++--- src/transformers/modeling_flax_utils.py | 7 ++++--- src/transformers/modeling_utils.py | 7 ++++--- src/transformers/processing_utils.py | 7 ++++--- src/transformers/tokenization_utils_base.py | 7 ++++--- 7 files changed, 28 insertions(+), 21 deletions(-) diff --git a/src/transformers/configuration_utils.py b/src/transformers/configuration_utils.py index b2924684b5..864b01785f 100755 --- a/src/transformers/configuration_utils.py +++ b/src/transformers/configuration_utils.py @@ -942,6 +942,7 @@ def get_configuration_file(configuration_files: List[str]) -> str: PretrainedConfig.push_to_hub = copy_func(PretrainedConfig.push_to_hub) -PretrainedConfig.push_to_hub.__doc__ = PretrainedConfig.push_to_hub.__doc__.format( - object="config", object_class="AutoConfig", object_files="configuration file" -) +if PretrainedConfig.push_to_hub.__doc__ is not None: + PretrainedConfig.push_to_hub.__doc__ = PretrainedConfig.push_to_hub.__doc__.format( + object="config", object_class="AutoConfig", object_files="configuration file" + ) diff --git a/src/transformers/feature_extraction_utils.py b/src/transformers/feature_extraction_utils.py index 70b8475bca..30d97649a9 100644 --- a/src/transformers/feature_extraction_utils.py +++ b/src/transformers/feature_extraction_utils.py @@ -598,6 +598,7 @@ class FeatureExtractionMixin(PushToHubMixin): FeatureExtractionMixin.push_to_hub = copy_func(FeatureExtractionMixin.push_to_hub) -FeatureExtractionMixin.push_to_hub.__doc__ = FeatureExtractionMixin.push_to_hub.__doc__.format( - object="feature extractor", object_class="AutoFeatureExtractor", object_files="feature extractor file" -) +if FeatureExtractionMixin.push_to_hub.__doc__ is not None: + FeatureExtractionMixin.push_to_hub.__doc__ = FeatureExtractionMixin.push_to_hub.__doc__.format( + object="feature extractor", object_class="AutoFeatureExtractor", object_files="feature extractor file" + ) diff --git a/src/transformers/image_processing_utils.py b/src/transformers/image_processing_utils.py index 130b0f0704..6c7d371b6a 100644 --- a/src/transformers/image_processing_utils.py +++ b/src/transformers/image_processing_utils.py @@ -523,6 +523,7 @@ def get_size_dict( ImageProcessingMixin.push_to_hub = copy_func(ImageProcessingMixin.push_to_hub) -ImageProcessingMixin.push_to_hub.__doc__ = ImageProcessingMixin.push_to_hub.__doc__.format( - object="image processor", object_class="AutoImageProcessor", object_files="image processor file" -) +if ImageProcessingMixin.push_to_hub.__doc__ is not None: + ImageProcessingMixin.push_to_hub.__doc__ = ImageProcessingMixin.push_to_hub.__doc__.format( + object="image processor", object_class="AutoImageProcessor", object_files="image processor file" + ) diff --git a/src/transformers/modeling_flax_utils.py b/src/transformers/modeling_flax_utils.py index 68c632a1ca..69bd5a118b 100644 --- a/src/transformers/modeling_flax_utils.py +++ b/src/transformers/modeling_flax_utils.py @@ -1073,9 +1073,10 @@ class FlaxPreTrainedModel(PushToHubMixin, FlaxGenerationMixin): # To update the docstring, we need to copy the method, otherwise we change the original docstring. FlaxPreTrainedModel.push_to_hub = copy_func(FlaxPreTrainedModel.push_to_hub) -FlaxPreTrainedModel.push_to_hub.__doc__ = FlaxPreTrainedModel.push_to_hub.__doc__.format( - object="model", object_class="FlaxAutoModel", object_files="model checkpoint" -) +if FlaxPreTrainedModel.push_to_hub.__doc__ is not None: + FlaxPreTrainedModel.push_to_hub.__doc__ = FlaxPreTrainedModel.push_to_hub.__doc__.format( + object="model", object_class="FlaxAutoModel", object_files="model checkpoint" + ) def overwrite_call_docstring(model_class, docstring): diff --git a/src/transformers/modeling_utils.py b/src/transformers/modeling_utils.py index 409dd88d0c..eefce43edb 100644 --- a/src/transformers/modeling_utils.py +++ b/src/transformers/modeling_utils.py @@ -2810,9 +2810,10 @@ class PreTrainedModel(nn.Module, ModuleUtilsMixin, GenerationMixin, PushToHubMix PreTrainedModel.push_to_hub = copy_func(PreTrainedModel.push_to_hub) -PreTrainedModel.push_to_hub.__doc__ = PreTrainedModel.push_to_hub.__doc__.format( - object="model", object_class="AutoModel", object_files="model file" -) +if PreTrainedModel.push_to_hub.__doc__ is not None: + PreTrainedModel.push_to_hub.__doc__ = PreTrainedModel.push_to_hub.__doc__.format( + object="model", object_class="AutoModel", object_files="model file" + ) class PoolerStartLogits(nn.Module): diff --git a/src/transformers/processing_utils.py b/src/transformers/processing_utils.py index 027e669a3f..dba9da58b8 100644 --- a/src/transformers/processing_utils.py +++ b/src/transformers/processing_utils.py @@ -234,6 +234,7 @@ class ProcessorMixin(PushToHubMixin): ProcessorMixin.push_to_hub = copy_func(ProcessorMixin.push_to_hub) -ProcessorMixin.push_to_hub.__doc__ = ProcessorMixin.push_to_hub.__doc__.format( - object="processor", object_class="AutoProcessor", object_files="processor files" -) +if ProcessorMixin.push_to_hub.__doc__ is not None: + ProcessorMixin.push_to_hub.__doc__ = ProcessorMixin.push_to_hub.__doc__.format( + object="processor", object_class="AutoProcessor", object_files="processor files" + ) diff --git a/src/transformers/tokenization_utils_base.py b/src/transformers/tokenization_utils_base.py index 4e8aa6f3fb..011edfa1e7 100644 --- a/src/transformers/tokenization_utils_base.py +++ b/src/transformers/tokenization_utils_base.py @@ -3768,6 +3768,7 @@ def get_fast_tokenizer_file(tokenization_files: List[str]) -> str: # To update the docstring, we need to copy the method, otherwise we change the original docstring. PreTrainedTokenizerBase.push_to_hub = copy_func(PreTrainedTokenizerBase.push_to_hub) -PreTrainedTokenizerBase.push_to_hub.__doc__ = PreTrainedTokenizerBase.push_to_hub.__doc__.format( - object="tokenizer", object_class="AutoTokenizer", object_files="tokenizer files" -) +if PreTrainedTokenizerBase.push_to_hub.__doc__ is not None: + PreTrainedTokenizerBase.push_to_hub.__doc__ = PreTrainedTokenizerBase.push_to_hub.__doc__.format( + object="tokenizer", object_class="AutoTokenizer", object_files="tokenizer files" + )