.ext_test_case

The module contains the main class ExtTestCase which adds specific functionalities to this project.

class experimental_experiment.ext_test_case.ExtTestCase(methodName='runTest')[source]

Inherits from unittest.TestCase and adds specific comprison functions and other helpers.

assertAlmostEqual(expected: ndarray, value: ndarray, atol: float = 0, rtol: float = 0)[source]

In the name

assertEmpty(value: Any)[source]

In the name

assertEqual(expected: Any, value: Any, msg: str = '')[source]

Overwrites the error message to get a more explicit message about what is what.

assertEqualArray(expected: ndarray, value: ndarray, atol: float = 0, rtol: float = 0, msg: str | None = None)[source]

In the name

assertEqualArrays(expected: Sequence[ndarray], value: Sequence[ndarray], atol: float = 0, rtol: float = 0, msg: str | None = None)[source]

In the name

assertEqualOr(value: Any, expected: Tuple[Any, ...])[source]

Checks if value is one or the expected values.

assertExists(name)[source]

Checks the existing of a file.

assertGreaterOrEqual(a, b, msg=None)[source]

In the name

assertIn(tofind: str, text: str, msg: str = '')[source]

Just like self.assertTrue(a in b), but with a nicer default message.

assertNotEmpty(value: Any)[source]

In the name

assertRaise(fct: Callable, exc_type: type[Exception], msg: str | None = None)[source]

In the name

assertSetContained(set1, set2)[source]

Checks that set1 is contained in set2.

assertStartsWith(prefix: str, full: str)[source]

In the name

capture(fct: Callable)[source]

Runs a function and capture standard output and error.

Parameters:

fct – function to run

Returns:

result of fct, output, error

dump_onnx(name: str, proto: Any, folder: str | None = None) str[source]

Dumps an onnx file.

get_dump_file(name: str, folder: str | None = None) str[source]

Returns a filename to dump a model.

print_model(model: ModelProto)[source]

Prints a ModelProto

print_onnx(model: ModelProto)[source]

Prints a ModelProto

classmethod setUpClass()[source]

Hook method for setting up class fixture before running tests in the class.

classmethod tearDownClass()[source]

Hook method for deconstructing the class fixture after running all tests in the class.

classmethod todo(f: Callable, msg: str)[source]

Adds a todo printed when all test are run.

tryCall(fct: Callable, msg: str | None = None, none_if: str | None = None) Any | None[source]

Calls the function, catch any error.

Parameters:
  • fct – function to call

  • msg – error message to display if failing

  • none_if – returns None if this substring is found in the error message

Returns:

output of fct

experimental_experiment.ext_test_case.dump_dort_onnx(fn)[source]

Context manager to dump onnx model created by dort.

experimental_experiment.ext_test_case.get_figure(ax)[source]

Returns the figure of a matplotlib figure.

experimental_experiment.ext_test_case.has_cuda() bool[source]

Returns torch.cuda.device_count() > 0.

experimental_experiment.ext_test_case.has_executorch(version: str = '', msg: str = '') Callable[source]

Tells if ExecuTorch is installed.

experimental_experiment.ext_test_case.has_onnxruntime_training(push_back_batch: bool = False)[source]

Tells if onnxruntime_training is installed.

experimental_experiment.ext_test_case.has_onnxscript(version: str, msg: str = '') Callable[source]

Skips a unit test if onnxscript is not recent enough.

experimental_experiment.ext_test_case.has_torch(version: str) bool[source]

Returns True if torch verions is higher.

experimental_experiment.ext_test_case.hide_stdout(f: Callable | None = None) Callable[source]

Catches warnings, hides standard output. The function may be disabled by setting UNHIDE=1 before running the unit test.

Parameters:

f – the function is called with the stdout as an argument

experimental_experiment.ext_test_case.ignore_warnings(warns: List[Warning]) Callable[source]

Catches warnings.

Parameters:

warns – warnings to ignore

experimental_experiment.ext_test_case.is_azure() bool[source]

Tells if the job is running on Azure DevOps.

experimental_experiment.ext_test_case.long_test(msg: str = '') Callable[source]

Skips a unit test if it runs on azure pipeline on Windows.

experimental_experiment.ext_test_case.measure_time(stmt: str | Callable, context: Dict[str, Any] | None = None, repeat: int = 10, number: int = 50, warmup: int = 1, div_by_number: bool = True, max_time: float | None = None) Dict[str, str | int | float][source]

Measures a statement and returns the results as a dictionary.

Parameters:
  • stmt – string or callable

  • context – variable to know in a dictionary

  • repeat – average over repeat experiment

  • number – number of executions in one row

  • warmup – number of iteration to do before starting the real measurement

  • div_by_number – divide by the number of executions

  • max_time – execute the statement until the total goes beyond this time (approximatively), repeat is ignored, div_by_number must be set to True

Returns:

dictionary

<<<

from pprint import pprint
from math import cos
from experimental_experiment.ext_test_case import measure_time

res = measure_time(lambda: cos(0.5))
pprint(res)

>>>

    {'average': np.float64(6.213200049387524e-08),
     'context_size': 64,
     'deviation': np.float64(5.660813960705014e-09),
     'max_exec': np.float64(7.783999990351731e-08),
     'min_exec': np.float64(5.8120003814110535e-08),
     'number': 50,
     'repeat': 10,
     'ttime': np.float64(6.213200049387524e-07),
     'warmup_time': 2.4139999368344434e-06}

See Timer.repeat for a better understanding of parameter repeat and number. The function returns a duration corresponding to number times the execution of the main statement.

experimental_experiment.ext_test_case.never_test(msg: str = '') Callable[source]

Skips a unit test.

experimental_experiment.ext_test_case.requires_cuda(msg: str = '', version: str = '', memory: int = 0)[source]

Skips a test if cuda is not available.

Parameters:
  • msg – to overwrite the message

  • version – minimum version

  • memory – minimun number of Gb to run the test

experimental_experiment.ext_test_case.requires_diffusers(version: str, msg: str = '', or_older_than: str | None = None) Callable[source]

Skips a unit test if transformers is not recent enough.

experimental_experiment.ext_test_case.requires_executorch(version: str, msg: str = '') Callable[source]

Skips a unit test if executorch is not recent enough.

experimental_experiment.ext_test_case.requires_monai(version: str = '', msg: str = '') Callable[source]

Skips a unit test if monai is not recent enough.

experimental_experiment.ext_test_case.requires_numpy(version: str, msg: str = '') Callable[source]

Skips a unit test if numpy is not recent enough.

experimental_experiment.ext_test_case.requires_onnx(version: str, msg: str = '') Callable[source]

Skips a unit test if onnx is not recent enough.

experimental_experiment.ext_test_case.requires_onnx_array_api(version: str, msg: str = '') Callable[source]

Skips a unit test if onnx-array-api is not recent enough.

experimental_experiment.ext_test_case.requires_onnx_diagnostic(version: str, msg: str = '') Callable[source]

Skips a unit test if onnx-diagnostic is not recent enough.

experimental_experiment.ext_test_case.requires_onnxruntime(version: str, msg: str = '') Callable[source]

Skips a unit test if onnxruntime is not recent enough.

experimental_experiment.ext_test_case.requires_onnxruntime_training(push_back_batch: bool = False, ortmodule: bool = False, msg: str = '') Callable[source]

Skips a unit test if onnxruntime is not onnxruntime_training.

experimental_experiment.ext_test_case.requires_onnxscript(version: str, msg: str = '') Callable[source]

Skips a unit test if onnxscript is not recent enough.

experimental_experiment.ext_test_case.requires_pyinstrument(version: str = '', msg: str = '') Callable[source]

Skips a unit test if pyinstrument is not recent enough.

experimental_experiment.ext_test_case.requires_sklearn(version: str, msg: str = '') Callable[source]

Skips a unit test if scikit-learn is not recent enough.

experimental_experiment.ext_test_case.requires_torch(version: str, msg: str = '') Callable[source]

Skips a unit test if pytorch is not recent enough.

experimental_experiment.ext_test_case.requires_transformers(version: str, msg: str = '', or_older_than: str | None = None) Callable[source]

Skips a unit test if transformers is not recent enough.

experimental_experiment.ext_test_case.requires_vocos(version: str = '', msg: str = '') Callable[source]

Skips a unit test if vocos is not recent enough.

experimental_experiment.ext_test_case.requires_zoo(msg: str = '') Callable[source]

Skips a unit test if environment variable ZOO is not equal to 1.

experimental_experiment.ext_test_case.skipif_ci_apple(msg) Callable[source]

Skips a unit test if it runs on azure pipeline on Windows.

experimental_experiment.ext_test_case.skipif_ci_linux(msg) Callable[source]

Skips a unit test if it runs on azure pipeline on Linux.

experimental_experiment.ext_test_case.skipif_ci_windows(msg) Callable[source]

Skips a unit test if it runs on azure pipeline on Windows.

experimental_experiment.ext_test_case.skipif_not_onnxrt(msg) Callable[source]

Skips a unit test if it runs on azure pipeline on Windows.

experimental_experiment.ext_test_case.skipif_transformers(version_to_skip: str | Set[str], msg: str) Callable[source]

Skips a unit test if transformers has a specific version.

experimental_experiment.ext_test_case.statistics_on_file(filename: str) Dict[str, str | int | float][source]

Computes statistics on a file.

<<<

import pprint
from experimental_experiment.ext_test_case import statistics_on_file, __file__

pprint.pprint(statistics_on_file(__file__))

>>>

    {'chars': 27170, 'ext': '.py', 'lines': 912}
experimental_experiment.ext_test_case.statistics_on_folder(folder: str | List[str], pattern: str = '.*[.]((py|rst))$', aggregation: int = 0) List[Dict[str, str | int | float]][source]

Computes statistics on files in a folder.

Parameters:
  • folder – folder or folders to investigate

  • pattern – file pattern

  • aggregation – show the first subfolders

Returns:

list of dictionaries

<<<

import os
import pprint
from experimental_experiment.ext_test_case import statistics_on_folder, __file__

pprint.pprint(statistics_on_folder(os.path.dirname(__file__)))

>>>

    [{'chars': 16379, 'ext': '.py', 'lines': 480, 'name': 'ort_session.py'},
     {'chars': 66, 'ext': '.py', 'lines': 3, 'name': '_bench_test.py'},
     {'chars': 7919, 'ext': '.py', 'lines': 265, 'name': 'torch_test_helper.py'},
     {'chars': 1807, 'ext': '.py', 'lines': 51, 'name': 'checks.py'},
     {'chars': 9990,
      'ext': '.py',
      'lines': 405,
      'name': '_command_lines_parser.py'},
     {'chars': 27170, 'ext': '.py', 'lines': 912, 'name': 'ext_test_case.py'},
     {'chars': 5677, 'ext': '.py', 'lines': 213, 'name': 'onnx_tools.py'},
     {'chars': 10909, 'ext': '.py', 'lines': 384, 'name': 'bench_run.py'},
     {'chars': 14946, 'ext': '.py', 'lines': 547, 'name': 'mini_onnx_builder.py'},
     {'chars': 2878, 'ext': '.py', 'lines': 115, 'name': 'args.py'},
     {'chars': 16382, 'ext': '.py', 'lines': 586, 'name': 'helpers.py'},
     {'chars': 235, 'ext': '.py', 'lines': 9, 'name': '__init__.py'},
     {'chars': 5287, 'ext': '.py', 'lines': 158, 'name': 'model_run.py'},
     {'chars': 65, 'ext': '.py', 'lines': 3, 'name': '__main__.py'},
     {'chars': 4328, 'ext': '.py', 'lines': 187, 'name': 'memory_peak.py'},
     {'chars': 12054,
      'ext': '.py',
      'lines': 419,
      'name': 'gradient/grad_helper.py'},
     {'chars': 17770,
      'ext': '.py',
      'lines': 498,
      'name': 'gradient/loss_helper.py'},
     {'chars': 0, 'ext': '.py', 'lines': 0, 'name': 'gradient/__init__.py'},
     {'chars': 89, 'ext': '.py', 'lines': 2, 'name': 'gradient/ops/__init__.py'},
     {'chars': 671,
      'ext': '.py',
      'lines': 42,
      'name': 'gradient/ops/op_broadcast_gradient_args.py'},
     {'chars': 751,
      'ext': '.py',
      'lines': 34,
      'name': 'reference/quantized_tensor.py'},
     {'chars': 17985,
      'ext': '.py',
      'lines': 622,
      'name': 'reference/ort_evaluator.py'},
     {'chars': 5931, 'ext': '.py', 'lines': 213, 'name': 'reference/evaluator.py'},
     {'chars': 203, 'ext': '.py', 'lines': 4, 'name': 'reference/__init__.py'},
     {'chars': 439,
      'ext': '.py',
      'lines': 20,
      'name': 'reference/ops/op_complex.py'},
     {'chars': 647,
      'ext': '.py',
      'lines': 27,
      'name': 'reference/ops/op_fused_matmul.py'},
     {'chars': 380,
      'ext': '.py',
      'lines': 14,
      'name': 'reference/ops/op_tri_matrix.py'},
     {'chars': 458,
      'ext': '.py',
      'lines': 17,
      'name': 'reference/ops/op_quick_gelu.py'},
     {'chars': 531, 'ext': '.py', 'lines': 15, 'name': 'reference/ops/op_slice.py'},
     {'chars': 2582,
      'ext': '.py',
      'lines': 88,
      'name': 'reference/ops/op_qlinear_conv.py'},
     {'chars': 1149,
      'ext': '.py',
      'lines': 59,
      'name': 'reference/ops/op_constant_of_shape.py'},
     {'chars': 667,
      'ext': '.py',
      'lines': 16,
      'name': 'reference/ops/op_scatternd_of_shape.py'},
     {'chars': 147,
      'ext': '.py',
      'lines': 5,
      'name': 'reference/ops/op_negxplus1.py'},
     {'chars': 220,
      'ext': '.py',
      'lines': 6,
      'name': 'reference/ops/op_simplified_layer_normalization.py'},
     {'chars': 295,
      'ext': '.py',
      'lines': 10,
      'name': 'reference/ops/op_transpose_cast.py'},
     {'chars': 140,
      'ext': '.py',
      'lines': 7,
      'name': 'reference/ops/op_memcpy_host.py'},
     {'chars': 1405,
      'ext': '.py',
      'lines': 51,
      'name': 'reference/ops/op_average_pool_grad.py'},
     {'chars': 317,
      'ext': '.py',
      'lines': 9,
      'name': 'reference/ops/op_gather_grad.py'},
     {'chars': 853,
      'ext': '.py',
      'lines': 35,
      'name': 'reference/ops/op_qlinear_average_pool.py'},
     {'chars': 684,
      'ext': '.py',
      'lines': 24,
      'name': 'reference/ops/op_gather.py'},
     {'chars': 1260,
      'ext': '.py',
      'lines': 47,
      'name': 'reference/ops/op_attention.py'},
     {'chars': 384,
      'ext': '.py',
      'lines': 13,
      'name': 'reference/ops/op_bias_softmax.py'},
     {'chars': 224,
      'ext': '.py',
      'lines': 10,
      'name': 'reference/ops/op_replace_zero.py'},
     {'chars': 350,
      'ext': '.py',
      'lines': 10,
      'name': 'reference/ops/op_skip_layer_normalization.py'},
     {'chars': 455,
      'ext': '.py',
      'lines': 17,
      'name': 'reference/ops/op_mul_sigmoid.py'},
     {'chars': 0, 'ext': '.py', 'lines': 0, 'name': 'reference/ops/__init__.py'},
     {'chars': 1139,
      'ext': '.py',
      'lines': 33,
      'name': 'reference/ops/op_gather_elements.py'},
     {'chars': 434,
      'ext': '.py',
      'lines': 16,
      'name': 'reference/ops/op_rotary.py'},
     {'chars': 383,
      'ext': '.py',
      'lines': 11,
      'name': 'reference/ops/op_concat.py'},
     {'chars': 1091,
      'ext': '.py',
      'lines': 44,
      'name': 'reference/ops/op_add_add_mul_mul.py'},
     {'chars': 2202,
      'ext': '.py',
      'lines': 82,
      'name': 'reference/ops/op_scatter_elements.py'},
     {'chars': 989,
      'ext': '.py',
      'lines': 31,
      'name': 'reference/ops/op_cast_like.py'},
     {'chars': 852, 'ext': '.py', 'lines': 23, 'name': 'convert/ort_helper.py'},
     {'chars': 4887,
      'ext': '.py',
      'lines': 149,
      'name': 'convert/convert_helper.py'},
     {'chars': 0, 'ext': '.py', 'lines': 0, 'name': 'convert/__init__.py'},
     {'chars': 6285, 'ext': '.py', 'lines': 377, 'name': 'plotting/data.py'},
     {'chars': 1893, 'ext': '.py', 'lines': 54, 'name': 'plotting/memory.py'},
     {'chars': 0, 'ext': '.py', 'lines': 0, 'name': 'plotting/__init__.py'},
     {'chars': 4873, 'ext': '.py', 'lines': 150, 'name': 'skl/convert.py'},
     {'chars': 1344, 'ext': '.py', 'lines': 47, 'name': 'skl/helpers.py'},
     {'chars': 25, 'ext': '.py', 'lines': 1, 'name': 'skl/__init__.py'},
     {'chars': 11498,
      'ext': '.py',
      'lines': 371,
      'name': 'torch_interpreter/piece_by_piece_serialize.py'},
     {'chars': 152, 'ext': '.py', 'lines': 4, 'name': 'torch_interpreter/_doc_.py'},
     {'chars': 11888,
      'ext': '.py',
      'lines': 478,
      'name': 'torch_interpreter/_aten_methods.py'},
     {'chars': 2976,
      'ext': '.py',
      'lines': 97,
      'name': 'torch_interpreter/control_flows.py'},
     {'chars': 7214,
      'ext': '.py',
      'lines': 254,
      'name': 'torch_interpreter/dispatcher.py'},
     {'chars': 528,
      'ext': '.py',
      'lines': 21,
      'name': 'torch_interpreter/aten_methods.py'},
     {'chars': 60097,
      'ext': '.py',
      'lines': 1918,
      'name': 'torch_interpreter/interpreter.py'},
     {'chars': 33239,
      'ext': '.py',
      'lines': 1121,
      'name': 'torch_interpreter/tracing.py'},
     {'chars': 29803,
      'ext': '.py',
      'lines': 906,
      'name': 'torch_interpreter/onnx_export.py'},
     {'chars': 1545,
      'ext': '.py',
      'lines': 57,
      'name': 'torch_interpreter/_torch_helper.py'},
     {'chars': 87,
      'ext': '.py',
      'lines': 2,
      'name': 'torch_interpreter/_exceptions.py'},
     {'chars': 82511,
      'ext': '.py',
      'lines': 2523,
      'name': 'torch_interpreter/piece_by_piece.py'},
     {'chars': 10191,
      'ext': '.py',
      'lines': 454,
      'name': 'torch_interpreter/_prims_functions.py'},
     {'chars': 243851,
      'ext': '.py',
      'lines': 9527,
      'name': 'torch_interpreter/_aten_functions.py'},
     {'chars': 11051,
      'ext': '.py',
      'lines': 363,
      'name': 'torch_interpreter/_aten_functions_attention.py'},
     {'chars': 2143,
      'ext': '.py',
      'lines': 67,
      'name': 'torch_interpreter/aten_functions.py'},
     {'chars': 790,
      'ext': '.py',
      'lines': 23,
      'name': 'torch_interpreter/__init__.py'},
     {'chars': 5660,
      'ext': '.py',
      'lines': 200,
      'name': 'torch_interpreter/oxs_dispatcher.py'},
     {'chars': 4212,
      'ext': '.py',
      'lines': 190,
      'name': 'torch_interpreter/oxs_opset.py'},
     {'chars': 17786,
      'ext': '.py',
      'lines': 545,
      'name': 'torch_interpreter/export_options.py'},
     {'chars': 1777,
      'ext': '.py',
      'lines': 49,
      'name': 'torch_interpreter/_non_aten_functions.py'},
     {'chars': 11005,
      'ext': '.py',
      'lines': 346,
      'name': 'torch_interpreter/investigate_helper.py'},
     {'chars': 370,
      'ext': '.py',
      'lines': 16,
      'name': 'torch_interpreter/_math_functions.py'},
     {'chars': 20037,
      'ext': '.py',
      'lines': 618,
      'name': 'torch_interpreter/eval/model_cases.py'},
     {'chars': 15549,
      'ext': '.py',
      'lines': 612,
      'name': 'torch_interpreter/eval/__init__.py'},
     {'chars': 8111,
      'ext': '.py',
      'lines': 258,
      'name': 'torch_models/llm_model_setup.py'},
     {'chars': 3979,
      'ext': '.py',
      'lines': 140,
      'name': 'torch_models/phi3_helper.py'},
     {'chars': 1652,
      'ext': '.py',
      'lines': 61,
      'name': 'torch_models/diffusion_model_helper.py'},
     {'chars': 5886,
      'ext': '.py',
      'lines': 204,
      'name': 'torch_models/dump_helper.py'},
     {'chars': 7227,
      'ext': '.py',
      'lines': 209,
      'name': 'torch_models/training_helper.py'},
     {'chars': 3414,
      'ext': '.py',
      'lines': 118,
      'name': 'torch_models/mistral_helper.py'},
     {'chars': 977, 'ext': '.py', 'lines': 31, 'name': 'torch_models/__init__.py'},
     {'chars': 27239,
      'ext': '.py',
      'lines': 1062,
      'name': 'torch_models/llm_model_helper.py'},
     {'chars': 2956,
      'ext': '.py',
      'lines': 84,
      'name': 'torch_models/llama_helper.py'},
     {'chars': 3802,
      'ext': '.py',
      'lines': 132,
      'name': 'torch_models/phi_helper.py'},
     {'chars': 3806,
      'ext': '.py',
      'lines': 127,
      'name': 'torch_models/chronos_model_helper.py'},
     {'chars': 8104,
      'ext': '.py',
      'lines': 210,
      'name': 'torch_models/fromhub/configuration_phi3_v.py'},
     {'chars': 65682,
      'ext': '.py',
      'lines': 1775,
      'name': 'torch_models/fromhub/modeling_phi3_v.py'},
     {'chars': 0,
      'ext': '.py',
      'lines': 0,
      'name': 'torch_models/fromhub/__init__.py'},
     {'chars': 3205,
      'ext': '.py',
      'lines': 84,
      'name': 'torch_models/dummy_inputs/llm_dummy_inputs.py'},
     {'chars': 1499,
      'ext': '.py',
      'lines': 45,
      'name': 'torch_models/dummy_inputs/__init__.py'},
     {'chars': 4090,
      'ext': '.py',
      'lines': 144,
      'name': 'xbuilder/type_inference.py'},
     {'chars': 6866,
      'ext': '.py',
      'lines': 244,
      'name': 'xbuilder/graph_builder_opset.py'},
     {'chars': 41712,
      'ext': '.py',
      'lines': 1275,
      'name': 'xbuilder/shape_type_compute.py'},
     {'chars': 10485,
      'ext': '.py',
      'lines': 326,
      'name': 'xbuilder/model_container.py'},
     {'chars': 334,
      'ext': '.py',
      'lines': 10,
      'name': 'xbuilder/virtual_tensor.py'},
     {'chars': 1971,
      'ext': '.py',
      'lines': 73,
      'name': 'xbuilder/expression_dimension.py'},
     {'chars': 240236,
      'ext': '.py',
      'lines': 7789,
      'name': 'xbuilder/graph_builder.py'},
     {'chars': 6179,
      'ext': '.py',
      'lines': 202,
      'name': 'xbuilder/reverse_graph_builder.py'},
     {'chars': 3266,
      'ext': '.py',
      'lines': 106,
      'name': 'xbuilder/_shape_helper.py'},
     {'chars': 6669,
      'ext': '.py',
      'lines': 277,
      'name': 'xbuilder/_onnx_helper.py'},
     {'chars': 396, 'ext': '.py', 'lines': 11, 'name': 'xbuilder/__init__.py'},
     {'chars': 11503,
      'ext': '.py',
      'lines': 406,
      'name': 'xbuilder/_graph_builder_runtime.py'},
     {'chars': 3778,
      'ext': '.py',
      'lines': 100,
      'name': 'xbuilder/optimization_options.py'},
     {'chars': 14786,
      'ext': '.py',
      'lines': 543,
      'name': 'xbuilder/_internal/numpy_helper.py'},
     {'chars': 14485,
      'ext': '.py',
      'lines': 589,
      'name': 'xbuilder/_internal/onnx_export.py'},
     {'chars': 1182,
      'ext': '.py',
      'lines': 38,
      'name': 'xbuilder/_internal/onnx_export_templates.py'},
     {'chars': 0,
      'ext': '.py',
      'lines': 0,
      'name': 'xbuilder/_internal/__init__.py'},
     {'chars': 33928,
      'ext': '.py',
      'lines': 1118,
      'name': 'xoptim/patterns_api.py'},
     {'chars': 3888, 'ext': '.py', 'lines': 137, 'name': 'xoptim/unfused.py'},
     {'chars': 4221, 'ext': '.py', 'lines': 170, 'name': 'xoptim/order_optim.py'},
     {'chars': 3318, 'ext': '.py', 'lines': 117, 'name': 'xoptim/__init__.py'},
     {'chars': 35550,
      'ext': '.py',
      'lines': 1220,
      'name': 'xoptim/graph_builder_optim.py'},
     {'chars': 1926,
      'ext': '.py',
      'lines': 50,
      'name': 'xoptim/patterns_investigation/__init__.py'},
     {'chars': 1213,
      'ext': '.py',
      'lines': 44,
      'name': 'xoptim/patterns_investigation/element_wise.py'},
     {'chars': 6174,
      'ext': '.py',
      'lines': 173,
      'name': 'xoptim/patterns_investigation/llm_patterns.py'},
     {'chars': 9923,
      'ext': '.py',
      'lines': 322,
      'name': 'xoptim/patterns_ml/tree_ensemble.py'},
     {'chars': 608,
      'ext': '.py',
      'lines': 19,
      'name': 'xoptim/patterns_ml/__init__.py'},
     {'chars': 3969,
      'ext': '.py',
      'lines': 122,
      'name': 'xoptim/patterns_exp/constant_of_shape_scatter_nd.py'},
     {'chars': 3185,
      'ext': '.py',
      'lines': 95,
      'name': 'xoptim/patterns_exp/constants.py'},
     {'chars': 2528,
      'ext': '.py',
      'lines': 76,
      'name': 'xoptim/patterns_exp/unary_operators.py'},
     {'chars': 2470,
      'ext': '.py',
      'lines': 81,
      'name': 'xoptim/patterns_exp/simple_rotary.py'},
     {'chars': 1653,
      'ext': '.py',
      'lines': 50,
      'name': 'xoptim/patterns_exp/__init__.py'},
     {'chars': 1510,
      'ext': '.py',
      'lines': 47,
      'name': 'xoptim/patterns_exp/where_replace.py'},
     {'chars': 14615,
      'ext': '.py',
      'lines': 481,
      'name': 'xoptim/patterns_exp/binary_operators.py'},
     {'chars': 5007,
      'ext': '.py',
      'lines': 159,
      'name': 'xoptim/patterns/onnx_functions.py'},
     {'chars': 1432,
      'ext': '.py',
      'lines': 46,
      'name': 'xoptim/patterns/onnx_sequence.py'},
     {'chars': 30878,
      'ext': '.py',
      'lines': 994,
      'name': 'xoptim/patterns/onnx_matmul.py'},
     {'chars': 6099,
      'ext': '.py',
      'lines': 214,
      'name': 'xoptim/patterns/onnx_any.py'},
     {'chars': 9285,
      'ext': '.py',
      'lines': 299,
      'name': 'xoptim/patterns/onnx_mul.py'},
     {'chars': 16160,
      'ext': '.py',
      'lines': 497,
      'name': 'xoptim/patterns/onnx_layer_normalization.py'},
     {'chars': 16578,
      'ext': '.py',
      'lines': 517,
      'name': 'xoptim/patterns/onnx_rotary.py'},
     {'chars': 12947,
      'ext': '.py',
      'lines': 405,
      'name': 'xoptim/patterns/onnx_reshape.py'},
     {'chars': 1609,
      'ext': '.py',
      'lines': 47,
      'name': 'xoptim/patterns/onnx_equal.py'},
     {'chars': 5590,
      'ext': '.py',
      'lines': 170,
      'name': 'xoptim/patterns/onnx_expand.py'},
     {'chars': 1429,
      'ext': '.py',
      'lines': 47,
      'name': 'xoptim/patterns/onnx_clip.py'},
     {'chars': 8909,
      'ext': '.py',
      'lines': 294,
      'name': 'xoptim/patterns/onnx_cast.py'},
     {'chars': 825,
      'ext': '.py',
      'lines': 27,
      'name': 'xoptim/patterns/onnx_constants.py'},
     {'chars': 3340,
      'ext': '.py',
      'lines': 106,
      'name': 'xoptim/patterns/onnx_unsqueeze.py'},
     {'chars': 2728,
      'ext': '.py',
      'lines': 86,
      'name': 'xoptim/patterns/onnx_sub.py'},
     {'chars': 1077,
      'ext': '.py',
      'lines': 37,
      'name': 'xoptim/patterns/onnx_conv.py'},
     {'chars': 2432,
      'ext': '.py',
      'lines': 73,
      'name': 'xoptim/patterns/onnx_reduce.py'},
     {'chars': 4432,
      'ext': '.py',
      'lines': 150,
      'name': 'xoptim/patterns/onnx_split.py'},
     {'chars': 4722,
      'ext': '.py',
      'lines': 140,
      'name': 'xoptim/patterns/__init__.py'},
     {'chars': 8033,
      'ext': '.py',
      'lines': 304,
      'name': 'xoptim/patterns/onnx_transpose.py'},
     {'chars': 3025,
      'ext': '.py',
      'lines': 107,
      'name': 'xoptim/patterns/onnx_slice.py'},
     {'chars': 1136,
      'ext': '.py',
      'lines': 42,
      'name': 'xoptim/patterns/onnx_dropout.py'},
     {'chars': 1241,
      'ext': '.py',
      'lines': 42,
      'name': 'xoptim/patterns_ort/fused_conv.py'},
     {'chars': 6861,
      'ext': '.py',
      'lines': 222,
      'name': 'xoptim/patterns_ort/activation.py'},
     {'chars': 1456,
      'ext': '.py',
      'lines': 49,
      'name': 'xoptim/patterns_ort/gather_grad.py'},
     {'chars': 1929,
      'ext': '.py',
      'lines': 55,
      'name': 'xoptim/patterns_ort/activation_grad.py'},
     {'chars': 12381,
      'ext': '.py',
      'lines': 432,
      'name': 'xoptim/patterns_ort/fused_matmul.py'},
     {'chars': 5662,
      'ext': '.py',
      'lines': 177,
      'name': 'xoptim/patterns_ort/llm_optim.py'},
     {'chars': 5758,
      'ext': '.py',
      'lines': 166,
      'name': 'xoptim/patterns_ort/simplified_layer_normalization.py'},
     {'chars': 4071,
      'ext': '.py',
      'lines': 142,
      'name': 'xoptim/patterns_ort/batch_normalization.py'},
     {'chars': 1883,
      'ext': '.py',
      'lines': 56,
      'name': 'xoptim/patterns_ort/__init__.py'},
     {'chars': 12986,
      'ext': '.py',
      'lines': 390,
      'name': 'xoptim/patterns_ort/attention_patterns.py'},
     {'chars': 1283,
      'ext': '.py',
      'lines': 44,
      'name': 'xoptim/patterns_fix/add_reduction_scatter_nd.py'},
     {'chars': 515,
      'ext': '.py',
      'lines': 15,
      'name': 'xoptim/patterns_fix/__init__.py'},
     {'chars': 3533,
      'ext': '.py',
      'lines': 122,
      'name': 'torch_dynamo/dynger_backend.py'},
     {'chars': 9450,
      'ext': '.py',
      'lines': 326,
      'name': 'torch_dynamo/debug_backend.py'},
     {'chars': 19269,
      'ext': '.py',
      'lines': 635,
      'name': 'torch_dynamo/fast_backend.py'},
     {'chars': 2428,
      'ext': '.py',
      'lines': 72,
      'name': 'torch_dynamo/_dynamo_exporter.py'},
     {'chars': 4073,
      'ext': '.py',
      'lines': 128,
      'name': 'torch_dynamo/partition.py'},
     {'chars': 567,
      'ext': '.py',
      'lines': 18,
      'name': 'torch_dynamo/backend_helper.py'},
     {'chars': 6857,
      'ext': '.py',
      'lines': 225,
      'name': 'torch_dynamo/__init__.py'},
     {'chars': 5839,
      'ext': '.py',
      'lines': 165,
      'name': 'torch_bench/dort_profile.py'},
     {'chars': 929,
      'ext': '.py',
      'lines': 20,
      'name': 'torch_bench/bash_bench_huggingface_big.py'},
     {'chars': 17932,
      'ext': '.py',
      'lines': 609,
      'name': 'torch_bench/export_model_helper.py'},
     {'chars': 54683,
      'ext': '.py',
      'lines': 2109,
      'name': 'torch_bench/_bash_bench_benchmark_runner_agg_helper.py'},
     {'chars': 14370,
      'ext': '.py',
      'lines': 516,
      'name': 'torch_bench/_bash_bench_set_huggingface.py'},
     {'chars': 4087,
      'ext': '.py',
      'lines': 376,
      'name': 'torch_bench/_bash_bench_models_helper.py'},
     {'chars': 5579,
      'ext': '.py',
      'lines': 191,
      'name': 'torch_bench/bash_bench_agg.py'},
     {'chars': 33161,
      'ext': '.py',
      'lines': 1228,
      'name': 'torch_bench/_bash_bench_benchmark_runner_agg.py'},
     {'chars': 744,
      'ext': '.py',
      'lines': 18,
      'name': 'torch_bench/bash_bench_explicit.py'},
     {'chars': 9880,
      'ext': '.py',
      'lines': 407,
      'name': 'torch_bench/_bash_bench_untrained.py'},
     {'chars': 7478,
      'ext': '.py',
      'lines': 204,
      'name': 'torch_bench/_bash_bench_set_dummies.py'},
     {'chars': 5975,
      'ext': '.py',
      'lines': 197,
      'name': 'torch_bench/dort_bench_profile.py'},
     {'chars': 17089,
      'ext': '.py',
      'lines': 539,
      'name': 'torch_bench/_dort_cmd_common.py'},
     {'chars': 845,
      'ext': '.py',
      'lines': 20,
      'name': 'torch_bench/bash_bench_issues.py'},
     {'chars': 2383,
      'ext': '.py',
      'lines': 91,
      'name': 'torch_bench/_bash_bench_set_issues.py'},
     {'chars': 925,
      'ext': '.py',
      'lines': 26,
      'name': 'torch_bench/bash_bench_torchbench.py'},
     {'chars': 2455,
      'ext': '.py',
      'lines': 94,
      'name': 'torch_bench/_bash_bench_set_explicit.py'},
     {'chars': 51342,
      'ext': '.py',
      'lines': 1652,
      'name': 'torch_bench/_bash_bench_benchmark_runner.py'},
     {'chars': 9839,
      'ext': '.py',
      'lines': 309,
      'name': 'torch_bench/dort_bench.py'},
     {'chars': 947,
      'ext': '.py',
      'lines': 26,
      'name': 'torch_bench/bash_bench_torchbench_ado.py'},
     {'chars': 59393,
      'ext': '.py',
      'lines': 2095,
      'name': 'torch_bench/_bash_bench_model_runner.py'},
     {'chars': 780,
      'ext': '.py',
      'lines': 18,
      'name': 'torch_bench/bash_bench_timm.py'},
     {'chars': 48, 'ext': '.py', 'lines': 1, 'name': 'torch_bench/__init__.py'},
     {'chars': 2732,
      'ext': '.py',
      'lines': 99,
      'name': 'torch_bench/_bash_bench_set_huggingface_big.py'},
     {'chars': 10210,
      'ext': '.py',
      'lines': 319,
      'name': 'torch_bench/_bash_bench_cmd.py'},
     {'chars': 13548,
      'ext': '.py',
      'lines': 534,
      'name': 'torch_bench/_bash_bench_set_timm.py'},
     {'chars': 7617,
      'ext': '.py',
      'lines': 264,
      'name': 'torch_bench/_dort_cmd_common_models.py'},
     {'chars': 1319,
      'ext': '.py',
      'lines': 43,
      'name': 'torch_bench/check_model.py'},
     {'chars': 1015,
      'ext': '.py',
      'lines': 22,
      'name': 'torch_bench/bash_bench_huggingface.py'},
     {'chars': 20481,
      'ext': '.py',
      'lines': 822,
      'name': 'torch_bench/_bash_bench_set_torchbench.py'},
     {'chars': 5300,
      'ext': '.py',
      'lines': 174,
      'name': 'torch_bench/export_model.py'},
     {'chars': 897,
      'ext': '.py',
      'lines': 33,
      'name': 'torch_bench/_bash_bench_set_torchbench_ado.py'},
     {'chars': 754,
      'ext': '.py',
      'lines': 18,
      'name': 'torch_bench/bash_bench_untrained.py'},
     {'chars': 685,
      'ext': '.py',
      'lines': 27,
      'name': 'torch_bench/big_models/try_minilm_test.py'},
     {'chars': 3273,
      'ext': '.py',
      'lines': 109,
      'name': 'torch_bench/big_models/try_minilm.py'},
     {'chars': 1778,
      'ext': '.py',
      'lines': 59,
      'name': 'torch_bench/big_models/try_falcon_mamba_test.py'},
     {'chars': 686,
      'ext': '.py',
      'lines': 27,
      'name': 'torch_bench/big_models/try_smollm_test.py'},
     {'chars': 2448,
      'ext': '.py',
      'lines': 93,
      'name': 'torch_bench/big_models/try_codellama.py'},
     {'chars': 2620,
      'ext': '.py',
      'lines': 93,
      'name': 'torch_bench/big_models/try_falcon_mamba.py'},
     {'chars': 914,
      'ext': '.py',
      'lines': 31,
      'name': 'torch_bench/big_models/try_flux_t5_test.py'},
     {'chars': 2922,
      'ext': '.py',
      'lines': 96,
      'name': 'torch_bench/big_models/try_stable_diffusion_3.py'},
     {'chars': 1582,
      'ext': '.py',
      'lines': 34,
      'name': 'torch_bench/big_models/main_spy_phi2.py'},
     {'chars': 2749,
      'ext': '.py',
      'lines': 88,
      'name': 'torch_bench/big_models/try_phi35_vision_test.py'},
     {'chars': 3160,
      'ext': '.py',
      'lines': 81,
      'name': 'torch_bench/big_models/main_spy_phi35_vision.py'},
     {'chars': 2344,
      'ext': '.py',
      'lines': 71,
      'name': 'torch_bench/big_models/try_phi35_mini_instruct_test.py'},
     {'chars': 935,
      'ext': '.py',
      'lines': 32,
      'name': 'torch_bench/big_models/try_flux_transformer_test.py'},
     {'chars': 21096,
      'ext': '.py',
      'lines': 296,
      'name': 'torch_bench/big_models/main_spy_phi35_vision_dummy.py'},
     {'chars': 2339,
      'ext': '.py',
      'lines': 87,
      'name': 'torch_bench/big_models/try_smollm.py'},
     {'chars': 1618,
      'ext': '.py',
      'lines': 51,
      'name': 'torch_bench/big_models/__init__.py'},
     {'chars': 1864,
      'ext': '.py',
      'lines': 67,
      'name': 'torch_bench/big_models/try_flux_transformer.py'},
     {'chars': 692,
      'ext': '.py',
      'lines': 27,
      'name': 'torch_bench/big_models/try_codellama_test.py'},
     {'chars': 4514,
      'ext': '.py',
      'lines': 844,
      'name': 'torch_bench/big_models/try_phi35_vision.py'},
     {'chars': 1453,
      'ext': '.py',
      'lines': 49,
      'name': 'torch_bench/big_models/try_phi35_mini_instruct.py'},
     {'chars': 688,
      'ext': '.py',
      'lines': 26,
      'name': 'torch_bench/big_models/try_stable_diffusion_3_test.py'},
     {'chars': 1205,
      'ext': '.py',
      'lines': 47,
      'name': 'torch_bench/big_models/try_flux_t5.py'}]

Aggregated:

<<<

import os
import pprint
from experimental_experiment.ext_test_case import statistics_on_folder, __file__

pprint.pprint(statistics_on_folder(os.path.dirname(__file__), aggregation=1))

>>>

    [{'chars': 16379,
      'dir': '',
      'ext': '.py',
      'lines': 480,
      'name': 'ort_session.py'},
     {'chars': 66, 'dir': '', 'ext': '.py', 'lines': 3, 'name': '_bench_test.py'},
     {'chars': 7919,
      'dir': '',
      'ext': '.py',
      'lines': 265,
      'name': 'torch_test_helper.py'},
     {'chars': 1807, 'dir': '', 'ext': '.py', 'lines': 51, 'name': 'checks.py'},
     {'chars': 9990,
      'dir': '',
      'ext': '.py',
      'lines': 405,
      'name': '_command_lines_parser.py'},
     {'chars': 27170,
      'dir': '',
      'ext': '.py',
      'lines': 912,
      'name': 'ext_test_case.py'},
     {'chars': 5677,
      'dir': '',
      'ext': '.py',
      'lines': 213,
      'name': 'onnx_tools.py'},
     {'chars': 10909,
      'dir': '',
      'ext': '.py',
      'lines': 384,
      'name': 'bench_run.py'},
     {'chars': 14946,
      'dir': '',
      'ext': '.py',
      'lines': 547,
      'name': 'mini_onnx_builder.py'},
     {'chars': 2878, 'dir': '', 'ext': '.py', 'lines': 115, 'name': 'args.py'},
     {'chars': 16382, 'dir': '', 'ext': '.py', 'lines': 586, 'name': 'helpers.py'},
     {'chars': 235, 'dir': '', 'ext': '.py', 'lines': 9, 'name': '__init__.py'},
     {'chars': 5287, 'dir': '', 'ext': '.py', 'lines': 158, 'name': 'model_run.py'},
     {'chars': 65, 'dir': '', 'ext': '.py', 'lines': 3, 'name': '__main__.py'},
     {'chars': 4328,
      'dir': '',
      'ext': '.py',
      'lines': 187,
      'name': 'memory_peak.py'},
     {'chars': 12054,
      'dir': 'gradient',
      'ext': '.py',
      'lines': 419,
      'name': 'gradient/grad_helper.py'},
     {'chars': 17770,
      'dir': 'gradient',
      'ext': '.py',
      'lines': 498,
      'name': 'gradient/loss_helper.py'},
     {'chars': 0,
      'dir': 'gradient',
      'ext': '.py',
      'lines': 0,
      'name': 'gradient/__init__.py'},
     {'chars': 89,
      'dir': 'gradient',
      'ext': '.py',
      'lines': 2,
      'name': 'gradient/ops/__init__.py'},
     {'chars': 671,
      'dir': 'gradient',
      'ext': '.py',
      'lines': 42,
      'name': 'gradient/ops/op_broadcast_gradient_args.py'},
     {'chars': 751,
      'dir': 'reference',
      'ext': '.py',
      'lines': 34,
      'name': 'reference/quantized_tensor.py'},
     {'chars': 17985,
      'dir': 'reference',
      'ext': '.py',
      'lines': 622,
      'name': 'reference/ort_evaluator.py'},
     {'chars': 5931,
      'dir': 'reference',
      'ext': '.py',
      'lines': 213,
      'name': 'reference/evaluator.py'},
     {'chars': 203,
      'dir': 'reference',
      'ext': '.py',
      'lines': 4,
      'name': 'reference/__init__.py'},
     {'chars': 439,
      'dir': 'reference',
      'ext': '.py',
      'lines': 20,
      'name': 'reference/ops/op_complex.py'},
     {'chars': 647,
      'dir': 'reference',
      'ext': '.py',
      'lines': 27,
      'name': 'reference/ops/op_fused_matmul.py'},
     {'chars': 380,
      'dir': 'reference',
      'ext': '.py',
      'lines': 14,
      'name': 'reference/ops/op_tri_matrix.py'},
     {'chars': 458,
      'dir': 'reference',
      'ext': '.py',
      'lines': 17,
      'name': 'reference/ops/op_quick_gelu.py'},
     {'chars': 531,
      'dir': 'reference',
      'ext': '.py',
      'lines': 15,
      'name': 'reference/ops/op_slice.py'},
     {'chars': 2582,
      'dir': 'reference',
      'ext': '.py',
      'lines': 88,
      'name': 'reference/ops/op_qlinear_conv.py'},
     {'chars': 1149,
      'dir': 'reference',
      'ext': '.py',
      'lines': 59,
      'name': 'reference/ops/op_constant_of_shape.py'},
     {'chars': 667,
      'dir': 'reference',
      'ext': '.py',
      'lines': 16,
      'name': 'reference/ops/op_scatternd_of_shape.py'},
     {'chars': 147,
      'dir': 'reference',
      'ext': '.py',
      'lines': 5,
      'name': 'reference/ops/op_negxplus1.py'},
     {'chars': 220,
      'dir': 'reference',
      'ext': '.py',
      'lines': 6,
      'name': 'reference/ops/op_simplified_layer_normalization.py'},
     {'chars': 295,
      'dir': 'reference',
      'ext': '.py',
      'lines': 10,
      'name': 'reference/ops/op_transpose_cast.py'},
     {'chars': 140,
      'dir': 'reference',
      'ext': '.py',
      'lines': 7,
      'name': 'reference/ops/op_memcpy_host.py'},
     {'chars': 1405,
      'dir': 'reference',
      'ext': '.py',
      'lines': 51,
      'name': 'reference/ops/op_average_pool_grad.py'},
     {'chars': 317,
      'dir': 'reference',
      'ext': '.py',
      'lines': 9,
      'name': 'reference/ops/op_gather_grad.py'},
     {'chars': 853,
      'dir': 'reference',
      'ext': '.py',
      'lines': 35,
      'name': 'reference/ops/op_qlinear_average_pool.py'},
     {'chars': 684,
      'dir': 'reference',
      'ext': '.py',
      'lines': 24,
      'name': 'reference/ops/op_gather.py'},
     {'chars': 1260,
      'dir': 'reference',
      'ext': '.py',
      'lines': 47,
      'name': 'reference/ops/op_attention.py'},
     {'chars': 384,
      'dir': 'reference',
      'ext': '.py',
      'lines': 13,
      'name': 'reference/ops/op_bias_softmax.py'},
     {'chars': 224,
      'dir': 'reference',
      'ext': '.py',
      'lines': 10,
      'name': 'reference/ops/op_replace_zero.py'},
     {'chars': 350,
      'dir': 'reference',
      'ext': '.py',
      'lines': 10,
      'name': 'reference/ops/op_skip_layer_normalization.py'},
     {'chars': 455,
      'dir': 'reference',
      'ext': '.py',
      'lines': 17,
      'name': 'reference/ops/op_mul_sigmoid.py'},
     {'chars': 0,
      'dir': 'reference',
      'ext': '.py',
      'lines': 0,
      'name': 'reference/ops/__init__.py'},
     {'chars': 1139,
      'dir': 'reference',
      'ext': '.py',
      'lines': 33,
      'name': 'reference/ops/op_gather_elements.py'},
     {'chars': 434,
      'dir': 'reference',
      'ext': '.py',
      'lines': 16,
      'name': 'reference/ops/op_rotary.py'},
     {'chars': 383,
      'dir': 'reference',
      'ext': '.py',
      'lines': 11,
      'name': 'reference/ops/op_concat.py'},
     {'chars': 1091,
      'dir': 'reference',
      'ext': '.py',
      'lines': 44,
      'name': 'reference/ops/op_add_add_mul_mul.py'},
     {'chars': 2202,
      'dir': 'reference',
      'ext': '.py',
      'lines': 82,
      'name': 'reference/ops/op_scatter_elements.py'},
     {'chars': 989,
      'dir': 'reference',
      'ext': '.py',
      'lines': 31,
      'name': 'reference/ops/op_cast_like.py'},
     {'chars': 852,
      'dir': 'convert',
      'ext': '.py',
      'lines': 23,
      'name': 'convert/ort_helper.py'},
     {'chars': 4887,
      'dir': 'convert',
      'ext': '.py',
      'lines': 149,
      'name': 'convert/convert_helper.py'},
     {'chars': 0,
      'dir': 'convert',
      'ext': '.py',
      'lines': 0,
      'name': 'convert/__init__.py'},
     {'chars': 6285,
      'dir': 'plotting',
      'ext': '.py',
      'lines': 377,
      'name': 'plotting/data.py'},
     {'chars': 1893,
      'dir': 'plotting',
      'ext': '.py',
      'lines': 54,
      'name': 'plotting/memory.py'},
     {'chars': 0,
      'dir': 'plotting',
      'ext': '.py',
      'lines': 0,
      'name': 'plotting/__init__.py'},
     {'chars': 4873,
      'dir': 'skl',
      'ext': '.py',
      'lines': 150,
      'name': 'skl/convert.py'},
     {'chars': 1344,
      'dir': 'skl',
      'ext': '.py',
      'lines': 47,
      'name': 'skl/helpers.py'},
     {'chars': 25,
      'dir': 'skl',
      'ext': '.py',
      'lines': 1,
      'name': 'skl/__init__.py'},
     {'chars': 11498,
      'dir': 'torch_interpreter',
      'ext': '.py',
      'lines': 371,
      'name': 'torch_interpreter/piece_by_piece_serialize.py'},
     {'chars': 152,
      'dir': 'torch_interpreter',
      'ext': '.py',
      'lines': 4,
      'name': 'torch_interpreter/_doc_.py'},
     {'chars': 11888,
      'dir': 'torch_interpreter',
      'ext': '.py',
      'lines': 478,
      'name': 'torch_interpreter/_aten_methods.py'},
     {'chars': 2976,
      'dir': 'torch_interpreter',
      'ext': '.py',
      'lines': 97,
      'name': 'torch_interpreter/control_flows.py'},
     {'chars': 7214,
      'dir': 'torch_interpreter',
      'ext': '.py',
      'lines': 254,
      'name': 'torch_interpreter/dispatcher.py'},
     {'chars': 528,
      'dir': 'torch_interpreter',
      'ext': '.py',
      'lines': 21,
      'name': 'torch_interpreter/aten_methods.py'},
     {'chars': 60097,
      'dir': 'torch_interpreter',
      'ext': '.py',
      'lines': 1918,
      'name': 'torch_interpreter/interpreter.py'},
     {'chars': 33239,
      'dir': 'torch_interpreter',
      'ext': '.py',
      'lines': 1121,
      'name': 'torch_interpreter/tracing.py'},
     {'chars': 29803,
      'dir': 'torch_interpreter',
      'ext': '.py',
      'lines': 906,
      'name': 'torch_interpreter/onnx_export.py'},
     {'chars': 1545,
      'dir': 'torch_interpreter',
      'ext': '.py',
      'lines': 57,
      'name': 'torch_interpreter/_torch_helper.py'},
     {'chars': 87,
      'dir': 'torch_interpreter',
      'ext': '.py',
      'lines': 2,
      'name': 'torch_interpreter/_exceptions.py'},
     {'chars': 82511,
      'dir': 'torch_interpreter',
      'ext': '.py',
      'lines': 2523,
      'name': 'torch_interpreter/piece_by_piece.py'},
     {'chars': 10191,
      'dir': 'torch_interpreter',
      'ext': '.py',
      'lines': 454,
      'name': 'torch_interpreter/_prims_functions.py'},
     {'chars': 243851,
      'dir': 'torch_interpreter',
      'ext': '.py',
      'lines': 9527,
      'name': 'torch_interpreter/_aten_functions.py'},
     {'chars': 11051,
      'dir': 'torch_interpreter',
      'ext': '.py',
      'lines': 363,
      'name': 'torch_interpreter/_aten_functions_attention.py'},
     {'chars': 2143,
      'dir': 'torch_interpreter',
      'ext': '.py',
      'lines': 67,
      'name': 'torch_interpreter/aten_functions.py'},
     {'chars': 790,
      'dir': 'torch_interpreter',
      'ext': '.py',
      'lines': 23,
      'name': 'torch_interpreter/__init__.py'},
     {'chars': 5660,
      'dir': 'torch_interpreter',
      'ext': '.py',
      'lines': 200,
      'name': 'torch_interpreter/oxs_dispatcher.py'},
     {'chars': 4212,
      'dir': 'torch_interpreter',
      'ext': '.py',
      'lines': 190,
      'name': 'torch_interpreter/oxs_opset.py'},
     {'chars': 17786,
      'dir': 'torch_interpreter',
      'ext': '.py',
      'lines': 545,
      'name': 'torch_interpreter/export_options.py'},
     {'chars': 1777,
      'dir': 'torch_interpreter',
      'ext': '.py',
      'lines': 49,
      'name': 'torch_interpreter/_non_aten_functions.py'},
     {'chars': 11005,
      'dir': 'torch_interpreter',
      'ext': '.py',
      'lines': 346,
      'name': 'torch_interpreter/investigate_helper.py'},
     {'chars': 370,
      'dir': 'torch_interpreter',
      'ext': '.py',
      'lines': 16,
      'name': 'torch_interpreter/_math_functions.py'},
     {'chars': 20037,
      'dir': 'torch_interpreter',
      'ext': '.py',
      'lines': 618,
      'name': 'torch_interpreter/eval/model_cases.py'},
     {'chars': 15549,
      'dir': 'torch_interpreter',
      'ext': '.py',
      'lines': 612,
      'name': 'torch_interpreter/eval/__init__.py'},
     {'chars': 8111,
      'dir': 'torch_models',
      'ext': '.py',
      'lines': 258,
      'name': 'torch_models/llm_model_setup.py'},
     {'chars': 3979,
      'dir': 'torch_models',
      'ext': '.py',
      'lines': 140,
      'name': 'torch_models/phi3_helper.py'},
     {'chars': 1652,
      'dir': 'torch_models',
      'ext': '.py',
      'lines': 61,
      'name': 'torch_models/diffusion_model_helper.py'},
     {'chars': 5886,
      'dir': 'torch_models',
      'ext': '.py',
      'lines': 204,
      'name': 'torch_models/dump_helper.py'},
     {'chars': 7227,
      'dir': 'torch_models',
      'ext': '.py',
      'lines': 209,
      'name': 'torch_models/training_helper.py'},
     {'chars': 3414,
      'dir': 'torch_models',
      'ext': '.py',
      'lines': 118,
      'name': 'torch_models/mistral_helper.py'},
     {'chars': 977,
      'dir': 'torch_models',
      'ext': '.py',
      'lines': 31,
      'name': 'torch_models/__init__.py'},
     {'chars': 27239,
      'dir': 'torch_models',
      'ext': '.py',
      'lines': 1062,
      'name': 'torch_models/llm_model_helper.py'},
     {'chars': 2956,
      'dir': 'torch_models',
      'ext': '.py',
      'lines': 84,
      'name': 'torch_models/llama_helper.py'},
     {'chars': 3802,
      'dir': 'torch_models',
      'ext': '.py',
      'lines': 132,
      'name': 'torch_models/phi_helper.py'},
     {'chars': 3806,
      'dir': 'torch_models',
      'ext': '.py',
      'lines': 127,
      'name': 'torch_models/chronos_model_helper.py'},
     {'chars': 8104,
      'dir': 'torch_models',
      'ext': '.py',
      'lines': 210,
      'name': 'torch_models/fromhub/configuration_phi3_v.py'},
     {'chars': 65682,
      'dir': 'torch_models',
      'ext': '.py',
      'lines': 1775,
      'name': 'torch_models/fromhub/modeling_phi3_v.py'},
     {'chars': 0,
      'dir': 'torch_models',
      'ext': '.py',
      'lines': 0,
      'name': 'torch_models/fromhub/__init__.py'},
     {'chars': 3205,
      'dir': 'torch_models',
      'ext': '.py',
      'lines': 84,
      'name': 'torch_models/dummy_inputs/llm_dummy_inputs.py'},
     {'chars': 1499,
      'dir': 'torch_models',
      'ext': '.py',
      'lines': 45,
      'name': 'torch_models/dummy_inputs/__init__.py'},
     {'chars': 4090,
      'dir': 'xbuilder',
      'ext': '.py',
      'lines': 144,
      'name': 'xbuilder/type_inference.py'},
     {'chars': 6866,
      'dir': 'xbuilder',
      'ext': '.py',
      'lines': 244,
      'name': 'xbuilder/graph_builder_opset.py'},
     {'chars': 41712,
      'dir': 'xbuilder',
      'ext': '.py',
      'lines': 1275,
      'name': 'xbuilder/shape_type_compute.py'},
     {'chars': 10485,
      'dir': 'xbuilder',
      'ext': '.py',
      'lines': 326,
      'name': 'xbuilder/model_container.py'},
     {'chars': 334,
      'dir': 'xbuilder',
      'ext': '.py',
      'lines': 10,
      'name': 'xbuilder/virtual_tensor.py'},
     {'chars': 1971,
      'dir': 'xbuilder',
      'ext': '.py',
      'lines': 73,
      'name': 'xbuilder/expression_dimension.py'},
     {'chars': 240236,
      'dir': 'xbuilder',
      'ext': '.py',
      'lines': 7789,
      'name': 'xbuilder/graph_builder.py'},
     {'chars': 6179,
      'dir': 'xbuilder',
      'ext': '.py',
      'lines': 202,
      'name': 'xbuilder/reverse_graph_builder.py'},
     {'chars': 3266,
      'dir': 'xbuilder',
      'ext': '.py',
      'lines': 106,
      'name': 'xbuilder/_shape_helper.py'},
     {'chars': 6669,
      'dir': 'xbuilder',
      'ext': '.py',
      'lines': 277,
      'name': 'xbuilder/_onnx_helper.py'},
     {'chars': 396,
      'dir': 'xbuilder',
      'ext': '.py',
      'lines': 11,
      'name': 'xbuilder/__init__.py'},
     {'chars': 11503,
      'dir': 'xbuilder',
      'ext': '.py',
      'lines': 406,
      'name': 'xbuilder/_graph_builder_runtime.py'},
     {'chars': 3778,
      'dir': 'xbuilder',
      'ext': '.py',
      'lines': 100,
      'name': 'xbuilder/optimization_options.py'},
     {'chars': 14786,
      'dir': 'xbuilder',
      'ext': '.py',
      'lines': 543,
      'name': 'xbuilder/_internal/numpy_helper.py'},
     {'chars': 14485,
      'dir': 'xbuilder',
      'ext': '.py',
      'lines': 589,
      'name': 'xbuilder/_internal/onnx_export.py'},
     {'chars': 1182,
      'dir': 'xbuilder',
      'ext': '.py',
      'lines': 38,
      'name': 'xbuilder/_internal/onnx_export_templates.py'},
     {'chars': 0,
      'dir': 'xbuilder',
      'ext': '.py',
      'lines': 0,
      'name': 'xbuilder/_internal/__init__.py'},
     {'chars': 33928,
      'dir': 'xoptim',
      'ext': '.py',
      'lines': 1118,
      'name': 'xoptim/patterns_api.py'},
     {'chars': 3888,
      'dir': 'xoptim',
      'ext': '.py',
      'lines': 137,
      'name': 'xoptim/unfused.py'},
     {'chars': 4221,
      'dir': 'xoptim',
      'ext': '.py',
      'lines': 170,
      'name': 'xoptim/order_optim.py'},
     {'chars': 3318,
      'dir': 'xoptim',
      'ext': '.py',
      'lines': 117,
      'name': 'xoptim/__init__.py'},
     {'chars': 35550,
      'dir': 'xoptim',
      'ext': '.py',
      'lines': 1220,
      'name': 'xoptim/graph_builder_optim.py'},
     {'chars': 1926,
      'dir': 'xoptim',
      'ext': '.py',
      'lines': 50,
      'name': 'xoptim/patterns_investigation/__init__.py'},
     {'chars': 1213,
      'dir': 'xoptim',
      'ext': '.py',
      'lines': 44,
      'name': 'xoptim/patterns_investigation/element_wise.py'},
     {'chars': 6174,
      'dir': 'xoptim',
      'ext': '.py',
      'lines': 173,
      'name': 'xoptim/patterns_investigation/llm_patterns.py'},
     {'chars': 9923,
      'dir': 'xoptim',
      'ext': '.py',
      'lines': 322,
      'name': 'xoptim/patterns_ml/tree_ensemble.py'},
     {'chars': 608,
      'dir': 'xoptim',
      'ext': '.py',
      'lines': 19,
      'name': 'xoptim/patterns_ml/__init__.py'},
     {'chars': 3969,
      'dir': 'xoptim',
      'ext': '.py',
      'lines': 122,
      'name': 'xoptim/patterns_exp/constant_of_shape_scatter_nd.py'},
     {'chars': 3185,
      'dir': 'xoptim',
      'ext': '.py',
      'lines': 95,
      'name': 'xoptim/patterns_exp/constants.py'},
     {'chars': 2528,
      'dir': 'xoptim',
      'ext': '.py',
      'lines': 76,
      'name': 'xoptim/patterns_exp/unary_operators.py'},
     {'chars': 2470,
      'dir': 'xoptim',
      'ext': '.py',
      'lines': 81,
      'name': 'xoptim/patterns_exp/simple_rotary.py'},
     {'chars': 1653,
      'dir': 'xoptim',
      'ext': '.py',
      'lines': 50,
      'name': 'xoptim/patterns_exp/__init__.py'},
     {'chars': 1510,
      'dir': 'xoptim',
      'ext': '.py',
      'lines': 47,
      'name': 'xoptim/patterns_exp/where_replace.py'},
     {'chars': 14615,
      'dir': 'xoptim',
      'ext': '.py',
      'lines': 481,
      'name': 'xoptim/patterns_exp/binary_operators.py'},
     {'chars': 5007,
      'dir': 'xoptim',
      'ext': '.py',
      'lines': 159,
      'name': 'xoptim/patterns/onnx_functions.py'},
     {'chars': 1432,
      'dir': 'xoptim',
      'ext': '.py',
      'lines': 46,
      'name': 'xoptim/patterns/onnx_sequence.py'},
     {'chars': 30878,
      'dir': 'xoptim',
      'ext': '.py',
      'lines': 994,
      'name': 'xoptim/patterns/onnx_matmul.py'},
     {'chars': 6099,
      'dir': 'xoptim',
      'ext': '.py',
      'lines': 214,
      'name': 'xoptim/patterns/onnx_any.py'},
     {'chars': 9285,
      'dir': 'xoptim',
      'ext': '.py',
      'lines': 299,
      'name': 'xoptim/patterns/onnx_mul.py'},
     {'chars': 16160,
      'dir': 'xoptim',
      'ext': '.py',
      'lines': 497,
      'name': 'xoptim/patterns/onnx_layer_normalization.py'},
     {'chars': 16578,
      'dir': 'xoptim',
      'ext': '.py',
      'lines': 517,
      'name': 'xoptim/patterns/onnx_rotary.py'},
     {'chars': 12947,
      'dir': 'xoptim',
      'ext': '.py',
      'lines': 405,
      'name': 'xoptim/patterns/onnx_reshape.py'},
     {'chars': 1609,
      'dir': 'xoptim',
      'ext': '.py',
      'lines': 47,
      'name': 'xoptim/patterns/onnx_equal.py'},
     {'chars': 5590,
      'dir': 'xoptim',
      'ext': '.py',
      'lines': 170,
      'name': 'xoptim/patterns/onnx_expand.py'},
     {'chars': 1429,
      'dir': 'xoptim',
      'ext': '.py',
      'lines': 47,
      'name': 'xoptim/patterns/onnx_clip.py'},
     {'chars': 8909,
      'dir': 'xoptim',
      'ext': '.py',
      'lines': 294,
      'name': 'xoptim/patterns/onnx_cast.py'},
     {'chars': 825,
      'dir': 'xoptim',
      'ext': '.py',
      'lines': 27,
      'name': 'xoptim/patterns/onnx_constants.py'},
     {'chars': 3340,
      'dir': 'xoptim',
      'ext': '.py',
      'lines': 106,
      'name': 'xoptim/patterns/onnx_unsqueeze.py'},
     {'chars': 2728,
      'dir': 'xoptim',
      'ext': '.py',
      'lines': 86,
      'name': 'xoptim/patterns/onnx_sub.py'},
     {'chars': 1077,
      'dir': 'xoptim',
      'ext': '.py',
      'lines': 37,
      'name': 'xoptim/patterns/onnx_conv.py'},
     {'chars': 2432,
      'dir': 'xoptim',
      'ext': '.py',
      'lines': 73,
      'name': 'xoptim/patterns/onnx_reduce.py'},
     {'chars': 4432,
      'dir': 'xoptim',
      'ext': '.py',
      'lines': 150,
      'name': 'xoptim/patterns/onnx_split.py'},
     {'chars': 4722,
      'dir': 'xoptim',
      'ext': '.py',
      'lines': 140,
      'name': 'xoptim/patterns/__init__.py'},
     {'chars': 8033,
      'dir': 'xoptim',
      'ext': '.py',
      'lines': 304,
      'name': 'xoptim/patterns/onnx_transpose.py'},
     {'chars': 3025,
      'dir': 'xoptim',
      'ext': '.py',
      'lines': 107,
      'name': 'xoptim/patterns/onnx_slice.py'},
     {'chars': 1136,
      'dir': 'xoptim',
      'ext': '.py',
      'lines': 42,
      'name': 'xoptim/patterns/onnx_dropout.py'},
     {'chars': 1241,
      'dir': 'xoptim',
      'ext': '.py',
      'lines': 42,
      'name': 'xoptim/patterns_ort/fused_conv.py'},
     {'chars': 6861,
      'dir': 'xoptim',
      'ext': '.py',
      'lines': 222,
      'name': 'xoptim/patterns_ort/activation.py'},
     {'chars': 1456,
      'dir': 'xoptim',
      'ext': '.py',
      'lines': 49,
      'name': 'xoptim/patterns_ort/gather_grad.py'},
     {'chars': 1929,
      'dir': 'xoptim',
      'ext': '.py',
      'lines': 55,
      'name': 'xoptim/patterns_ort/activation_grad.py'},
     {'chars': 12381,
      'dir': 'xoptim',
      'ext': '.py',
      'lines': 432,
      'name': 'xoptim/patterns_ort/fused_matmul.py'},
     {'chars': 5662,
      'dir': 'xoptim',
      'ext': '.py',
      'lines': 177,
      'name': 'xoptim/patterns_ort/llm_optim.py'},
     {'chars': 5758,
      'dir': 'xoptim',
      'ext': '.py',
      'lines': 166,
      'name': 'xoptim/patterns_ort/simplified_layer_normalization.py'},
     {'chars': 4071,
      'dir': 'xoptim',
      'ext': '.py',
      'lines': 142,
      'name': 'xoptim/patterns_ort/batch_normalization.py'},
     {'chars': 1883,
      'dir': 'xoptim',
      'ext': '.py',
      'lines': 56,
      'name': 'xoptim/patterns_ort/__init__.py'},
     {'chars': 12986,
      'dir': 'xoptim',
      'ext': '.py',
      'lines': 390,
      'name': 'xoptim/patterns_ort/attention_patterns.py'},
     {'chars': 1283,
      'dir': 'xoptim',
      'ext': '.py',
      'lines': 44,
      'name': 'xoptim/patterns_fix/add_reduction_scatter_nd.py'},
     {'chars': 515,
      'dir': 'xoptim',
      'ext': '.py',
      'lines': 15,
      'name': 'xoptim/patterns_fix/__init__.py'},
     {'chars': 3533,
      'dir': 'torch_dynamo',
      'ext': '.py',
      'lines': 122,
      'name': 'torch_dynamo/dynger_backend.py'},
     {'chars': 9450,
      'dir': 'torch_dynamo',
      'ext': '.py',
      'lines': 326,
      'name': 'torch_dynamo/debug_backend.py'},
     {'chars': 19269,
      'dir': 'torch_dynamo',
      'ext': '.py',
      'lines': 635,
      'name': 'torch_dynamo/fast_backend.py'},
     {'chars': 2428,
      'dir': 'torch_dynamo',
      'ext': '.py',
      'lines': 72,
      'name': 'torch_dynamo/_dynamo_exporter.py'},
     {'chars': 4073,
      'dir': 'torch_dynamo',
      'ext': '.py',
      'lines': 128,
      'name': 'torch_dynamo/partition.py'},
     {'chars': 567,
      'dir': 'torch_dynamo',
      'ext': '.py',
      'lines': 18,
      'name': 'torch_dynamo/backend_helper.py'},
     {'chars': 6857,
      'dir': 'torch_dynamo',
      'ext': '.py',
      'lines': 225,
      'name': 'torch_dynamo/__init__.py'},
     {'chars': 5839,
      'dir': 'torch_bench',
      'ext': '.py',
      'lines': 165,
      'name': 'torch_bench/dort_profile.py'},
     {'chars': 929,
      'dir': 'torch_bench',
      'ext': '.py',
      'lines': 20,
      'name': 'torch_bench/bash_bench_huggingface_big.py'},
     {'chars': 17932,
      'dir': 'torch_bench',
      'ext': '.py',
      'lines': 609,
      'name': 'torch_bench/export_model_helper.py'},
     {'chars': 54683,
      'dir': 'torch_bench',
      'ext': '.py',
      'lines': 2109,
      'name': 'torch_bench/_bash_bench_benchmark_runner_agg_helper.py'},
     {'chars': 14370,
      'dir': 'torch_bench',
      'ext': '.py',
      'lines': 516,
      'name': 'torch_bench/_bash_bench_set_huggingface.py'},
     {'chars': 4087,
      'dir': 'torch_bench',
      'ext': '.py',
      'lines': 376,
      'name': 'torch_bench/_bash_bench_models_helper.py'},
     {'chars': 5579,
      'dir': 'torch_bench',
      'ext': '.py',
      'lines': 191,
      'name': 'torch_bench/bash_bench_agg.py'},
     {'chars': 33161,
      'dir': 'torch_bench',
      'ext': '.py',
      'lines': 1228,
      'name': 'torch_bench/_bash_bench_benchmark_runner_agg.py'},
     {'chars': 744,
      'dir': 'torch_bench',
      'ext': '.py',
      'lines': 18,
      'name': 'torch_bench/bash_bench_explicit.py'},
     {'chars': 9880,
      'dir': 'torch_bench',
      'ext': '.py',
      'lines': 407,
      'name': 'torch_bench/_bash_bench_untrained.py'},
     {'chars': 7478,
      'dir': 'torch_bench',
      'ext': '.py',
      'lines': 204,
      'name': 'torch_bench/_bash_bench_set_dummies.py'},
     {'chars': 5975,
      'dir': 'torch_bench',
      'ext': '.py',
      'lines': 197,
      'name': 'torch_bench/dort_bench_profile.py'},
     {'chars': 17089,
      'dir': 'torch_bench',
      'ext': '.py',
      'lines': 539,
      'name': 'torch_bench/_dort_cmd_common.py'},
     {'chars': 845,
      'dir': 'torch_bench',
      'ext': '.py',
      'lines': 20,
      'name': 'torch_bench/bash_bench_issues.py'},
     {'chars': 2383,
      'dir': 'torch_bench',
      'ext': '.py',
      'lines': 91,
      'name': 'torch_bench/_bash_bench_set_issues.py'},
     {'chars': 925,
      'dir': 'torch_bench',
      'ext': '.py',
      'lines': 26,
      'name': 'torch_bench/bash_bench_torchbench.py'},
     {'chars': 2455,
      'dir': 'torch_bench',
      'ext': '.py',
      'lines': 94,
      'name': 'torch_bench/_bash_bench_set_explicit.py'},
     {'chars': 51342,
      'dir': 'torch_bench',
      'ext': '.py',
      'lines': 1652,
      'name': 'torch_bench/_bash_bench_benchmark_runner.py'},
     {'chars': 9839,
      'dir': 'torch_bench',
      'ext': '.py',
      'lines': 309,
      'name': 'torch_bench/dort_bench.py'},
     {'chars': 947,
      'dir': 'torch_bench',
      'ext': '.py',
      'lines': 26,
      'name': 'torch_bench/bash_bench_torchbench_ado.py'},
     {'chars': 59393,
      'dir': 'torch_bench',
      'ext': '.py',
      'lines': 2095,
      'name': 'torch_bench/_bash_bench_model_runner.py'},
     {'chars': 780,
      'dir': 'torch_bench',
      'ext': '.py',
      'lines': 18,
      'name': 'torch_bench/bash_bench_timm.py'},
     {'chars': 48,
      'dir': 'torch_bench',
      'ext': '.py',
      'lines': 1,
      'name': 'torch_bench/__init__.py'},
     {'chars': 2732,
      'dir': 'torch_bench',
      'ext': '.py',
      'lines': 99,
      'name': 'torch_bench/_bash_bench_set_huggingface_big.py'},
     {'chars': 10210,
      'dir': 'torch_bench',
      'ext': '.py',
      'lines': 319,
      'name': 'torch_bench/_bash_bench_cmd.py'},
     {'chars': 13548,
      'dir': 'torch_bench',
      'ext': '.py',
      'lines': 534,
      'name': 'torch_bench/_bash_bench_set_timm.py'},
     {'chars': 7617,
      'dir': 'torch_bench',
      'ext': '.py',
      'lines': 264,
      'name': 'torch_bench/_dort_cmd_common_models.py'},
     {'chars': 1319,
      'dir': 'torch_bench',
      'ext': '.py',
      'lines': 43,
      'name': 'torch_bench/check_model.py'},
     {'chars': 1015,
      'dir': 'torch_bench',
      'ext': '.py',
      'lines': 22,
      'name': 'torch_bench/bash_bench_huggingface.py'},
     {'chars': 20481,
      'dir': 'torch_bench',
      'ext': '.py',
      'lines': 822,
      'name': 'torch_bench/_bash_bench_set_torchbench.py'},
     {'chars': 5300,
      'dir': 'torch_bench',
      'ext': '.py',
      'lines': 174,
      'name': 'torch_bench/export_model.py'},
     {'chars': 897,
      'dir': 'torch_bench',
      'ext': '.py',
      'lines': 33,
      'name': 'torch_bench/_bash_bench_set_torchbench_ado.py'},
     {'chars': 754,
      'dir': 'torch_bench',
      'ext': '.py',
      'lines': 18,
      'name': 'torch_bench/bash_bench_untrained.py'},
     {'chars': 685,
      'dir': 'torch_bench',
      'ext': '.py',
      'lines': 27,
      'name': 'torch_bench/big_models/try_minilm_test.py'},
     {'chars': 3273,
      'dir': 'torch_bench',
      'ext': '.py',
      'lines': 109,
      'name': 'torch_bench/big_models/try_minilm.py'},
     {'chars': 1778,
      'dir': 'torch_bench',
      'ext': '.py',
      'lines': 59,
      'name': 'torch_bench/big_models/try_falcon_mamba_test.py'},
     {'chars': 686,
      'dir': 'torch_bench',
      'ext': '.py',
      'lines': 27,
      'name': 'torch_bench/big_models/try_smollm_test.py'},
     {'chars': 2448,
      'dir': 'torch_bench',
      'ext': '.py',
      'lines': 93,
      'name': 'torch_bench/big_models/try_codellama.py'},
     {'chars': 2620,
      'dir': 'torch_bench',
      'ext': '.py',
      'lines': 93,
      'name': 'torch_bench/big_models/try_falcon_mamba.py'},
     {'chars': 914,
      'dir': 'torch_bench',
      'ext': '.py',
      'lines': 31,
      'name': 'torch_bench/big_models/try_flux_t5_test.py'},
     {'chars': 2922,
      'dir': 'torch_bench',
      'ext': '.py',
      'lines': 96,
      'name': 'torch_bench/big_models/try_stable_diffusion_3.py'},
     {'chars': 1582,
      'dir': 'torch_bench',
      'ext': '.py',
      'lines': 34,
      'name': 'torch_bench/big_models/main_spy_phi2.py'},
     {'chars': 2749,
      'dir': 'torch_bench',
      'ext': '.py',
      'lines': 88,
      'name': 'torch_bench/big_models/try_phi35_vision_test.py'},
     {'chars': 3160,
      'dir': 'torch_bench',
      'ext': '.py',
      'lines': 81,
      'name': 'torch_bench/big_models/main_spy_phi35_vision.py'},
     {'chars': 2344,
      'dir': 'torch_bench',
      'ext': '.py',
      'lines': 71,
      'name': 'torch_bench/big_models/try_phi35_mini_instruct_test.py'},
     {'chars': 935,
      'dir': 'torch_bench',
      'ext': '.py',
      'lines': 32,
      'name': 'torch_bench/big_models/try_flux_transformer_test.py'},
     {'chars': 21096,
      'dir': 'torch_bench',
      'ext': '.py',
      'lines': 296,
      'name': 'torch_bench/big_models/main_spy_phi35_vision_dummy.py'},
     {'chars': 2339,
      'dir': 'torch_bench',
      'ext': '.py',
      'lines': 87,
      'name': 'torch_bench/big_models/try_smollm.py'},
     {'chars': 1618,
      'dir': 'torch_bench',
      'ext': '.py',
      'lines': 51,
      'name': 'torch_bench/big_models/__init__.py'},
     {'chars': 1864,
      'dir': 'torch_bench',
      'ext': '.py',
      'lines': 67,
      'name': 'torch_bench/big_models/try_flux_transformer.py'},
     {'chars': 692,
      'dir': 'torch_bench',
      'ext': '.py',
      'lines': 27,
      'name': 'torch_bench/big_models/try_codellama_test.py'},
     {'chars': 4514,
      'dir': 'torch_bench',
      'ext': '.py',
      'lines': 844,
      'name': 'torch_bench/big_models/try_phi35_vision.py'},
     {'chars': 1453,
      'dir': 'torch_bench',
      'ext': '.py',
      'lines': 49,
      'name': 'torch_bench/big_models/try_phi35_mini_instruct.py'},
     {'chars': 688,
      'dir': 'torch_bench',
      'ext': '.py',
      'lines': 26,
      'name': 'torch_bench/big_models/try_stable_diffusion_3_test.py'},
     {'chars': 1205,
      'dir': 'torch_bench',
      'ext': '.py',
      'lines': 47,
      'name': 'torch_bench/big_models/try_flux_t5.py'}]
experimental_experiment.ext_test_case.unit_test_going()[source]

Enables a flag telling the script is running while testing it. Avois unit tests to be very long.

experimental_experiment.ext_test_case.with_path_append(path_to_add: str | List[str]) Callable[source]

Adds a path to sys.path to check.