From 16060fd9d0fd6b590ae74cd27ec68444b8f554c0 Mon Sep 17 00:00:00 2001 From: Joao Gante Date: Tue, 19 Nov 2024 12:52:07 +0000 Subject: [PATCH 1/8] change test so it is fetched --- tests/generation/test_utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/generation/test_utils.py b/tests/generation/test_utils.py index 6630fc2ba9d1..97e962d58d21 100644 --- a/tests/generation/test_utils.py +++ b/tests/generation/test_utils.py @@ -3138,7 +3138,7 @@ def test_logits_processor_not_inplace(self): out = model.generate(input_ids, output_logits=True, output_scores=True, return_dict_in_generate=True) out_with_temp = model.generate( input_ids, - temperature=0.5, + temperature=0.6, do_sample=True, output_logits=True, output_scores=True, From c9e1e32fad8c79faa7cf567ef30e628eee83708a Mon Sep 17 00:00:00 2001 From: Joao Gante Date: Tue, 19 Nov 2024 13:44:46 +0000 Subject: [PATCH 2/8] test fetcher: allow multiple filters --- .github/conda/build.sh | 1 - .github/conda/meta.yaml | 56 ----------------------------------------- utils/tests_fetcher.py | 51 +++++++++++++++++++------------------ 3 files changed, 27 insertions(+), 81 deletions(-) delete mode 100644 .github/conda/build.sh delete mode 100644 .github/conda/meta.yaml diff --git a/.github/conda/build.sh b/.github/conda/build.sh deleted file mode 100644 index a40f1097a863..000000000000 --- a/.github/conda/build.sh +++ /dev/null @@ -1 +0,0 @@ -$PYTHON setup.py install # Python command to install the script. diff --git a/.github/conda/meta.yaml b/.github/conda/meta.yaml deleted file mode 100644 index 89dc353b1277..000000000000 --- a/.github/conda/meta.yaml +++ /dev/null @@ -1,56 +0,0 @@ -{% set name = "transformers" %} - -package: - name: "{{ name|lower }}" - version: "{{ TRANSFORMERS_VERSION }}" - -source: - path: ../../ - -build: - noarch: python - -requirements: - host: - - python - - pip - - numpy >=1.17 - - dataclasses - - huggingface_hub - - packaging - - filelock - - requests - - tqdm >=4.27 - - sacremoses - - regex !=2019.12.17 - - protobuf - - tokenizers >=0.11.1,!=0.11.3,<0.13 - - pyyaml >=5.1 - - safetensors - - fsspec - run: - - python - - numpy >=1.17 - - dataclasses - - huggingface_hub - - packaging - - filelock - - requests - - tqdm >=4.27 - - sacremoses - - regex !=2019.12.17 - - protobuf - - tokenizers >=0.11.1,!=0.11.3,<0.13 - - pyyaml >=5.1 - - safetensors - - fsspec - -test: - imports: - - transformers - -about: - home: https://huggingface.co - license: Apache License 2.0 - license_file: LICENSE - summary: "🤗Transformers: State-of-the-art Natural Language Processing for Pytorch and TensorFlow 2.0." diff --git a/utils/tests_fetcher.py b/utils/tests_fetcher.py index 906e85e1de61..9bd6a9dcc193 100644 --- a/utils/tests_fetcher.py +++ b/utils/tests_fetcher.py @@ -1132,39 +1132,42 @@ def parse_commit_message(commit_message: str) -> Dict[str, bool]: JOB_TO_TEST_FILE = { - "tests_torch_and_tf": r"tests/models/.*/test_modeling_(?:tf_|(?!flax)).*", - "tests_torch_and_flax": r"tests/models/.*/test_modeling_(?:flax|(?!tf)).*", - "tests_tf": r"tests/models/.*/test_modeling_tf_.*", - "tests_torch": r"tests/models/.*/test_modeling_(?!(?:flax_|tf_)).*", - "tests_generate": r"tests/models/.*/test_modeling_(?!(?:flax_|tf_)).*", - "tests_tokenization": r"tests/models/.*/test_tokenization.*", - "tests_processors": r"tests/models/.*/test_(?!(?:modeling_|tokenization_)).*", # takes feature extractors, image processors, processors - "examples_torch": r"examples/pytorch/.*test_.*", - "examples_tensorflow": r"examples/tensorflow/.*test_.*", - "tests_exotic_models": r"tests/models/.*(?=layoutlmv|nat|deta|udop|nougat).*", - "tests_custom_tokenizers": r"tests/models/.*/test_tokenization_(?=bert_japanese|openai|clip).*", - # "repo_utils": r"tests/[^models].*test.*", TODO later on we might want to do - "pipelines_tf": r"tests/models/.*/test_modeling_tf_.*", - "pipelines_torch": r"tests/models/.*/test_modeling_(?!(?:flax_|tf_)).*", - "tests_hub": r"tests/.*", - "tests_onnx": r"tests/models/.*/test_modeling_(?:tf_|(?!flax)).*", - "tests_non_model": r"tests/[^/]*?/test_.*\.py", + "tests_torch_and_tf": [r"tests/models/.*/test_modeling_(?:tf_|(?!flax)).*"], + "tests_torch_and_flax": [r"tests/models/.*/test_modeling_(?:flax|(?!tf)).*"], + "tests_tf": [r"tests/models/.*/test_modeling_tf_.*"], + "tests_torch": [r"tests/models/.*/test_modeling_(?!(?:flax_|tf_)).*"], + "tests_generate": [r"tests/models/.*/test_modeling_(?!(?:flax_|tf_)).*", r"tests/generation/.*"], + "tests_tokenization": [r"tests/models/.*/test_tokenization.*"], + # takes feature extractors, image processors, processors + "tests_processors": [r"tests/models/.*/test_(?!(?:modeling_|tokenization_)).*"], + "examples_torch": [r"examples/pytorch/.*test_.*"], + "examples_tensorflow": [r"examples/tensorflow/.*test_.*"], + "tests_exotic_models": [r"tests/models/.*(?=layoutlmv|nat|deta|udop|nougat).*"], + "tests_custom_tokenizers": [r"tests/models/.*/test_tokenization_(?=bert_japanese|openai|clip).*"], + # "repo_utils": [r"tests/[^models].*test.*"], TODO later on we might want to do + "pipelines_tf": [r"tests/models/.*/test_modeling_tf_.*"], + "pipelines_torch": [r"tests/models/.*/test_modeling_(?!(?:flax_|tf_)).*"], + "tests_hub": [r"tests/.*"], + "tests_onnx": [r"tests/models/.*/test_modeling_(?:tf_|(?!flax)).*"], + "tests_non_model": [r"tests/[^/]*?/test_.*\.py"], } def create_test_list_from_filter(full_test_list, out_path): os.makedirs(out_path, exist_ok=True) all_test_files = "\n".join(full_test_list) - for job_name, _filter in JOB_TO_TEST_FILE.items(): - file_name = os.path.join(out_path, f"{job_name}_test_list.txt") - if job_name == "tests_hub": - files_to_test = ["tests"] - else: - files_to_test = list(re.findall(_filter, all_test_files)) + for job_name, _filters in JOB_TO_TEST_FILE.items(): + files_to_test = [] + for _filter in _filters: + file_name = os.path.join(out_path, f"{job_name}_test_list.txt") + if job_name == "tests_hub": + files_to_test = ["tests"] + else: + files_to_test.extend(list(re.findall(_filter, all_test_files))) print(job_name, file_name) if len(files_to_test) > 0: # No tests -> no file with test list with open(file_name, "w") as f: - f.write("\n".join(files_to_test)) + f.write("\n".join(sorted(files_to_test))) if __name__ == "__main__": From a42a7dff8ae2f6ce509dfd3f2354e9eb590fbf2a Mon Sep 17 00:00:00 2001 From: Joao Gante Date: Tue, 19 Nov 2024 13:50:57 +0000 Subject: [PATCH 3/8] use sets --- utils/tests_fetcher.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/utils/tests_fetcher.py b/utils/tests_fetcher.py index 9bd6a9dcc193..bc0087e994b8 100644 --- a/utils/tests_fetcher.py +++ b/utils/tests_fetcher.py @@ -1157,17 +1157,17 @@ def create_test_list_from_filter(full_test_list, out_path): os.makedirs(out_path, exist_ok=True) all_test_files = "\n".join(full_test_list) for job_name, _filters in JOB_TO_TEST_FILE.items(): - files_to_test = [] + files_to_test = set() # Using sets to avoid duplicates when multiple filters match the same file for _filter in _filters: file_name = os.path.join(out_path, f"{job_name}_test_list.txt") if job_name == "tests_hub": files_to_test = ["tests"] else: - files_to_test.extend(list(re.findall(_filter, all_test_files))) + files_to_test.union(set(re.findall(_filter, all_test_files))) print(job_name, file_name) if len(files_to_test) > 0: # No tests -> no file with test list with open(file_name, "w") as f: - f.write("\n".join(sorted(files_to_test))) + f.write("\n".join(sorted(list(files_to_test)))) if __name__ == "__main__": From db1701989662b2538731bead86ce1a466d82df19 Mon Sep 17 00:00:00 2001 From: Joao Gante Date: Tue, 19 Nov 2024 13:51:44 +0000 Subject: [PATCH 4/8] use sets --- utils/tests_fetcher.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/utils/tests_fetcher.py b/utils/tests_fetcher.py index bc0087e994b8..159bc913f2d6 100644 --- a/utils/tests_fetcher.py +++ b/utils/tests_fetcher.py @@ -1161,7 +1161,7 @@ def create_test_list_from_filter(full_test_list, out_path): for _filter in _filters: file_name = os.path.join(out_path, f"{job_name}_test_list.txt") if job_name == "tests_hub": - files_to_test = ["tests"] + files_to_test.add("tests") else: files_to_test.union(set(re.findall(_filter, all_test_files))) print(job_name, file_name) From 76312d03253784e538969893087cf97ff6acf427 Mon Sep 17 00:00:00 2001 From: Joao Gante Date: Tue, 19 Nov 2024 13:55:56 +0000 Subject: [PATCH 5/8] sorted set --- utils/tests_fetcher.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/utils/tests_fetcher.py b/utils/tests_fetcher.py index 159bc913f2d6..165c68fe852d 100644 --- a/utils/tests_fetcher.py +++ b/utils/tests_fetcher.py @@ -1167,7 +1167,7 @@ def create_test_list_from_filter(full_test_list, out_path): print(job_name, file_name) if len(files_to_test) > 0: # No tests -> no file with test list with open(file_name, "w") as f: - f.write("\n".join(sorted(list(files_to_test)))) + f.write("\n".join(sorted(files_to_test))) if __name__ == "__main__": From c040faf3da84c74499e942ad4dd9c497fd8ce866 Mon Sep 17 00:00:00 2001 From: Joao Gante Date: Tue, 19 Nov 2024 14:29:38 +0000 Subject: [PATCH 6/8] tmp --- test_preparation/tests_hub_test_list.txt | 1 + utils/tests_fetcher.py | 1 + 2 files changed, 2 insertions(+) create mode 100644 test_preparation/tests_hub_test_list.txt diff --git a/test_preparation/tests_hub_test_list.txt b/test_preparation/tests_hub_test_list.txt new file mode 100644 index 000000000000..3598c3003fd4 --- /dev/null +++ b/test_preparation/tests_hub_test_list.txt @@ -0,0 +1 @@ +tests \ No newline at end of file diff --git a/utils/tests_fetcher.py b/utils/tests_fetcher.py index 165c68fe852d..4d002157156a 100644 --- a/utils/tests_fetcher.py +++ b/utils/tests_fetcher.py @@ -1165,6 +1165,7 @@ def create_test_list_from_filter(full_test_list, out_path): else: files_to_test.union(set(re.findall(_filter, all_test_files))) print(job_name, file_name) + breakpoint() if len(files_to_test) > 0: # No tests -> no file with test list with open(file_name, "w") as f: f.write("\n".join(sorted(files_to_test))) From 70fee47e71ab372137aecc1dcd6569f6c30236c2 Mon Sep 17 00:00:00 2001 From: Joao Gante Date: Tue, 19 Nov 2024 14:30:19 +0000 Subject: [PATCH 7/8] tmp --- utils/tests_fetcher.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/utils/tests_fetcher.py b/utils/tests_fetcher.py index 4d002157156a..5978fbe3ded2 100644 --- a/utils/tests_fetcher.py +++ b/utils/tests_fetcher.py @@ -1163,7 +1163,7 @@ def create_test_list_from_filter(full_test_list, out_path): if job_name == "tests_hub": files_to_test.add("tests") else: - files_to_test.union(set(re.findall(_filter, all_test_files))) + files_to_test = files_to_test.union(set(re.findall(_filter, all_test_files))) print(job_name, file_name) breakpoint() if len(files_to_test) > 0: # No tests -> no file with test list From 706dcd8c5587d3259aff0fc3b52a4fc8b3e20655 Mon Sep 17 00:00:00 2001 From: Joao Gante Date: Tue, 19 Nov 2024 14:31:07 +0000 Subject: [PATCH 8/8] correct union --- utils/tests_fetcher.py | 1 - 1 file changed, 1 deletion(-) diff --git a/utils/tests_fetcher.py b/utils/tests_fetcher.py index 5978fbe3ded2..43523e214110 100644 --- a/utils/tests_fetcher.py +++ b/utils/tests_fetcher.py @@ -1165,7 +1165,6 @@ def create_test_list_from_filter(full_test_list, out_path): else: files_to_test = files_to_test.union(set(re.findall(_filter, all_test_files))) print(job_name, file_name) - breakpoint() if len(files_to_test) > 0: # No tests -> no file with test list with open(file_name, "w") as f: f.write("\n".join(sorted(files_to_test)))