Add minimum version check in examples (#10724)
* Add minimum version check in examples * Style * No need for new line maybe? * Add helpful comment
This commit is contained in:
@@ -33,10 +33,43 @@ Then cd in the example folder of your choice and run
|
||||
pip install -r requirements.txt
|
||||
```
|
||||
|
||||
Alternatively, you can run the version of the examples as they were for your current version of Transformers via (for instance with v3.5.1):
|
||||
To browse the examples corresponding to released versions of 🤗 Transformers, click on the line below and then on your desired version of the library:
|
||||
|
||||
<details>
|
||||
<summary>Examples for older versions of 🤗 Transformers</summary>
|
||||
|
||||
- [v4.3.3](https://github.com/huggingface/transformers/tree/v4.3.3/examples)
|
||||
- [v4.2.2](https://github.com/huggingface/transformers/tree/v4.2.2/examples)
|
||||
- [v4.1.1](https://github.com/huggingface/transformers/tree/v4.1.1/examples)
|
||||
- [v4.0.1](https://github.com/huggingface/transformers/tree/v4.0.1/examples)
|
||||
- [v3.5.1](https://github.com/huggingface/transformers/tree/v3.5.1/examples)
|
||||
- [v3.4.0](https://github.com/huggingface/transformers/tree/v3.4.0/examples)
|
||||
- [v3.3.1](https://github.com/huggingface/transformers/tree/v3.3.1/examples)
|
||||
- [v3.2.0](https://github.com/huggingface/transformers/tree/v3.2.0/examples)
|
||||
- [v3.1.0](https://github.com/huggingface/transformers/tree/v3.1.0/examples)
|
||||
- [v3.0.2](https://github.com/huggingface/transformers/tree/v3.0.2/examples)
|
||||
- [v2.11.0](https://github.com/huggingface/transformers/tree/v2.11.0/examples)
|
||||
- [v2.10.0](https://github.com/huggingface/transformers/tree/v2.10.0/examples)
|
||||
- [v2.9.1](https://github.com/huggingface/transformers/tree/v2.9.1/examples)
|
||||
- [v2.8.0](https://github.com/huggingface/transformers/tree/v2.8.0/examples)
|
||||
- [v2.7.0](https://github.com/huggingface/transformers/tree/v2.7.0/examples)
|
||||
- [v2.6.0](https://github.com/huggingface/transformers/tree/v2.6.0/examples)
|
||||
- [v2.5.1](https://github.com/huggingface/transformers/tree/v2.5.1/examples)
|
||||
- [v2.4.0](https://github.com/huggingface/transformers/tree/v2.4.0/examples)
|
||||
- [v2.3.0](https://github.com/huggingface/transformers/tree/v2.3.0/examples)
|
||||
- [v2.2.0](https://github.com/huggingface/transformers/tree/v2.2.0/examples)
|
||||
- [v2.1.1](https://github.com/huggingface/transformers/tree/v2.1.0/examples)
|
||||
- [v2.0.0](https://github.com/huggingface/transformers/tree/v2.0.0/examples)
|
||||
- [v1.2.0](https://github.com/huggingface/transformers/tree/v1.2.0/examples)
|
||||
- [v1.1.0](https://github.com/huggingface/transformers/tree/v1.1.0/examples)
|
||||
- [v1.0.0](https://github.com/huggingface/transformers/tree/v1.0.0/examples)
|
||||
</details>
|
||||
|
||||
Alternatively, you can find switch your cloned 🤗 Transformers to a specific version (for instance with v3.5.1) with
|
||||
```bash
|
||||
git checkout tags/v3.5.1
|
||||
```
|
||||
and run the example command as usual afterward.
|
||||
|
||||
## The Big Table of Tasks
|
||||
|
||||
@@ -62,12 +95,6 @@ Coming soon!
|
||||
| [**`translation`**](https://github.com/huggingface/transformers/tree/master/examples/seq2seq) | WMT | ✅ | - | - | -
|
||||
|
||||
|
||||
<!--
|
||||
## One-click Deploy to Cloud (wip)
|
||||
|
||||
**Coming soon!**
|
||||
-->
|
||||
|
||||
## Distributed training and mixed precision
|
||||
|
||||
All the PyTorch scripts mentioned above work out of the box with distributed training and mixed precision, thanks to
|
||||
|
||||
@@ -44,8 +44,12 @@ from transformers import (
|
||||
set_seed,
|
||||
)
|
||||
from transformers.trainer_utils import get_last_checkpoint, is_main_process
|
||||
from transformers.utils import check_min_version
|
||||
|
||||
|
||||
# Will error if the minimal version of Transformers is not installed. Remove at your own risks.
|
||||
check_min_version("4.4.0.dev0")
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
|
||||
@@ -44,8 +44,12 @@ from transformers import (
|
||||
set_seed,
|
||||
)
|
||||
from transformers.trainer_utils import get_last_checkpoint, is_main_process
|
||||
from transformers.utils import check_min_version
|
||||
|
||||
|
||||
# Will error if the minimal version of Transformers is not installed. Remove at your own risks.
|
||||
check_min_version("4.4.0.dev0")
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
MODEL_CONFIG_CLASSES = list(MODEL_FOR_MASKED_LM_MAPPING.keys())
|
||||
MODEL_TYPES = tuple(conf.model_type for conf in MODEL_CONFIG_CLASSES)
|
||||
|
||||
@@ -40,8 +40,12 @@ from transformers import (
|
||||
set_seed,
|
||||
)
|
||||
from transformers.trainer_utils import get_last_checkpoint, is_main_process
|
||||
from transformers.utils import check_min_version
|
||||
|
||||
|
||||
# Will error if the minimal version of Transformers is not installed. Remove at your own risks.
|
||||
check_min_version("4.4.0.dev0")
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
|
||||
@@ -42,8 +42,12 @@ from transformers import (
|
||||
from transformers.file_utils import PaddingStrategy
|
||||
from transformers.tokenization_utils_base import PreTrainedTokenizerBase
|
||||
from transformers.trainer_utils import get_last_checkpoint, is_main_process
|
||||
from transformers.utils import check_min_version
|
||||
|
||||
|
||||
# Will error if the minimal version of Transformers is not installed. Remove at your own risks.
|
||||
check_min_version("4.4.0.dev0")
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
|
||||
@@ -41,9 +41,13 @@ from transformers import (
|
||||
set_seed,
|
||||
)
|
||||
from transformers.trainer_utils import get_last_checkpoint, is_main_process
|
||||
from transformers.utils import check_min_version
|
||||
from utils_qa import postprocess_qa_predictions
|
||||
|
||||
|
||||
# Will error if the minimal version of Transformers is not installed. Remove at your own risks.
|
||||
check_min_version("4.4.0.dev0")
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
|
||||
@@ -40,9 +40,13 @@ from transformers import (
|
||||
set_seed,
|
||||
)
|
||||
from transformers.trainer_utils import get_last_checkpoint, is_main_process
|
||||
from transformers.utils import check_min_version
|
||||
from utils_qa import postprocess_qa_predictions_with_beam_search
|
||||
|
||||
|
||||
# Will error if the minimal version of Transformers is not installed. Remove at your own risks.
|
||||
check_min_version("4.4.0.dev0")
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
|
||||
@@ -43,8 +43,12 @@ from transformers import (
|
||||
)
|
||||
from transformers.file_utils import is_offline_mode
|
||||
from transformers.trainer_utils import get_last_checkpoint, is_main_process
|
||||
from transformers.utils import check_min_version
|
||||
|
||||
|
||||
# Will error if the minimal version of Transformers is not installed. Remove at your own risks.
|
||||
check_min_version("4.4.0.dev0")
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
try:
|
||||
|
||||
@@ -42,8 +42,12 @@ from transformers import (
|
||||
set_seed,
|
||||
)
|
||||
from transformers.trainer_utils import get_last_checkpoint, is_main_process
|
||||
from transformers.utils import check_min_version
|
||||
|
||||
|
||||
# Will error if the minimal version of Transformers is not installed. Remove at your own risks.
|
||||
check_min_version("4.4.0.dev0")
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
|
||||
@@ -41,8 +41,12 @@ from transformers import (
|
||||
set_seed,
|
||||
)
|
||||
from transformers.trainer_utils import get_last_checkpoint, is_main_process
|
||||
from transformers.utils import check_min_version
|
||||
|
||||
|
||||
# Will error if the minimal version of Transformers is not installed. Remove at your own risks.
|
||||
check_min_version("4.4.0.dev0")
|
||||
|
||||
task_to_keys = {
|
||||
"cola": ("sentence", None),
|
||||
"mnli": ("premise", "hypothesis"),
|
||||
|
||||
@@ -41,8 +41,12 @@ from transformers import (
|
||||
set_seed,
|
||||
)
|
||||
from transformers.trainer_utils import get_last_checkpoint, is_main_process
|
||||
from transformers.utils import check_min_version
|
||||
|
||||
|
||||
# Will error if the minimal version of Transformers is not installed. Remove at your own risks.
|
||||
check_min_version("4.4.0.dev0")
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
|
||||
@@ -41,8 +41,12 @@ from transformers import (
|
||||
set_seed,
|
||||
)
|
||||
from transformers.trainer_utils import get_last_checkpoint, is_main_process
|
||||
from transformers.utils import check_min_version
|
||||
|
||||
|
||||
# Will error if the minimal version of Transformers is not installed. Remove at your own risks.
|
||||
check_min_version("4.4.0.dev0")
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
#!/usr/bin/env python
|
||||
# coding=utf-8
|
||||
# Copyright 2021 The HuggingFace Inc. team. All rights reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
from packaging import version
|
||||
|
||||
from .. import __version__
|
||||
|
||||
|
||||
def check_min_version(min_version):
|
||||
if version.parse(__version__) < version.parse(min_version):
|
||||
if "dev" in min_version:
|
||||
error_message = (
|
||||
"This example requires a source install from 🤗 Transformers (see "
|
||||
"`https://huggingface.co/transformers/installation.html#installing-from-source`),"
|
||||
)
|
||||
else:
|
||||
error_message = f"This example requires a minimum version of {min_version},"
|
||||
error_message += f" but the version found is {__version__}.\n"
|
||||
raise ImportError(
|
||||
error_message
|
||||
+ (
|
||||
"Check out https://huggingface.co/transformers/examples.html for the examples corresponding to other "
|
||||
"versions of 🤗 Transformers."
|
||||
)
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user