onnx-diagnostic 0.6.1__py3-none-any.whl → 0.6.3__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (26) hide show
  1. onnx_diagnostic/__init__.py +1 -1
  2. onnx_diagnostic/_command_lines_parser.py +24 -3
  3. onnx_diagnostic/doc.py +46 -0
  4. onnx_diagnostic/helpers/doc_helper.py +163 -0
  5. onnx_diagnostic/helpers/model_builder_helper.py +3 -0
  6. onnx_diagnostic/helpers/onnx_helper.py +291 -7
  7. onnx_diagnostic/reference/torch_evaluator.py +141 -11
  8. onnx_diagnostic/reference/torch_ops/__init__.py +1 -1
  9. onnx_diagnostic/reference/torch_ops/_op_run.py +14 -5
  10. onnx_diagnostic/reference/torch_ops/access_ops.py +18 -8
  11. onnx_diagnostic/reference/torch_ops/binary_ops.py +2 -2
  12. onnx_diagnostic/reference/torch_ops/controlflow_ops.py +7 -4
  13. onnx_diagnostic/reference/torch_ops/generator_ops.py +4 -3
  14. onnx_diagnostic/reference/torch_ops/nn_ops.py +34 -14
  15. onnx_diagnostic/reference/torch_ops/other_ops.py +19 -19
  16. onnx_diagnostic/reference/torch_ops/reduce_ops.py +6 -6
  17. onnx_diagnostic/reference/torch_ops/sequence_ops.py +6 -6
  18. onnx_diagnostic/reference/torch_ops/shape_ops.py +16 -15
  19. onnx_diagnostic/reference/torch_ops/unary_ops.py +13 -13
  20. onnx_diagnostic/torch_export_patches/patch_module_helper.py +1 -0
  21. onnx_diagnostic/torch_models/test_helper.py +34 -12
  22. {onnx_diagnostic-0.6.1.dist-info → onnx_diagnostic-0.6.3.dist-info}/METADATA +1 -1
  23. {onnx_diagnostic-0.6.1.dist-info → onnx_diagnostic-0.6.3.dist-info}/RECORD +26 -25
  24. {onnx_diagnostic-0.6.1.dist-info → onnx_diagnostic-0.6.3.dist-info}/WHEEL +0 -0
  25. {onnx_diagnostic-0.6.1.dist-info → onnx_diagnostic-0.6.3.dist-info}/licenses/LICENSE.txt +0 -0
  26. {onnx_diagnostic-0.6.1.dist-info → onnx_diagnostic-0.6.3.dist-info}/top_level.txt +0 -0
@@ -2,18 +2,18 @@ from typing import Optional
2
2
  import onnx
3
3
  import torch
4
4
  from ...helpers.torch_helper import onnx_dtype_to_torch_dtype
5
- from . import OpRun, OpRunSequence, OpRunTensor
5
+ from . import OpRunKernel, OpRunSequence, OpRunTensor
6
6
 
7
7
 
8
- class OpRunOpSequence(OpRun):
8
+ class OpRunOpSequence(OpRunKernel):
9
9
  "Ancestor for kernel using sequences."
10
10
 
11
11
 
12
12
  class ConcatFromSequence_11(OpRunOpSequence):
13
13
  "ConcatFromSequence"
14
14
 
15
- def __init__(self, node: onnx.NodeProto, version: Optional[int] = None):
16
- super().__init__(node, version)
15
+ def __init__(self, node: onnx.NodeProto, version: Optional[int] = None, verbose: int = 0):
16
+ super().__init__(node, version, verbose=verbose)
17
17
  axis = self.get_attribute_int(node, "axis", None)
18
18
  assert isinstance(axis, int), f"Unexpected value for attribute axis={axis!r}"
19
19
  self.axis = axis
@@ -39,8 +39,8 @@ class ConcatFromSequence_11(OpRunOpSequence):
39
39
  class SequenceEmpty_11(OpRunOpSequence):
40
40
  "SqeuenceEmpty"
41
41
 
42
- def __init__(self, node: onnx.NodeProto, version: Optional[int] = None):
43
- super().__init__(node, version)
42
+ def __init__(self, node: onnx.NodeProto, version: Optional[int] = None, verbose: int = 0):
43
+ super().__init__(node, version, verbose=verbose)
44
44
  self.dtype = onnx_dtype_to_torch_dtype(
45
45
  self.get_attribute_int(node, "dtype", onnx.TensorProto.FLOAT) # type: ignore[arg-type]
46
46
  )
@@ -1,10 +1,10 @@
1
1
  from typing import Optional, Tuple
2
2
  import onnx
3
3
  import torch
4
- from . import OpRun, OpRunTensor
4
+ from . import OpRunKernel, OpRunTensor
5
5
 
6
6
 
7
- class ConstantOfShape_9(OpRun):
7
+ class ConstantOfShape_9(OpRunKernel):
8
8
  "ConstantOfShape"
9
9
 
10
10
  @classmethod
@@ -19,8 +19,9 @@ class ConstantOfShape_9(OpRun):
19
19
  node: onnx.NodeProto,
20
20
  version: Optional[int] = None,
21
21
  device: Optional[torch.device] = None,
22
+ verbose: int = 0,
22
23
  ):
23
- super().__init__(node, version)
24
+ super().__init__(node, version, verbose=verbose)
24
25
  value = self.get_attribute_tensor(node, "value")
25
26
  if value is None:
26
27
  value = torch.tensor([0], dtype=torch.float32)
@@ -37,7 +38,7 @@ class ConstantOfShape_9(OpRun):
37
38
  )
38
39
 
39
40
 
40
- class Expand_8(OpRun):
41
+ class Expand_8(OpRunKernel):
41
42
  "Expand"
42
43
 
43
44
  def run(self, data: OpRunTensor, shape: OpRunTensor) -> OpRunTensor:
@@ -45,11 +46,11 @@ class Expand_8(OpRun):
45
46
  return OpRunTensor(data.tensor.expand(ishape))
46
47
 
47
48
 
48
- class Reshape_14(OpRun):
49
+ class Reshape_14(OpRunKernel):
49
50
  "Reshape"
50
51
 
51
- def __init__(self, node: onnx.NodeProto, version: Optional[int] = None):
52
- super().__init__(node, version)
52
+ def __init__(self, node: onnx.NodeProto, version: Optional[int] = None, verbose: int = 0):
53
+ super().__init__(node, version, verbose=verbose)
53
54
  self.allowzero = self.get_attribute_int(node, "allowzero", 0)
54
55
 
55
56
  def run(self, data: OpRunTensor, shape: OpRunTensor) -> OpRunTensor:
@@ -64,9 +65,9 @@ class Reshape_14(OpRun):
64
65
  return OpRunTensor(data.tensor.reshape(ishape))
65
66
 
66
67
 
67
- class Shape_15(OpRun):
68
- def __init__(self, node: onnx.NodeProto, version: Optional[int] = None):
69
- super().__init__(node, version)
68
+ class Shape_15(OpRunKernel):
69
+ def __init__(self, node: onnx.NodeProto, version: Optional[int] = None, verbose: int = 0):
70
+ super().__init__(node, version, verbose=verbose)
70
71
  self.start = self.get_attribute_int(node, "start", 0)
71
72
  self.end = self.get_attribute_int(node, "end", None)
72
73
 
@@ -76,9 +77,9 @@ class Shape_15(OpRun):
76
77
  return OpRunTensor(torch.tensor(sh, dtype=torch.int64), is_constant=True)
77
78
 
78
79
 
79
- class Split_18(OpRun):
80
- def __init__(self, node: onnx.NodeProto, version: Optional[int] = None):
81
- super().__init__(node, version)
80
+ class Split_18(OpRunKernel):
81
+ def __init__(self, node: onnx.NodeProto, version: Optional[int] = None, verbose: int = 0):
82
+ super().__init__(node, version, verbose=verbose)
82
83
  self.axis = self.get_attribute_int(node, "axis", 0)
83
84
  self.num_outputs = self.get_attribute_int(node, "num_outputs", None)
84
85
 
@@ -101,7 +102,7 @@ class Split_18(OpRun):
101
102
  return tuple(OpRunTensor(t) for t in spl)
102
103
 
103
104
 
104
- class Squeeze_13(OpRun):
105
+ class Squeeze_13(OpRunKernel):
105
106
  "Squeeze"
106
107
 
107
108
  def run(self, data: OpRunTensor, axes: Optional[OpRunTensor] = None) -> OpRunTensor:
@@ -110,7 +111,7 @@ class Squeeze_13(OpRun):
110
111
  return OpRunTensor(data.tensor.squeeze(axes.as_tuple_int))
111
112
 
112
113
 
113
- class Unsqueeze_13(OpRun):
114
+ class Unsqueeze_13(OpRunKernel):
114
115
  "Unsqueeze"
115
116
 
116
117
  def run(self, data: OpRunTensor, axes: OpRunTensor) -> OpRunTensor:
@@ -1,85 +1,85 @@
1
1
  import torch
2
- from . import OpRun, OpRunTensor
2
+ from . import OpRunKernel, OpRunTensor
3
3
 
4
4
 
5
- class Abs_1(OpRun):
5
+ class Abs_1(OpRunKernel):
6
6
  """Abs"""
7
7
 
8
8
  def run(self, x: OpRunTensor) -> OpRunTensor:
9
9
  return OpRunTensor(torch.abs(x.tensor))
10
10
 
11
11
 
12
- class Cos_1(OpRun):
12
+ class Cos_1(OpRunKernel):
13
13
  """Cos"""
14
14
 
15
15
  def run(self, x: OpRunTensor) -> OpRunTensor:
16
16
  return OpRunTensor(x.tensor.cos())
17
17
 
18
18
 
19
- class Erf_9(OpRun):
19
+ class Erf_9(OpRunKernel):
20
20
  """Erf"""
21
21
 
22
22
  def run(self, x: OpRunTensor) -> OpRunTensor:
23
23
  return OpRunTensor(x.tensor.erf())
24
24
 
25
25
 
26
- class Exp_1(OpRun):
26
+ class Exp_1(OpRunKernel):
27
27
  """Exp"""
28
28
 
29
29
  def run(self, x: OpRunTensor) -> OpRunTensor:
30
30
  return OpRunTensor(x.tensor.exp())
31
31
 
32
32
 
33
- class Identity_1(OpRun):
33
+ class Identity_1(OpRunKernel):
34
34
  "Identity"
35
35
 
36
36
  def run(self, x: OpRunTensor) -> OpRunTensor:
37
37
  return OpRunTensor(x.tensor)
38
38
 
39
39
 
40
- class Log_1(OpRun):
40
+ class Log_1(OpRunKernel):
41
41
  """Log"""
42
42
 
43
43
  def run(self, x: OpRunTensor) -> OpRunTensor:
44
44
  return OpRunTensor(x.tensor.log())
45
45
 
46
46
 
47
- class Neg_1(OpRun):
47
+ class Neg_1(OpRunKernel):
48
48
  """Neg"""
49
49
 
50
50
  def run(self, x: OpRunTensor) -> OpRunTensor:
51
51
  return OpRunTensor(-x.tensor)
52
52
 
53
53
 
54
- class Not_1(OpRun):
54
+ class Not_1(OpRunKernel):
55
55
  """Not"""
56
56
 
57
57
  def run(self, x: OpRunTensor) -> OpRunTensor:
58
58
  return OpRunTensor(~x.tensor)
59
59
 
60
60
 
61
- class Reciprocal_1(OpRun):
61
+ class Reciprocal_1(OpRunKernel):
62
62
  """REciprocal"""
63
63
 
64
64
  def run(self, x: OpRunTensor) -> OpRunTensor:
65
65
  return OpRunTensor(1 / x.tensor)
66
66
 
67
67
 
68
- class Sigmoid_6(OpRun):
68
+ class Sigmoid_6(OpRunKernel):
69
69
  """Sqrt"""
70
70
 
71
71
  def run(self, x: OpRunTensor) -> OpRunTensor:
72
72
  return OpRunTensor(torch.sigmoid(x.tensor))
73
73
 
74
74
 
75
- class Sin_1(OpRun):
75
+ class Sin_1(OpRunKernel):
76
76
  """Sin"""
77
77
 
78
78
  def run(self, x: OpRunTensor) -> OpRunTensor:
79
79
  return OpRunTensor(x.tensor.sin())
80
80
 
81
81
 
82
- class Sqrt_1(OpRun):
82
+ class Sqrt_1(OpRunKernel):
83
83
  """Sqrt"""
84
84
 
85
85
  def run(self, x: OpRunTensor) -> OpRunTensor:
@@ -80,6 +80,7 @@ def known_transformers_rewritings_clamp_float16() -> Dict[str, str]:
80
80
  "AutoformerModel": "AutoformerEncoderLayer",
81
81
  "BartEncoderLayer": "BartEncoderLayer",
82
82
  "BartForConditionalGeneration": "BartEncoderLayer",
83
+ "BartModel": "BartEncoderLayer",
83
84
  "BigBirdPegasusForConditionalGeneration": "BigBirdPegasusEncoderLayer",
84
85
  "BigBirdPegasusForQuestionAnswering": "BigBirdPegasusEncoderLayer",
85
86
  "BigBirdPegasusForCausalLM": "BigBirdPegasusEncoderLayer",
@@ -278,6 +278,8 @@ def validate_model(
278
278
  ) -> Tuple[Dict[str, Union[int, float, str]], Dict[str, Any]]:
279
279
  """
280
280
  Validates a model.
281
+ The function can also be called through the command line
282
+ :ref:`l-cmd-validate`.
281
283
 
282
284
  :param model_id: model id to validate
283
285
  :param task: task used to generate the necessary inputs,
@@ -285,7 +287,8 @@ def validate_model(
285
287
  if it can be determined
286
288
  :param do_run: checks the model works with the defined inputs
287
289
  :param exporter: exporter the model using this exporter,
288
- available list: ``export-strict``, ``export-nostrict``, ``onnx``
290
+ available list: ``export-strict``, ``export-nostrict``, ...
291
+ see below
289
292
  :param do_same: checks the discrepancies of the exported model
290
293
  :param verbose: verbosity level
291
294
  :param dtype: uses this dtype to check the model
@@ -322,6 +325,20 @@ def validate_model(
322
325
  information:
323
326
 
324
327
  * ``PRINT_CONFIG``: prints the model configuration
328
+
329
+ The following exporters are available:
330
+
331
+ * ``export-nostrict``: run :func:`torch.export.export` (..., strict=False)
332
+ * ``onnx-dynamo``: run :func:`torch.onnx.export` (..., dynamo=True),
333
+ models can be optimized with ``optimization`` in ``("ir", "os_ort")``
334
+ * ``modelbuilder``: use :epkg:`ModelBuilder` to builds the onnx model
335
+ * ``custom``: custom exporter (see :epkg:`experimental-experiment`),
336
+ models can be optimized with ``optimization`` in
337
+ ``("default", "default+onnxruntime", "default+os_ort", "default+onnxruntime+os_ort")``
338
+
339
+ The default runtime, :epkg:`onnxruntime` is used to validate a model and check the
340
+ exported model returns the same outputs as the original one, otherwise,
341
+ :class:`onnx_diagnostic.reference.TorchOnnxEvaluator` is used.
325
342
  """
326
343
  assert (
327
344
  not rewrite or patch
@@ -370,6 +387,12 @@ def validate_model(
370
387
  if model_options:
371
388
  print(f"[validate_model] model_options={model_options!r}")
372
389
  print(f"[validate_model] get dummy inputs with input_options={input_options}...")
390
+ print(
391
+ f"[validate_model] rewrite={rewrite}, patch={patch}, "
392
+ f"stop_if_static={stop_if_static}"
393
+ )
394
+ print(f"[validate_model] exporter={exporter!r}, optimization={optimization!r}")
395
+ print(f"[validate_model] dump_folder={dump_folder!r}")
373
396
  summary["model_id"] = model_id
374
397
  summary["model_subfolder"] = subfolder or ""
375
398
 
@@ -429,6 +452,8 @@ def validate_model(
429
452
  print(f"[validate_model] model_rewrite={summary['model_rewrite']}")
430
453
  else:
431
454
  del data["rewrite"]
455
+ if verbose:
456
+ print("[validate_model] no rewrite")
432
457
  if os.environ.get("PRINT_CONFIG", "0") in (1, "1"):
433
458
  print("[validate_model] -- PRINT CONFIG")
434
459
  print("-- type(config)", type(data["configuration"]))
@@ -1317,13 +1342,13 @@ def call_torch_export_custom(
1317
1342
  "custom-nostrict",
1318
1343
  "custom-nostrict-default",
1319
1344
  "custom-nostrict-all",
1320
- "custom-inline",
1321
- "custom-strict-inline",
1322
- "custom-strict-default-inline",
1323
- "custom-strict-all-inline",
1324
- "custom-nostrict-inline",
1325
- "custom-nostrict-default-inline",
1326
- "custom-nostrict-all-inline",
1345
+ "custom-noinline",
1346
+ "custom-strict-noinline",
1347
+ "custom-strict-default-noinline",
1348
+ "custom-strict-all-noinline",
1349
+ "custom-nostrict-noinline",
1350
+ "custom-nostrict-default-noinline",
1351
+ "custom-nostrict-all-noinline",
1327
1352
  }
1328
1353
  assert exporter in available, f"Unexpected value for exporter={exporter!r} in {available}"
1329
1354
  assert "model" in data, f"model is missing from data: {sorted(data)}"
@@ -1364,10 +1389,7 @@ def call_torch_export_custom(
1364
1389
  ),
1365
1390
  save_ep=(os.path.join(dump_folder, f"{exporter}.ep") if dump_folder else None),
1366
1391
  )
1367
- inline = "-inline" in exporter
1368
- if inline:
1369
- export_options.aten_as_function = set()
1370
-
1392
+ inline = "-noinline" not in exporter
1371
1393
  options = OptimizationOptions(patterns=optimization) if optimization else None
1372
1394
  model = data["model"]
1373
1395
  kws = dict(
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: onnx-diagnostic
3
- Version: 0.6.1
3
+ Version: 0.6.3
4
4
  Summary: Investigate ONNX models
5
5
  Home-page: https://github.com/sdpython/onnx-diagnostic
6
6
  Author: Xavier Dupré
@@ -1,8 +1,8 @@
1
- onnx_diagnostic/__init__.py,sha256=yCtQh931_2K3SHqvkJ_EVFSKxjtdNDc21rdCxdemDBM,173
1
+ onnx_diagnostic/__init__.py,sha256=mRkq5dlSo05GQMct7d6mMZLb6s5T24eG_3mD5O3wBo0,173
2
2
  onnx_diagnostic/__main__.py,sha256=YmyV_Aq_ianDlHyKLHMa6h8YK3ZmFPpLVHLKjM91aCk,79
3
- onnx_diagnostic/_command_lines_parser.py,sha256=WSoopSHjXWEgFvzyfGe3_c-hZoStuQPQc_k08siFuf4,19211
3
+ onnx_diagnostic/_command_lines_parser.py,sha256=pxG3dYpTTpRCjBRzFGEZm4ewb7xprZihP7fG08kWL04,19989
4
4
  onnx_diagnostic/api.py,sha256=BhCl_yCd78N7TlVtPOHjeYv1QBEy39TjZ647rcHqLh0,345
5
- onnx_diagnostic/doc.py,sha256=MTuT7Kxyvn7KEy84liQeFeqhugJrUQhjjpx21F72Uxw,926
5
+ onnx_diagnostic/doc.py,sha256=O_ncetL0G4-oHIxLv8ofTIIxCT_5ESSkKxfYvgccJEc,2038
6
6
  onnx_diagnostic/ext_test_case.py,sha256=nhWz75caudvKn-svH1ppUY8uw8MoTD4cEdqMdj6PiPc,42399
7
7
  onnx_diagnostic/export/__init__.py,sha256=yEIoWiOeTwBsDhyYt2fTKuhtA0Ya1J9u9ZzMTOTWaWs,101
8
8
  onnx_diagnostic/export/dynamic_shapes.py,sha256=EHB7VoWNx8sVetvOgE1vgC7wHtIjWDLjanhbEJNpK88,39892
@@ -12,12 +12,13 @@ onnx_diagnostic/helpers/args_helper.py,sha256=SRWnqC7EENg09RZlA50B_PcdiIhdbgA4C3
12
12
  onnx_diagnostic/helpers/bench_run.py,sha256=CGA6VMJZMH2gDhVueT9ypNm4PMcjGrrGFYp08nhWj9k,16539
13
13
  onnx_diagnostic/helpers/cache_helper.py,sha256=soKjyIXa7EQgALd9PAUGIKYzXlJGoLevYiQDsxoqkQ4,8349
14
14
  onnx_diagnostic/helpers/config_helper.py,sha256=aZATKVbZuw8L56KQpwMNcqJ3Qi5OplzS_N3ETR3hmj0,3351
15
+ onnx_diagnostic/helpers/doc_helper.py,sha256=pl5MZd3_FaE8BqQnqoBuSBxoNCFcd2OJd3eITUSku5c,5897
15
16
  onnx_diagnostic/helpers/graph_helper.py,sha256=hevQT5a7_QuriVPQcbT5qe18n99Doyl5h3-qshx1-uk,14093
16
17
  onnx_diagnostic/helpers/helper.py,sha256=oPybQruFcVLqvqLDhjphOZ8zZU1HHJWAlABMuTkAO8A,57090
17
18
  onnx_diagnostic/helpers/memory_peak.py,sha256=OT6mz0muBbBZY0pjgW2_eCk_lOtFRo-5w4jFo2Z6Kok,6380
18
19
  onnx_diagnostic/helpers/mini_onnx_builder.py,sha256=R1Vu4zHzN7GIUnbMVQzpkaXj8cCyyOweWOI9-TSgAHM,20966
19
- onnx_diagnostic/helpers/model_builder_helper.py,sha256=cQuC7wbl8UcU_IaSBnX_CsydKTABN6lABCWEthmpmDA,13386
20
- onnx_diagnostic/helpers/onnx_helper.py,sha256=chw-HB4iqGCD_16d0_BaCnreEgWYW4KeH78nh-3t2Uw,29213
20
+ onnx_diagnostic/helpers/model_builder_helper.py,sha256=xIZmsVMFHfdtYeZHVEffBtxYObAaRPiaSmwwSKkmLwY,13502
21
+ onnx_diagnostic/helpers/onnx_helper.py,sha256=pXXQjfyNTSUF-Kt72U4fnBDkYAnWYMxdSw8m0qk3xmE,39670
21
22
  onnx_diagnostic/helpers/ort_session.py,sha256=UgUUeUslDxEFBc6w6f3HMq_a7bn4TBlItmojqWquSj4,29281
22
23
  onnx_diagnostic/helpers/rt_helper.py,sha256=BXU_u1syk2RyM0HTFHKEiO6rHHhZW2UFPyUTVdeq8BU,4251
23
24
  onnx_diagnostic/helpers/torch_helper.py,sha256=mrmn4mBeRvMRJ9cEu7BbNG-AHq2OJfSm8dxgtzh-yQQ,31631
@@ -25,7 +26,7 @@ onnx_diagnostic/reference/__init__.py,sha256=nrd09rRuwMDBCPTSZ6kSKZXp1W9W_ExO1t9
25
26
  onnx_diagnostic/reference/evaluator.py,sha256=RzNzjFDeMe-4X51Tb22N6aagazY5ktNq-mRmPcfY5EU,8848
26
27
  onnx_diagnostic/reference/ort_evaluator.py,sha256=OaWMREF8fuJwimmONpIjQ6WxQT1X2roDsdJsgR8H_Cg,24853
27
28
  onnx_diagnostic/reference/quantized_tensor.py,sha256=5u67uS2uGacdMD5VYCbpojNjiesDlV_kO0fAJ0vUWGE,1098
28
- onnx_diagnostic/reference/torch_evaluator.py,sha256=uvcpDROoCDd8Rln_kieNRfraNg9j1FD39n1xiGNh3LA,20825
29
+ onnx_diagnostic/reference/torch_evaluator.py,sha256=qAeYvSFwOCMDctc39evBEle_2bX8kuJW2QSLksofzn8,26600
29
30
  onnx_diagnostic/reference/ops/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
30
31
  onnx_diagnostic/reference/ops/op_add_add_mul_mul.py,sha256=CXQVtgVrT066gDJFwxL4nDSY4G8r08XNu3EwhWqMapU,1521
31
32
  onnx_diagnostic/reference/ops/op_attention.py,sha256=ThALMDF53v3QeG1bohi0bvX2o90HZhGJbbAFOtwEHPE,2027
@@ -55,18 +56,18 @@ onnx_diagnostic/reference/ops/op_skip_layer_normalization.py,sha256=oJ7fQNx2iQh9
55
56
  onnx_diagnostic/reference/ops/op_slice.py,sha256=yRxfYBs8b7QezyyG9JHCD8MIJHij2qR2NNDpBmD3FJI,705
56
57
  onnx_diagnostic/reference/ops/op_transpose_cast.py,sha256=ifef74rvh0Yvq1Zx51B4mfnISbxV9uRg9DFjkdL1_68,361
57
58
  onnx_diagnostic/reference/ops/op_tri_matrix.py,sha256=Yn2gxAyygcwtF5Hjau9ihXDAzul0BAkdqVimVahtFBU,519
58
- onnx_diagnostic/reference/torch_ops/__init__.py,sha256=DzuCaiKbzJnkXprJVbVJwA7A29w6T_W1_plB_ZXDQsk,1144
59
- onnx_diagnostic/reference/torch_ops/_op_run.py,sha256=1nnW6Ub3jWkS-HI3--dhYNXRLqy9Ppe7F9kOeGGYRhw,10253
60
- onnx_diagnostic/reference/torch_ops/access_ops.py,sha256=sLiTbZUfNbATQxVpq2Rv8n6cbV4jJmQlWHUVIds_GlY,3102
61
- onnx_diagnostic/reference/torch_ops/binary_ops.py,sha256=774QlWFPvNtNhwxtLb-d28jhTO8U0cthoJKHjM89WrA,2641
62
- onnx_diagnostic/reference/torch_ops/controlflow_ops.py,sha256=EsiMFmLHxFHprCSz9OLlYxo3sMaF9czj-4NOFkHZH5c,4362
63
- onnx_diagnostic/reference/torch_ops/generator_ops.py,sha256=oxoeg7YxQiEaC20qOFI-BwQuBtkxN7y9XD9o3gPjPkI,871
64
- onnx_diagnostic/reference/torch_ops/nn_ops.py,sha256=wzXuBfMsA1aQPQDi4qAv0oZ8kB1qwt4reQ8LiWg1ulo,6906
65
- onnx_diagnostic/reference/torch_ops/other_ops.py,sha256=bIZsyqrRfTI1xiC4WvV5LcQawsy4gqqci9EgOO9rk9c,3766
66
- onnx_diagnostic/reference/torch_ops/reduce_ops.py,sha256=oeA-NNJ1MFQD7xG5RD61_3SQhXvpJpNXKZ-_0rFikjE,5020
67
- onnx_diagnostic/reference/torch_ops/sequence_ops.py,sha256=q1bwFI1zUO69KrOOAbNFqBhz1s9YkqxV1kCaBmgIoYI,2215
68
- onnx_diagnostic/reference/torch_ops/shape_ops.py,sha256=1pR-3EwhuMpAE-B2TUJs83GxDGITaLBHKxExJ-Ie1EE,4095
69
- onnx_diagnostic/reference/torch_ops/unary_ops.py,sha256=T3EtQW0p_kNN-OhjVsk1STZ0uWxXyB-rYO-lIp3gXuU,1630
59
+ onnx_diagnostic/reference/torch_ops/__init__.py,sha256=eZ7FBYH9Ta3BC0f7BJQAnIqiebqRkCt2_T3ktpVV6iQ,1150
60
+ onnx_diagnostic/reference/torch_ops/_op_run.py,sha256=EEUIwfbRldEFDhULquYhk9x5ZDa9t6f2mKJ1sM__D6A,10517
61
+ onnx_diagnostic/reference/torch_ops/access_ops.py,sha256=Zfs5OF03PV1CqlCqKI5VV-c4MY3KyQxmO7QZksxQjX8,3274
62
+ onnx_diagnostic/reference/torch_ops/binary_ops.py,sha256=-KxMcCYGDTcZyOss9qU1nU0rmdyg9SdVHJQohseSTcQ,2653
63
+ onnx_diagnostic/reference/torch_ops/controlflow_ops.py,sha256=uOEmzbM4nR2FwZQ8UikwEaHih3yw6T24D_VLYkr5RSU,4518
64
+ onnx_diagnostic/reference/torch_ops/generator_ops.py,sha256=dqqFvhkazVxRUDYhO2t-Z1etqoUt30LeX-8Pb9ZcbaM,926
65
+ onnx_diagnostic/reference/torch_ops/nn_ops.py,sha256=TeFxQEiTezx9UUzu82ToCLUnUOU56kKv6X81RdZ8UC8,7238
66
+ onnx_diagnostic/reference/torch_ops/other_ops.py,sha256=FnCY60mhdrzrsiHgvN-XpFRHYUpI0gIRqxgVK5J_na0,3995
67
+ onnx_diagnostic/reference/torch_ops/reduce_ops.py,sha256=9gFfraPTQbe_ZEUNCUis1JSmA5dj4tSzjAOpZPJKG4Y,5102
68
+ onnx_diagnostic/reference/torch_ops/sequence_ops.py,sha256=3EiVKpGfN4d1Iry4hgnr3MIJyEEKUrAIDgmRGsUXXa0,2297
69
+ onnx_diagnostic/reference/torch_ops/shape_ops.py,sha256=pJrNR2UB4PlWl6cv4EDl1uGl8YTBUUMQkhJcsh5K4sA,4291
70
+ onnx_diagnostic/reference/torch_ops/unary_ops.py,sha256=E8Ys1eZsOTsucBKoXb1_Kl5LbBDygniDvW2BvN4IPMo,1708
70
71
  onnx_diagnostic/tasks/__init__.py,sha256=5XXM-rv-Hk2gSHvqsww9DzVd9mcRifacgcPgvPCjnDM,2412
71
72
  onnx_diagnostic/tasks/automatic_speech_recognition.py,sha256=oRoYy56M0Yv_WOcn1hJXv-R9wgHkJ8rbym7j7y8oslw,6851
72
73
  onnx_diagnostic/tasks/feature_extraction.py,sha256=V-T5NpZ6EimOz00weWWxGfksZ9jQ5ZQyaP-mxuCEuJo,2223
@@ -87,7 +88,7 @@ onnx_diagnostic/torch_export_patches/onnx_export_serialization.py,sha256=l5HvE_F
87
88
  onnx_diagnostic/torch_export_patches/patch_expressions.py,sha256=vr4tt61cbDnaaaduzMj4UBZ8OUtr6GfDpIWwOYqjWzs,3213
88
89
  onnx_diagnostic/torch_export_patches/patch_inputs.py,sha256=9b4pmyT00BwLqi7WG-gliep1RUy3gXEgW6BDnlSSA-M,7689
89
90
  onnx_diagnostic/torch_export_patches/patch_module.py,sha256=R2d9IHM-RwsBKDsxuBIJnEqMoxbS9gd4YWFGG2wwV5A,39881
90
- onnx_diagnostic/torch_export_patches/patch_module_helper.py,sha256=sIvu4E9BsCB8f-KlM4xykR19mflDfLGaiel6nb9ZGx8,6926
91
+ onnx_diagnostic/torch_export_patches/patch_module_helper.py,sha256=2U0AdyZuU0W54QTdE7tY7imVzMnpQ5091ADNtTCkT8Y,6967
91
92
  onnx_diagnostic/torch_export_patches/eval/__init__.py,sha256=VtkQB1o3Q2Fh99OOF6vQ2dynkhwzx2Wx6oB-rRbvTI0,23954
92
93
  onnx_diagnostic/torch_export_patches/eval/model_cases.py,sha256=DTvdHPtNQh25Akv5o3D4Jxf1L1-SJ7w14tgvj8AAns8,26577
93
94
  onnx_diagnostic/torch_export_patches/patches/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -95,7 +96,7 @@ onnx_diagnostic/torch_export_patches/patches/patch_torch.py,sha256=KaZ8TjDa9ATgT
95
96
  onnx_diagnostic/torch_export_patches/patches/patch_transformers.py,sha256=Hf-U50vzgzJ4iUjS2LAYkbfmzCEwX80Dzvdrr-Rhlp0,26456
96
97
  onnx_diagnostic/torch_models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
97
98
  onnx_diagnostic/torch_models/llms.py,sha256=soyg4yC87ptGoeulJhKqw5opGmuLvH1pn_ZDXZ4Jr8E,90
98
- onnx_diagnostic/torch_models/test_helper.py,sha256=72HE_fY0m9TNly1w_b2dD-P67eSLJreOMYtT6W6CLfQ,58704
99
+ onnx_diagnostic/torch_models/test_helper.py,sha256=tt6bgLjGRayzvkXrTelKHTjr7XU9BvhX7uE4XJq6H6o,59927
99
100
  onnx_diagnostic/torch_models/hghub/__init__.py,sha256=vi1Q7YHdddj1soiBN42MSvJdFqe2_KUoWafHISjwOu8,58
100
101
  onnx_diagnostic/torch_models/hghub/hub_api.py,sha256=BgM_p57Q0gT9GOhdrmOYcnbuTTzCWp80jS4OQqWwFhs,9990
101
102
  onnx_diagnostic/torch_models/hghub/hub_data.py,sha256=885wKyZkdM-Qp5Sg6C9Ol1dxigmA8FYAko-Ys08sppo,8096
@@ -107,8 +108,8 @@ onnx_diagnostic/torch_models/untrained/llm_tiny_llm.py,sha256=7N3fGvT_4Mn4NbIo0Q
107
108
  onnx_diagnostic/torch_onnx/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
108
109
  onnx_diagnostic/torch_onnx/runtime_info.py,sha256=1g9F_Jf9AAgYQU4stbsrFXwQl-30mWlQrFbQ7val8Ps,9268
109
110
  onnx_diagnostic/torch_onnx/sbs.py,sha256=1EL25DeYFzlBSiFG_XjePBLvsiItRXbdDrr5-QZW2mA,16878
110
- onnx_diagnostic-0.6.1.dist-info/licenses/LICENSE.txt,sha256=Vv6TXglX6Rc0d-f8aREhayhT-6PMQXEyOmI2NKlUCMc,1045
111
- onnx_diagnostic-0.6.1.dist-info/METADATA,sha256=j0i2pgpY_6bD7IFlqqdmIZSVSvv67Q-7X4N4fih-2JQ,6643
112
- onnx_diagnostic-0.6.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
113
- onnx_diagnostic-0.6.1.dist-info/top_level.txt,sha256=KwNkXewmcobM3ZT1DJLVWH6ebJzA5qKg7cWqKfpGNT4,16
114
- onnx_diagnostic-0.6.1.dist-info/RECORD,,
111
+ onnx_diagnostic-0.6.3.dist-info/licenses/LICENSE.txt,sha256=Vv6TXglX6Rc0d-f8aREhayhT-6PMQXEyOmI2NKlUCMc,1045
112
+ onnx_diagnostic-0.6.3.dist-info/METADATA,sha256=eJxj0KTPv1rXf-3T9KImWIF-u8g7wHXBGZm5zvXM7V8,6643
113
+ onnx_diagnostic-0.6.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
114
+ onnx_diagnostic-0.6.3.dist-info/top_level.txt,sha256=KwNkXewmcobM3ZT1DJLVWH6ebJzA5qKg7cWqKfpGNT4,16
115
+ onnx_diagnostic-0.6.3.dist-info/RECORD,,