From 81ec8028f97e7c3cc3fb03536f408c88db14c6f7 Mon Sep 17 00:00:00 2001 From: Matt Date: Tue, 12 Mar 2024 12:22:29 +0000 Subject: [PATCH] Stop passing None to compile() in TF examples (#29597) * Fix examples to stop passing None to compile(), rework example invocation for run_text_classification.py * Add Amy's fix --- .../image-classification/run_image_classification.py | 2 +- examples/tensorflow/multiple-choice/run_swag.py | 2 +- examples/tensorflow/question-answering/run_qa.py | 3 ++- examples/tensorflow/summarization/run_summarization.py | 2 +- examples/tensorflow/text-classification/README.md | 5 ++++- examples/tensorflow/text-classification/run_glue.py | 2 +- .../text-classification/run_text_classification.py | 2 +- examples/tensorflow/translation/run_translation.py | 2 +- 8 files changed, 12 insertions(+), 8 deletions(-) diff --git a/examples/tensorflow/image-classification/run_image_classification.py b/examples/tensorflow/image-classification/run_image_classification.py index 7c16e572fe..e43de8e82a 100644 --- a/examples/tensorflow/image-classification/run_image_classification.py +++ b/examples/tensorflow/image-classification/run_image_classification.py @@ -509,7 +509,7 @@ def main(): collate_fn=collate_fn, ).with_options(dataset_options) else: - optimizer = None + optimizer = "sgd" # Just write anything because we won't be using it if training_args.do_eval: eval_dataset = model.prepare_tf_dataset( diff --git a/examples/tensorflow/multiple-choice/run_swag.py b/examples/tensorflow/multiple-choice/run_swag.py index 1eb138eb51..72f9c4992c 100644 --- a/examples/tensorflow/multiple-choice/run_swag.py +++ b/examples/tensorflow/multiple-choice/run_swag.py @@ -482,7 +482,7 @@ def main(): adam_global_clipnorm=training_args.max_grad_norm, ) else: - optimizer = None + optimizer = "sgd" # Just write anything because we won't be using it # Transformers models compute the right loss for their task by default when labels are passed, and will # use this for training unless you specify your own loss function in compile(). model.compile(optimizer=optimizer, metrics=["accuracy"], jit_compile=training_args.xla) diff --git a/examples/tensorflow/question-answering/run_qa.py b/examples/tensorflow/question-answering/run_qa.py index c1c052a33a..001218bd3b 100755 --- a/examples/tensorflow/question-answering/run_qa.py +++ b/examples/tensorflow/question-answering/run_qa.py @@ -706,7 +706,8 @@ def main(): model.compile(optimizer=optimizer, jit_compile=training_args.xla, metrics=["accuracy"]) else: - model.compile(optimizer=None, jit_compile=training_args.xla, metrics=["accuracy"]) + # Optimizer doesn't matter as it won't be used anyway + model.compile(optimizer="sgd", jit_compile=training_args.xla, metrics=["accuracy"]) training_dataset = None if training_args.do_eval: diff --git a/examples/tensorflow/summarization/run_summarization.py b/examples/tensorflow/summarization/run_summarization.py index a07b8e6dd9..0cbfd1cedd 100644 --- a/examples/tensorflow/summarization/run_summarization.py +++ b/examples/tensorflow/summarization/run_summarization.py @@ -621,7 +621,7 @@ def main(): adam_global_clipnorm=training_args.max_grad_norm, ) else: - optimizer = None + optimizer = "sgd" # Just write anything because we won't be using it # endregion diff --git a/examples/tensorflow/text-classification/README.md b/examples/tensorflow/text-classification/README.md index b8bc0b367c..08d0324b51 100644 --- a/examples/tensorflow/text-classification/README.md +++ b/examples/tensorflow/text-classification/README.md @@ -75,7 +75,10 @@ python run_text_classification.py \ --train_file training_data.json \ --validation_file validation_data.json \ --output_dir output/ \ ---test_file data_to_predict.json +--test_file data_to_predict.json \ +--do_train \ +--do_eval \ +--do_predict ``` ## run_glue.py diff --git a/examples/tensorflow/text-classification/run_glue.py b/examples/tensorflow/text-classification/run_glue.py index 0e6f799e22..f1d0c835b9 100644 --- a/examples/tensorflow/text-classification/run_glue.py +++ b/examples/tensorflow/text-classification/run_glue.py @@ -477,7 +477,7 @@ def main(): adam_global_clipnorm=training_args.max_grad_norm, ) else: - optimizer = "adam" # Just write anything because we won't be using it + optimizer = "sgd" # Just write anything because we won't be using it if is_regression: metrics = [] else: diff --git a/examples/tensorflow/text-classification/run_text_classification.py b/examples/tensorflow/text-classification/run_text_classification.py index bfa2c63dba..47b8b76850 100644 --- a/examples/tensorflow/text-classification/run_text_classification.py +++ b/examples/tensorflow/text-classification/run_text_classification.py @@ -526,7 +526,7 @@ def main(): adam_global_clipnorm=training_args.max_grad_norm, ) else: - optimizer = None + optimizer = "sgd" # Just use any default if is_regression: metrics = [] else: diff --git a/examples/tensorflow/translation/run_translation.py b/examples/tensorflow/translation/run_translation.py index 787e436a7c..7c5286cf1f 100644 --- a/examples/tensorflow/translation/run_translation.py +++ b/examples/tensorflow/translation/run_translation.py @@ -584,7 +584,7 @@ def main(): adam_global_clipnorm=training_args.max_grad_norm, ) else: - optimizer = None + optimizer = "sgd" # Just write anything because we won't be using it # endregion # region Metric and postprocessing