[tests] remove TF tests (uses of require_tf) (#38944)
* remove uses of require_tf * remove redundant import guards * this class has no tests * nits * del tf rng comment
This commit is contained in:
@@ -1,60 +0,0 @@
|
||||
# Copyright 2020 The HuggingFace 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.
|
||||
|
||||
import unittest
|
||||
|
||||
import numpy as np
|
||||
|
||||
from transformers import is_tf_available
|
||||
from transformers.testing_utils import require_tf
|
||||
|
||||
|
||||
if is_tf_available():
|
||||
import tensorflow as tf
|
||||
|
||||
from transformers.activations_tf import get_tf_activation
|
||||
|
||||
|
||||
@require_tf
|
||||
class TestTFActivations(unittest.TestCase):
|
||||
def test_gelu_10(self):
|
||||
x = tf.constant([-100, -1.0, -0.1, 0, 0.1, 1.0, 100.0])
|
||||
gelu = get_tf_activation("gelu")
|
||||
gelu10 = get_tf_activation("gelu_10")
|
||||
|
||||
y_gelu = gelu(x)
|
||||
y_gelu_10 = gelu10(x)
|
||||
|
||||
clipped_mask = tf.where(y_gelu_10 < 10.0, 1.0, 0.0)
|
||||
|
||||
self.assertEqual(tf.math.reduce_max(y_gelu_10).numpy().item(), 10.0)
|
||||
self.assertTrue(np.allclose(y_gelu * clipped_mask, y_gelu_10 * clipped_mask))
|
||||
|
||||
def test_get_activation(self):
|
||||
get_tf_activation("gelu")
|
||||
get_tf_activation("gelu_10")
|
||||
get_tf_activation("gelu_fast")
|
||||
get_tf_activation("gelu_new")
|
||||
get_tf_activation("glu")
|
||||
get_tf_activation("mish")
|
||||
get_tf_activation("quick_gelu")
|
||||
get_tf_activation("relu")
|
||||
get_tf_activation("sigmoid")
|
||||
get_tf_activation("silu")
|
||||
get_tf_activation("swish")
|
||||
get_tf_activation("tanh")
|
||||
with self.assertRaises(KeyError):
|
||||
get_tf_activation("bogus")
|
||||
with self.assertRaises(KeyError):
|
||||
get_tf_activation(None)
|
||||
@@ -36,7 +36,7 @@ from transformers.commands.add_new_model_like import (
|
||||
retrieve_model_classes,
|
||||
simplify_replacements,
|
||||
)
|
||||
from transformers.testing_utils import require_flax, require_tf, require_torch
|
||||
from transformers.testing_utils import require_flax, require_torch
|
||||
|
||||
|
||||
BERT_MODEL_FILES = {
|
||||
@@ -84,7 +84,6 @@ REPO_PATH = Path(transformers.__path__[0]).parent.parent
|
||||
|
||||
|
||||
@require_torch
|
||||
@require_tf
|
||||
@require_flax
|
||||
class TestAddNewModelLike(unittest.TestCase):
|
||||
def init_file(self, file_name, content):
|
||||
|
||||
@@ -19,7 +19,7 @@ from pathlib import Path
|
||||
from typing import Union
|
||||
|
||||
import transformers
|
||||
from transformers.testing_utils import require_tf, require_torch, slow
|
||||
from transformers.testing_utils import require_torch, slow
|
||||
|
||||
|
||||
logger = logging.getLogger()
|
||||
@@ -27,7 +27,6 @@ logger = logging.getLogger()
|
||||
|
||||
@unittest.skip(reason="Temporarily disable the doc tests.")
|
||||
@require_torch
|
||||
@require_tf
|
||||
@slow
|
||||
class TestCodeExamples(unittest.TestCase):
|
||||
def analyze_directory(
|
||||
|
||||
@@ -21,16 +21,13 @@ import transformers
|
||||
|
||||
# Try to import everything from transformers to ensure every object can be loaded.
|
||||
from transformers import * # noqa F406
|
||||
from transformers.testing_utils import DUMMY_UNKNOWN_IDENTIFIER, require_flax, require_tf, require_torch
|
||||
from transformers.utils import ContextManagers, find_labels, is_flax_available, is_tf_available, is_torch_available
|
||||
from transformers.testing_utils import DUMMY_UNKNOWN_IDENTIFIER, require_flax, require_torch
|
||||
from transformers.utils import ContextManagers, find_labels, is_flax_available, is_torch_available
|
||||
|
||||
|
||||
if is_torch_available():
|
||||
from transformers import BertForPreTraining, BertForQuestionAnswering, BertForSequenceClassification
|
||||
|
||||
if is_tf_available():
|
||||
from transformers import TFBertForPreTraining, TFBertForQuestionAnswering, TFBertForSequenceClassification
|
||||
|
||||
if is_flax_available():
|
||||
from transformers import FlaxBertForPreTraining, FlaxBertForQuestionAnswering, FlaxBertForSequenceClassification
|
||||
|
||||
@@ -107,18 +104,6 @@ class GenericUtilTests(unittest.TestCase):
|
||||
|
||||
self.assertEqual(find_labels(DummyModel), ["labels"])
|
||||
|
||||
@require_tf
|
||||
def test_find_labels_tf(self):
|
||||
self.assertEqual(find_labels(TFBertForSequenceClassification), ["labels"])
|
||||
self.assertEqual(find_labels(TFBertForPreTraining), ["labels", "next_sentence_label"])
|
||||
self.assertEqual(find_labels(TFBertForQuestionAnswering), ["start_positions", "end_positions"])
|
||||
|
||||
# find_labels works regardless of the class name (it detects the framework through inheritance)
|
||||
class DummyModel(TFBertForSequenceClassification):
|
||||
pass
|
||||
|
||||
self.assertEqual(find_labels(DummyModel), ["labels"])
|
||||
|
||||
@require_flax
|
||||
def test_find_labels_flax(self):
|
||||
# Flax models don't have labels
|
||||
|
||||
@@ -19,14 +19,13 @@ import numpy as np
|
||||
|
||||
from transformers.configuration_utils import PretrainedConfig
|
||||
from transformers.modeling_outputs import BaseModelOutput
|
||||
from transformers.testing_utils import require_flax, require_tf, require_torch
|
||||
from transformers.testing_utils import require_flax, require_torch
|
||||
from transformers.utils import (
|
||||
can_return_tuple,
|
||||
expand_dims,
|
||||
filter_out_non_signature_kwargs,
|
||||
flatten_dict,
|
||||
is_flax_available,
|
||||
is_tf_available,
|
||||
is_torch_available,
|
||||
reshape,
|
||||
squeeze,
|
||||
@@ -38,9 +37,6 @@ from transformers.utils import (
|
||||
if is_flax_available():
|
||||
import jax.numpy as jnp
|
||||
|
||||
if is_tf_available():
|
||||
import tensorflow as tf
|
||||
|
||||
if is_torch_available():
|
||||
import torch
|
||||
|
||||
@@ -88,16 +84,6 @@ class GenericTester(unittest.TestCase):
|
||||
t = torch.tensor(x)
|
||||
self.assertTrue(np.allclose(transpose(x, axes=(1, 2, 0)), transpose(t, axes=(1, 2, 0)).numpy()))
|
||||
|
||||
@require_tf
|
||||
def test_transpose_tf(self):
|
||||
x = np.random.randn(3, 4)
|
||||
t = tf.constant(x)
|
||||
self.assertTrue(np.allclose(transpose(x), transpose(t).numpy()))
|
||||
|
||||
x = np.random.randn(3, 4, 5)
|
||||
t = tf.constant(x)
|
||||
self.assertTrue(np.allclose(transpose(x, axes=(1, 2, 0)), transpose(t, axes=(1, 2, 0)).numpy()))
|
||||
|
||||
@require_flax
|
||||
def test_transpose_flax(self):
|
||||
x = np.random.randn(3, 4)
|
||||
@@ -125,16 +111,6 @@ class GenericTester(unittest.TestCase):
|
||||
t = torch.tensor(x)
|
||||
self.assertTrue(np.allclose(reshape(x, (12, 5)), reshape(t, (12, 5)).numpy()))
|
||||
|
||||
@require_tf
|
||||
def test_reshape_tf(self):
|
||||
x = np.random.randn(3, 4)
|
||||
t = tf.constant(x)
|
||||
self.assertTrue(np.allclose(reshape(x, (4, 3)), reshape(t, (4, 3)).numpy()))
|
||||
|
||||
x = np.random.randn(3, 4, 5)
|
||||
t = tf.constant(x)
|
||||
self.assertTrue(np.allclose(reshape(x, (12, 5)), reshape(t, (12, 5)).numpy()))
|
||||
|
||||
@require_flax
|
||||
def test_reshape_flax(self):
|
||||
x = np.random.randn(3, 4)
|
||||
@@ -162,16 +138,6 @@ class GenericTester(unittest.TestCase):
|
||||
t = torch.tensor(x)
|
||||
self.assertTrue(np.allclose(squeeze(x, axis=2), squeeze(t, axis=2).numpy()))
|
||||
|
||||
@require_tf
|
||||
def test_squeeze_tf(self):
|
||||
x = np.random.randn(1, 3, 4)
|
||||
t = tf.constant(x)
|
||||
self.assertTrue(np.allclose(squeeze(x), squeeze(t).numpy()))
|
||||
|
||||
x = np.random.randn(1, 4, 1, 5)
|
||||
t = tf.constant(x)
|
||||
self.assertTrue(np.allclose(squeeze(x, axis=2), squeeze(t, axis=2).numpy()))
|
||||
|
||||
@require_flax
|
||||
def test_squeeze_flax(self):
|
||||
x = np.random.randn(1, 3, 4)
|
||||
@@ -192,12 +158,6 @@ class GenericTester(unittest.TestCase):
|
||||
t = torch.tensor(x)
|
||||
self.assertTrue(np.allclose(expand_dims(x, axis=1), expand_dims(t, axis=1).numpy()))
|
||||
|
||||
@require_tf
|
||||
def test_expand_dims_tf(self):
|
||||
x = np.random.randn(3, 4)
|
||||
t = tf.constant(x)
|
||||
self.assertTrue(np.allclose(expand_dims(x, axis=1), expand_dims(t, axis=1).numpy()))
|
||||
|
||||
@require_flax
|
||||
def test_expand_dims_flax(self):
|
||||
x = np.random.randn(3, 4)
|
||||
@@ -232,18 +192,6 @@ class GenericTester(unittest.TestCase):
|
||||
|
||||
self.assertTrue(to_py_obj([t1, t2]) == [x1, x2])
|
||||
|
||||
@require_tf
|
||||
def test_to_py_obj_tf(self):
|
||||
x1 = [[1, 2, 3], [4, 5, 6]]
|
||||
t1 = tf.constant(x1)
|
||||
self.assertTrue(to_py_obj(t1) == x1)
|
||||
|
||||
x2 = [[1.0, 2.0, 3.0], [4.0, 5.0, 6.0]]
|
||||
t2 = tf.constant(x2)
|
||||
self.assertTrue(to_py_obj(t2) == x2)
|
||||
|
||||
self.assertTrue(to_py_obj([t1, t2]) == [x1, x2])
|
||||
|
||||
@require_flax
|
||||
def test_to_py_obj_flax(self):
|
||||
x1 = [[1, 2, 3], [4, 5, 6]]
|
||||
@@ -256,25 +204,6 @@ class GenericTester(unittest.TestCase):
|
||||
|
||||
self.assertTrue(to_py_obj([t1, t2]) == [x1, x2])
|
||||
|
||||
@require_torch
|
||||
@require_tf
|
||||
@require_flax
|
||||
def test_to_py_obj_mixed(self):
|
||||
x1 = [[1], [2]]
|
||||
t1 = np.array(x1)
|
||||
|
||||
x2 = [[1.0, 2.0, 3.0], [4.0, 5.0, 6.0]]
|
||||
t2 = torch.tensor(x2)
|
||||
|
||||
x3 = [1, 2, 3]
|
||||
t3 = tf.constant(x3)
|
||||
|
||||
x4 = [[[1.0, 2.0]]]
|
||||
t4 = jnp.array(x4)
|
||||
|
||||
mixed = [(t1, t2), (t3, t4)]
|
||||
self.assertTrue(to_py_obj(mixed) == [[x1, x2], [x3, x4]])
|
||||
|
||||
|
||||
class ValidationDecoratorTester(unittest.TestCase):
|
||||
def test_cases_no_warning(self):
|
||||
|
||||
@@ -61,7 +61,6 @@ from transformers.testing_utils import (
|
||||
require_non_hpu,
|
||||
require_read_token,
|
||||
require_safetensors,
|
||||
require_tf,
|
||||
require_torch,
|
||||
require_torch_accelerator,
|
||||
require_torch_multi_accelerator,
|
||||
@@ -79,7 +78,6 @@ from transformers.utils.import_utils import (
|
||||
is_flash_attn_2_available,
|
||||
is_flash_attn_3_available,
|
||||
is_flax_available,
|
||||
is_tf_available,
|
||||
is_torch_npu_available,
|
||||
is_torch_sdpa_available,
|
||||
)
|
||||
@@ -322,9 +320,6 @@ class TestModelGammaBeta(PreTrainedModel):
|
||||
if is_flax_available():
|
||||
from transformers import FlaxBertModel
|
||||
|
||||
if is_tf_available():
|
||||
from transformers import TFBertModel
|
||||
|
||||
|
||||
TINY_T5 = "patrickvonplaten/t5-tiny-random"
|
||||
TINY_BERT_FOR_TOKEN_CLASSIFICATION = "hf-internal-testing/tiny-bert-for-token-classification"
|
||||
@@ -1535,27 +1530,6 @@ class ModelUtilsTest(TestCasePlus):
|
||||
for p1, p2 in zip(hub_model.parameters(), new_model.parameters()):
|
||||
self.assertTrue(torch.equal(p1, p2))
|
||||
|
||||
@require_tf
|
||||
@require_safetensors
|
||||
def test_safetensors_torch_from_tf(self):
|
||||
hub_model = BertModel.from_pretrained("hf-internal-testing/tiny-bert-pt-only")
|
||||
model = TFBertModel.from_pretrained("hf-internal-testing/tiny-bert-tf-only")
|
||||
|
||||
with tempfile.TemporaryDirectory() as tmp_dir:
|
||||
model.save_pretrained(tmp_dir, safe_serialization=True)
|
||||
new_model = BertModel.from_pretrained(tmp_dir)
|
||||
|
||||
for p1, p2 in zip(hub_model.parameters(), new_model.parameters()):
|
||||
self.assertTrue(torch.equal(p1, p2))
|
||||
|
||||
@require_tf
|
||||
def test_torch_from_tf(self):
|
||||
model = TFBertModel.from_pretrained("hf-internal-testing/tiny-bert-tf-only")
|
||||
|
||||
with tempfile.TemporaryDirectory() as tmp_dir:
|
||||
model.save_pretrained(tmp_dir)
|
||||
_ = BertModel.from_pretrained(tmp_dir, from_tf=True)
|
||||
|
||||
@require_safetensors
|
||||
def test_safetensors_torch_from_torch_sharded(self):
|
||||
model = BertModel.from_pretrained("hf-internal-testing/tiny-bert-pt-only")
|
||||
|
||||
Reference in New Issue
Block a user