tools#

Benchmark#

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

Measures a statement and returns the results as a dictionary.

Parameters:
  • stmt – string

  • context – variable to know in a dictionary

  • repeat – average over repeat experiment

  • number – number of executions in one row

  • 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 onnx_array_api.ext_test_case import measure_time
from math import cos

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

>>>

    {'average': 1.0000000111176631e-07, 'deviation': 5.5367856276659295e-08, 'min_exec': 7.99999907030724e-08, 'max_exec': 2.659999881871045e-07, 'repeat': 10, 'number': 50, 'ttime': 1.0000000111176631e-06, 'context_size': 64}

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.

Changed in version 0.4: Parameter max_time was added.

Examples#

onnx_array_api.ext_test_case.example_path(path: str) str[source]#

Fixes a path for the examples. Helps running the example within a unit test.

Unit tests#

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

Catches warnings.

Parameters:

warns – warnings to ignore

class onnx_array_api.ext_test_case.ExtTestCase(methodName='runTest')[source]#
capture(fct: Callable)[source]#

Runs a function and capture standard output and error.

Parameters:

fct – function to run

Returns:

result of fct, output, error

relative_path(filename: str, *names: List[str]) str[source]#

Returns a path relative to the folder filename is in. The function checks the path existence.

Parameters:
  • filename – filename

  • names – additional path pieces

Returns:

new path

classmethod tearDownClass()[source]#

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