MCPcopy
hub / github.com/huggingface/transformers / adapt_configs

Function adapt_configs

benchmark_v2/framework/benchmark_config.py:217–252  ·  view source on GitHub ↗
(
    configs: list[BenchmarkConfig],
    warmup_iterations: int | list[int] = 5,
    measurement_iterations: int | list[int] = 20,
    batch_size: int | list[int] = 1,
    sequence_length: int | list[int] = 128,
    num_tokens_to_generate: int | list[int] = 128,
    gpu_monitoring: bool | list[bool] = True,
)

Source from the content-addressed store, hash-verified

215
216
217def adapt_configs(
218 configs: list[BenchmarkConfig],
219 warmup_iterations: int | list[int] = 5,
220 measurement_iterations: int | list[int] = 20,
221 batch_size: int | list[int] = 1,
222 sequence_length: int | list[int] = 128,
223 num_tokens_to_generate: int | list[int] = 128,
224 gpu_monitoring: bool | list[bool] = True,
225) -> list[BenchmarkConfig]:
226 parameters = (
227 x if isinstance(x, list) else [x]
228 for x in [
229 warmup_iterations,
230 measurement_iterations,
231 batch_size,
232 sequence_length,
233 num_tokens_to_generate,
234 gpu_monitoring,
235 ]
236 )
237 iterator = itertools.product(*parameters)
238
239 adapted_configs = []
240 for warmup_iters, measurement_iters, bs, seqlen, ntok, monitor in iterator:
241 for config in configs:
242 config = config.to_dict()
243 config["warmup_iterations"] = warmup_iters
244 config["measurement_iterations"] = measurement_iters
245 config["batch_size"] = bs
246 config["sequence_length"] = seqlen
247 config["num_tokens_to_generate"] = ntok
248 config["gpu_monitoring"] = monitor
249 # Remove the old name so it gets re-inferred with the updated values
250 config.pop("name", None)
251 adapted_configs.append(BenchmarkConfig.from_dict(config))
252 return adapted_configs
253
254
255def get_config_by_level(level: int) -> list[BenchmarkConfig]:

Callers 1

run_benchmarks.pyFile · 0.90

Calls 3

to_dictMethod · 0.45
popMethod · 0.45
from_dictMethod · 0.45

Tested by

no test coverage detected