From 9863f7d2287028230784ac6a43f4d159e257fc8b Mon Sep 17 00:00:00 2001 From: Patrick von Platen Date: Tue, 1 Mar 2022 11:26:20 +0100 Subject: [PATCH] [Benchmark tools] Deprecate all (#15848) * [Benchmark tools] Deprecate all * up --- docs/source/benchmarks.mdx | 7 +++++++ src/transformers/benchmark/benchmark_args_utils.py | 9 +++++++++ src/transformers/benchmark/benchmark_utils.py | 8 ++++++++ 3 files changed, 24 insertions(+) diff --git a/docs/source/benchmarks.mdx b/docs/source/benchmarks.mdx index 7182e4d39f..da7ff5f12d 100644 --- a/docs/source/benchmarks.mdx +++ b/docs/source/benchmarks.mdx @@ -12,6 +12,13 @@ specific language governing permissions and limitations under the License. # Benchmarks + + +Hugging Face's Benchmarking tools are deprecated and it is advised to use external Benchmarking libraries to measure the speed +and memory complexity of Transformer models. + + + [[open-in-colab]] Let's take a look at how 🤗 Transformers models can be benchmarked, best practices, and already available benchmarks. diff --git a/src/transformers/benchmark/benchmark_args_utils.py b/src/transformers/benchmark/benchmark_args_utils.py index 0c2d90f5a4..b2f76f809f 100644 --- a/src/transformers/benchmark/benchmark_args_utils.py +++ b/src/transformers/benchmark/benchmark_args_utils.py @@ -16,6 +16,7 @@ import dataclasses import json +import warnings from dataclasses import dataclass, field from time import time from typing import List @@ -121,6 +122,14 @@ class BenchmarkArguments: }, ) + def __post_init__(self): + warnings.warn( + f"The class {self.__class__} is deprecated. Hugging Face Benchmarking utils" + " are deprecated in general and it is advised to use external Benchmarking libraries " + " to benchmark Transformer models.", + FutureWarning, + ) + def to_json_string(self): """ Serializes this instance to a JSON string. diff --git a/src/transformers/benchmark/benchmark_utils.py b/src/transformers/benchmark/benchmark_utils.py index c8a25ccf21..dfddd41c52 100644 --- a/src/transformers/benchmark/benchmark_utils.py +++ b/src/transformers/benchmark/benchmark_utils.py @@ -23,6 +23,7 @@ import linecache import os import platform import sys +import warnings from abc import ABC, abstractmethod from collections import defaultdict, namedtuple from datetime import datetime @@ -617,6 +618,13 @@ class Benchmark(ABC): else: self.config_dict = {model_name: config for model_name, config in zip(self.args.model_names, configs)} + warnings.warn( + f"The class {self.__class__} is deprecated. Hugging Face Benchmarking utils" + " are deprecated in general and it is advised to use external Benchmarking libraries " + " to benchmark Transformer models.", + FutureWarning, + ) + if self.args.memory and os.getenv("TRANSFORMERS_USE_MULTIPROCESSING") == 0: logger.warning( "Memory consumption will not be measured accurately if `args.multi_process` is set to `False.` The flag 'TRANSFORMERS_USE_MULTIPROCESSING' should only be disabled for debugging / testing."