Even more TF test fixes (#28146)
* Fix vision text dual encoder * Small cleanup for wav2vec2 (not fixed yet) * Small fix for vision_encoder_decoder * Fix SAM builds * Update TFBertTokenizer test with modern exporting + tokenizer * Fix DeBERTa * Fix DeBERTav2 * Try RAG fix but it's impossible to test locally * Actually fix RAG now that I got FAISS working somehow * Fix Wav2Vec2, add sermon * Fix Hubert
This commit is contained in:
@@ -28,7 +28,7 @@ if is_tf_available():
|
||||
|
||||
def call(self, inputs):
|
||||
tokenized = self.tokenizer(inputs)
|
||||
out = self.bert(**tokenized)
|
||||
out = self.bert(tokenized)
|
||||
return out["pooler_output"]
|
||||
|
||||
|
||||
@@ -41,13 +41,8 @@ class BertTokenizationTest(unittest.TestCase):
|
||||
def setUp(self):
|
||||
super().setUp()
|
||||
|
||||
self.tokenizers = [
|
||||
BertTokenizer.from_pretrained(checkpoint) for checkpoint in (TOKENIZER_CHECKPOINTS * 2)
|
||||
] # repeat for when fast_bert_tokenizer=false
|
||||
self.tf_tokenizers = [TFBertTokenizer.from_pretrained(checkpoint) for checkpoint in TOKENIZER_CHECKPOINTS] + [
|
||||
TFBertTokenizer.from_pretrained(checkpoint, use_fast_bert_tokenizer=False)
|
||||
for checkpoint in TOKENIZER_CHECKPOINTS
|
||||
]
|
||||
self.tokenizers = [BertTokenizer.from_pretrained(checkpoint) for checkpoint in TOKENIZER_CHECKPOINTS]
|
||||
self.tf_tokenizers = [TFBertTokenizer.from_pretrained(checkpoint) for checkpoint in TOKENIZER_CHECKPOINTS]
|
||||
assert len(self.tokenizers) == len(self.tf_tokenizers)
|
||||
|
||||
self.test_sentences = [
|
||||
@@ -94,15 +89,15 @@ class BertTokenizationTest(unittest.TestCase):
|
||||
self.assertTrue(tf.reduce_all(eager_outputs[key] == compiled_outputs[key]))
|
||||
|
||||
@slow
|
||||
def test_saved_model(self):
|
||||
def test_export_for_inference(self):
|
||||
for tf_tokenizer in self.tf_tokenizers:
|
||||
model = ModelToSave(tokenizer=tf_tokenizer)
|
||||
test_inputs = tf.convert_to_tensor(self.test_sentences)
|
||||
out = model(test_inputs) # Build model with some sample inputs
|
||||
with TemporaryDirectory() as tempdir:
|
||||
save_path = Path(tempdir) / "saved.model"
|
||||
model.save(save_path)
|
||||
loaded_model = tf.keras.models.load_model(save_path)
|
||||
loaded_output = loaded_model(test_inputs)
|
||||
model.export(save_path)
|
||||
loaded_model = tf.saved_model.load(save_path)
|
||||
loaded_output = loaded_model.serve(test_inputs)
|
||||
# We may see small differences because the loaded model is compiled, so we need an epsilon for the test
|
||||
self.assertLessEqual(tf.reduce_max(tf.abs(out - loaded_output)), 1e-5)
|
||||
|
||||
@@ -1005,6 +1005,7 @@ class TFRagModelSaveLoadTests(unittest.TestCase):
|
||||
retriever=rag_retriever,
|
||||
config=rag_config,
|
||||
)
|
||||
rag_sequence.build_in_name_scope()
|
||||
# check that the from pretrained methods work
|
||||
rag_sequence.save_pretrained(tmp_dirname)
|
||||
rag_sequence.from_pretrained(tmp_dirname, retriever=rag_retriever)
|
||||
@@ -1056,6 +1057,7 @@ class TFRagModelSaveLoadTests(unittest.TestCase):
|
||||
retriever=rag_retriever,
|
||||
config=rag_config,
|
||||
)
|
||||
rag_token.build_in_name_scope()
|
||||
# check that the from pretrained methods work
|
||||
rag_token.save_pretrained(tmp_dirname)
|
||||
rag_token.from_pretrained(tmp_dirname, retriever=rag_retriever)
|
||||
|
||||
@@ -858,6 +858,7 @@ class TFVisionEncoderDecoderModelSaveLoadTests(unittest.TestCase):
|
||||
pretrained_encoder_dir,
|
||||
pretrained_decoder_dir,
|
||||
)
|
||||
enc_dec_model.build_in_name_scope()
|
||||
# check that the from pretrained methods work
|
||||
enc_dec_model.save_pretrained(tmp_dirname)
|
||||
enc_dec_model = TFVisionEncoderDecoderModel.from_pretrained(tmp_dirname)
|
||||
|
||||
Reference in New Issue
Block a user