diff --git a/src/transformers/__init__.py b/src/transformers/__init__.py index da650cc58f..72bfb4b465 100644 --- a/src/transformers/__init__.py +++ b/src/transformers/__init__.py @@ -1078,6 +1078,7 @@ _import_structure = { "is_psutil_available", "is_py3nvml_available", "is_pyctcdecode_available", + "is_sacremoses_available", "is_safetensors_available", "is_scipy_available", "is_sentencepiece_available", @@ -5882,6 +5883,7 @@ if TYPE_CHECKING: is_psutil_available, is_py3nvml_available, is_pyctcdecode_available, + is_sacremoses_available, is_safetensors_available, is_scipy_available, is_sentencepiece_available, diff --git a/src/transformers/testing_utils.py b/src/transformers/testing_utils.py index adcadfc379..b333678427 100644 --- a/src/transformers/testing_utils.py +++ b/src/transformers/testing_utils.py @@ -90,6 +90,7 @@ from .utils import ( is_pytest_available, is_pytorch_quantization_available, is_rjieba_available, + is_sacremoses_available, is_safetensors_available, is_scipy_available, is_sentencepiece_available, @@ -562,6 +563,13 @@ def require_sentencepiece(test_case): return unittest.skipUnless(is_sentencepiece_available(), "test requires SentencePiece")(test_case) +def require_sacremoses(test_case): + """ + Decorator marking a test that requires Sacremoses. These tests are skipped when Sacremoses isn't installed. + """ + return unittest.skipUnless(is_sacremoses_available(), "test requires Sacremoses")(test_case) + + def require_seqio(test_case): """ Decorator marking a test that requires SentencePiece. These tests are skipped when SentencePiece isn't installed. diff --git a/tests/models/biogpt/test_modeling_biogpt.py b/tests/models/biogpt/test_modeling_biogpt.py index b7db0bbe28..b74cbdcb0f 100644 --- a/tests/models/biogpt/test_modeling_biogpt.py +++ b/tests/models/biogpt/test_modeling_biogpt.py @@ -17,7 +17,7 @@ import math import unittest -from transformers import BioGptConfig, is_torch_available +from transformers import BioGptConfig, is_sacremoses_available, is_torch_available from transformers.testing_utils import require_torch, slow, torch_device from ...generation.test_utils import GenerationTesterMixin @@ -294,7 +294,7 @@ class BioGptModelTest(ModelTesterMixin, GenerationTesterMixin, PipelineTesterMix "token-classification": BioGptForTokenClassification, "zero-shot": BioGptForSequenceClassification, } - if is_torch_available() + if is_torch_available() and is_sacremoses_available() else {} ) test_pruning = False diff --git a/tests/models/biogpt/test_tokenization_biogpt.py b/tests/models/biogpt/test_tokenization_biogpt.py index 8ec8a248bb..c350f5de0e 100644 --- a/tests/models/biogpt/test_tokenization_biogpt.py +++ b/tests/models/biogpt/test_tokenization_biogpt.py @@ -19,11 +19,12 @@ import os import unittest from transformers.models.biogpt.tokenization_biogpt import VOCAB_FILES_NAMES, BioGptTokenizer -from transformers.testing_utils import slow +from transformers.testing_utils import require_sacremoses, slow from ...test_tokenization_common import TokenizerTesterMixin +@require_sacremoses class BioGptTokenizationTest(TokenizerTesterMixin, unittest.TestCase): tokenizer_class = BioGptTokenizer test_rust_tokenizer = False diff --git a/tests/models/flaubert/test_modeling_flaubert.py b/tests/models/flaubert/test_modeling_flaubert.py index f21695e39c..fc275bdd8a 100644 --- a/tests/models/flaubert/test_modeling_flaubert.py +++ b/tests/models/flaubert/test_modeling_flaubert.py @@ -16,7 +16,7 @@ import os import tempfile import unittest -from transformers import FlaubertConfig, is_torch_available +from transformers import FlaubertConfig, is_sacremoses_available, is_torch_available from transformers.testing_utils import require_torch, require_torch_accelerator, slow, torch_device from ...test_configuration_common import ConfigTester @@ -386,7 +386,7 @@ class FlaubertModelTest(ModelTesterMixin, PipelineTesterMixin, unittest.TestCase "token-classification": FlaubertForTokenClassification, "zero-shot": FlaubertForSequenceClassification, } - if is_torch_available() + if is_torch_available() and is_sacremoses_available() else {} ) diff --git a/tests/models/herbert/test_tokenization_herbert.py b/tests/models/herbert/test_tokenization_herbert.py index c7e1a7ce7f..d035348b73 100644 --- a/tests/models/herbert/test_tokenization_herbert.py +++ b/tests/models/herbert/test_tokenization_herbert.py @@ -20,11 +20,12 @@ import unittest from transformers import HerbertTokenizer, HerbertTokenizerFast from transformers.models.herbert.tokenization_herbert import VOCAB_FILES_NAMES -from transformers.testing_utils import get_tests_dir, require_tokenizers, slow +from transformers.testing_utils import get_tests_dir, require_sacremoses, require_tokenizers, slow from ...test_tokenization_common import TokenizerTesterMixin +@require_sacremoses @require_tokenizers class HerbertTokenizationTest(TokenizerTesterMixin, unittest.TestCase): tokenizer_class = HerbertTokenizer