onnx-diagnostic 0.8.3__py3-none-any.whl → 0.8.5__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.
- onnx_diagnostic/__init__.py +1 -1
- onnx_diagnostic/_command_lines_parser.py +47 -10
- onnx_diagnostic/export/api.py +81 -50
- onnx_diagnostic/export/control_flow_research.py +10 -5
- onnx_diagnostic/export/onnx_plug.py +250 -61
- onnx_diagnostic/ext_test_case.py +99 -53
- onnx_diagnostic/helpers/dot_helper.py +37 -25
- onnx_diagnostic/helpers/helper.py +44 -38
- onnx_diagnostic/helpers/onnx_helper.py +441 -18
- onnx_diagnostic/helpers/ort_session.py +8 -8
- onnx_diagnostic/helpers/torch_helper.py +28 -2
- onnx_diagnostic/reference/ort_evaluator.py +6 -29
- onnx_diagnostic/torch_export_patches/patches/_patch_transformers_attention.py +1 -0
- onnx_diagnostic/torch_export_patches/patches/_patch_transformers_masking_utils.py +10 -1
- onnx_diagnostic/torch_export_patches/patches/_patch_transformers_qwen2_5.py +168 -113
- onnx_diagnostic/torch_models/code_sample.py +2 -1
- onnx_diagnostic/torch_models/hghub/model_inputs.py +34 -7
- onnx_diagnostic/torch_models/validate.py +14 -1
- onnx_diagnostic/torch_onnx/runtime_info.py +1 -24
- onnx_diagnostic/torch_onnx/sbs.py +11 -5
- onnx_diagnostic/torch_onnx/sbs_dataclasses.py +48 -4
- {onnx_diagnostic-0.8.3.dist-info → onnx_diagnostic-0.8.5.dist-info}/METADATA +1 -1
- {onnx_diagnostic-0.8.3.dist-info → onnx_diagnostic-0.8.5.dist-info}/RECORD +26 -26
- {onnx_diagnostic-0.8.3.dist-info → onnx_diagnostic-0.8.5.dist-info}/WHEEL +0 -0
- {onnx_diagnostic-0.8.3.dist-info → onnx_diagnostic-0.8.5.dist-info}/licenses/LICENSE.txt +0 -0
- {onnx_diagnostic-0.8.3.dist-info → onnx_diagnostic-0.8.5.dist-info}/top_level.txt +0 -0
|
@@ -349,13 +349,15 @@ def _prepare_validation(
|
|
|
349
349
|
verbose,
|
|
350
350
|
output_names,
|
|
351
351
|
dump_folder,
|
|
352
|
+
submodule,
|
|
352
353
|
):
|
|
353
354
|
main_validation_begin = time.perf_counter()
|
|
354
|
-
model_id, subfolder, same_as_pretrained, use_pretrained = _preprocess_model_id(
|
|
355
|
+
model_id, subfolder, same_as_pretrained, use_pretrained, submodule = _preprocess_model_id(
|
|
355
356
|
model_id,
|
|
356
357
|
subfolder,
|
|
357
358
|
same_as_pretrained=same_as_pretrained,
|
|
358
359
|
use_pretrained=use_pretrained,
|
|
360
|
+
submodule=submodule,
|
|
359
361
|
)
|
|
360
362
|
time_preprocess_model_id = time.perf_counter() - main_validation_begin
|
|
361
363
|
patch_kwargs = make_patch_kwargs(patch=patch, rewrite=rewrite)
|
|
@@ -364,6 +366,7 @@ def _prepare_validation(
|
|
|
364
366
|
summary.update(
|
|
365
367
|
dict(
|
|
366
368
|
version_model_id=model_id,
|
|
369
|
+
version_submodule=submodule,
|
|
367
370
|
version_do_run=str(do_run),
|
|
368
371
|
version_dtype=str(dtype or ""),
|
|
369
372
|
version_device=str(device or ""),
|
|
@@ -444,6 +447,7 @@ def _prepare_validation(
|
|
|
444
447
|
dump_folder,
|
|
445
448
|
folder_name,
|
|
446
449
|
patch_kwargs,
|
|
450
|
+
submodule,
|
|
447
451
|
)
|
|
448
452
|
|
|
449
453
|
|
|
@@ -460,6 +464,7 @@ def _get_untrained_model_with_inputs(
|
|
|
460
464
|
inputs2,
|
|
461
465
|
quiet,
|
|
462
466
|
dump_folder,
|
|
467
|
+
submodule,
|
|
463
468
|
):
|
|
464
469
|
iop = input_options or {}
|
|
465
470
|
mop = model_options or {}
|
|
@@ -480,6 +485,7 @@ def _get_untrained_model_with_inputs(
|
|
|
480
485
|
model_kwargs=mop,
|
|
481
486
|
subfolder=sub,
|
|
482
487
|
add_second_input=i2,
|
|
488
|
+
submodule=submodule,
|
|
483
489
|
)
|
|
484
490
|
)
|
|
485
491
|
),
|
|
@@ -842,6 +848,7 @@ def validate_model(
|
|
|
842
848
|
ort_logs: bool = False,
|
|
843
849
|
quiet_input_sets: Optional[Set[str]] = None,
|
|
844
850
|
save_ep: Optional[str] = None,
|
|
851
|
+
submodule: Optional[str] = None,
|
|
845
852
|
) -> Tuple[Dict[str, Union[int, float, str]], Dict[str, Any]]:
|
|
846
853
|
"""
|
|
847
854
|
Validates a model.
|
|
@@ -902,6 +909,7 @@ def validate_model(
|
|
|
902
909
|
even if quiet is False
|
|
903
910
|
:param save_ep: if not empty, this can be used to save the input sets and
|
|
904
911
|
the exported program
|
|
912
|
+
:param submodule: to test not the model but a submodule of this model
|
|
905
913
|
:return: two dictionaries, one with some metrics,
|
|
906
914
|
another one with whatever the function produces
|
|
907
915
|
|
|
@@ -966,6 +974,7 @@ def validate_model(
|
|
|
966
974
|
use_pretrained=use_pretrained,
|
|
967
975
|
same_as_pretrained=same_as_pretrained,
|
|
968
976
|
save_ep=save_ep,
|
|
977
|
+
submodule=submodule,
|
|
969
978
|
)
|
|
970
979
|
if dump_folder:
|
|
971
980
|
with open(dump_stats, "w") as f:
|
|
@@ -1053,6 +1062,7 @@ def _validate_model_step1(
|
|
|
1053
1062
|
use_pretrained,
|
|
1054
1063
|
same_as_pretrained,
|
|
1055
1064
|
save_ep,
|
|
1065
|
+
submodule,
|
|
1056
1066
|
):
|
|
1057
1067
|
assert not do_same or do_run, (
|
|
1058
1068
|
f"Discrepancies cannot be measured if the model is not run, "
|
|
@@ -1067,6 +1077,7 @@ def _validate_model_step1(
|
|
|
1067
1077
|
dump_folder,
|
|
1068
1078
|
folder_name,
|
|
1069
1079
|
patch_kwargs,
|
|
1080
|
+
submodule,
|
|
1070
1081
|
) = _prepare_validation(
|
|
1071
1082
|
model_id=model_id,
|
|
1072
1083
|
subfolder=subfolder,
|
|
@@ -1093,6 +1104,7 @@ def _validate_model_step1(
|
|
|
1093
1104
|
verbose=verbose,
|
|
1094
1105
|
output_names=output_names,
|
|
1095
1106
|
dump_folder=dump_folder,
|
|
1107
|
+
submodule=submodule,
|
|
1096
1108
|
)
|
|
1097
1109
|
|
|
1098
1110
|
data, iop, mop = _get_untrained_model_with_inputs(
|
|
@@ -1108,6 +1120,7 @@ def _validate_model_step1(
|
|
|
1108
1120
|
inputs2=inputs2,
|
|
1109
1121
|
quiet=quiet,
|
|
1110
1122
|
dump_folder=dump_folder,
|
|
1123
|
+
submodule=submodule,
|
|
1111
1124
|
)
|
|
1112
1125
|
|
|
1113
1126
|
second_input_keys = [k for k in data if k.startswith("inputs") and k != "inputs"]
|
|
@@ -4,6 +4,7 @@ import onnx
|
|
|
4
4
|
import torch
|
|
5
5
|
from ..api import TensorLike
|
|
6
6
|
from ..helpers import string_type
|
|
7
|
+
from ..helpers.onnx_helper import get_hidden_inputs
|
|
7
8
|
|
|
8
9
|
|
|
9
10
|
class RuntimeValueKind(enum.IntEnum):
|
|
@@ -151,30 +152,6 @@ class RuntimeValue:
|
|
|
151
152
|
return self.kind == RuntimeValueKind.INITIALIZER
|
|
152
153
|
|
|
153
154
|
|
|
154
|
-
def get_hidden_inputs(graph: onnx.GraphProto) -> Set[str]:
|
|
155
|
-
"""
|
|
156
|
-
Returns the hidden inputs (inputs coming from an upper context)
|
|
157
|
-
used by a subgraph.
|
|
158
|
-
"""
|
|
159
|
-
hidden = set()
|
|
160
|
-
memo = (
|
|
161
|
-
set(i.name for i in graph.initializer)
|
|
162
|
-
| set(i.name for i in graph.sparse_initializer)
|
|
163
|
-
| set(i.name for i in graph.input)
|
|
164
|
-
)
|
|
165
|
-
for node in graph.node:
|
|
166
|
-
for i in node.input:
|
|
167
|
-
if i not in memo:
|
|
168
|
-
hidden.add(i)
|
|
169
|
-
for att in node.attribute:
|
|
170
|
-
if att.type == onnx.AttributeProto.GRAPH and att.g:
|
|
171
|
-
hid = get_hidden_inputs(att.g)
|
|
172
|
-
less = set(h for h in hid if h not in memo)
|
|
173
|
-
hidden |= less
|
|
174
|
-
memo |= set(node.output)
|
|
175
|
-
return hidden
|
|
176
|
-
|
|
177
|
-
|
|
178
155
|
def set_is_shape(
|
|
179
156
|
node: onnx.NodeProto, values: Dict[str, RuntimeValue], drop: Optional[Set[str]] = None
|
|
180
157
|
) -> List[str]:
|
|
@@ -7,7 +7,12 @@ import numpy as np
|
|
|
7
7
|
import torch
|
|
8
8
|
from ..helpers import string_type, string_diff, max_diff, flatten_object
|
|
9
9
|
from ..helpers.onnx_helper import pretty_onnx
|
|
10
|
-
from ..helpers.torch_helper import
|
|
10
|
+
from ..helpers.torch_helper import (
|
|
11
|
+
to_numpy,
|
|
12
|
+
from_numpy,
|
|
13
|
+
to_tensor,
|
|
14
|
+
torch_dtype_to_onnx_dtype,
|
|
15
|
+
)
|
|
11
16
|
from ..helpers.torch_fx_graph_helper import prepare_args_kwargs, run_fx_node
|
|
12
17
|
from ..reference.ort_evaluator import OnnxList, OnnxruntimeEvaluator
|
|
13
18
|
from .sbs_dataclasses import (
|
|
@@ -381,7 +386,8 @@ def _preparation_with_fx_graph(
|
|
|
381
386
|
assert len(torch_input_names) < len(onx.graph.input), (
|
|
382
387
|
f"torch_input_names={torch_input_names!r}, "
|
|
383
388
|
f"onnx_input_names={[n.name for n in onx.graph.input]}, "
|
|
384
|
-
f"node.name={node.name!r} cannot be an input"
|
|
389
|
+
f"node.name={node.name!r} cannot be an input, "
|
|
390
|
+
f"placeholders_to_state_dict={sorted(placeholders_to_state_dict)}"
|
|
385
391
|
)
|
|
386
392
|
assert node.name not in skip_mapping_torch_onnx, (
|
|
387
393
|
f"{node.name!r} is ambiguous, cannot be mapped due to "
|
|
@@ -772,9 +778,9 @@ def run_aligned(
|
|
|
772
778
|
# preparation with ep.graph.nodes
|
|
773
779
|
ep_state_dict = {**ep.state_dict, **dict(ep.named_buffers(), **ep.tensor_constants)}
|
|
774
780
|
placeholders_to_state_dict = {
|
|
775
|
-
**{f"p_{name.replace('.', '_')}": name for name in ep.state_dict},
|
|
776
|
-
**{f"b_{name.replace('.', '_')}": name for name, _ in ep.named_buffers()},
|
|
777
|
-
**{f"c_{name.replace('.', '_')}": name for name in ep.tensor_constants},
|
|
781
|
+
**{f"p_{name.replace('.', '_').lower()}": name for name in ep.state_dict},
|
|
782
|
+
**{f"b_{name.replace('.', '_').lower()}": name for name, _ in ep.named_buffers()},
|
|
783
|
+
**{f"c_{name.replace('.', '_').lower()}": name for name in ep.tensor_constants},
|
|
778
784
|
}
|
|
779
785
|
skip_mapping_torch_onnx = _duplicated_values(placeholders_to_state_dict)
|
|
780
786
|
placeholders = {}
|
|
@@ -11,7 +11,12 @@ except ImportError:
|
|
|
11
11
|
import onnx
|
|
12
12
|
import numpy as np
|
|
13
13
|
import torch
|
|
14
|
-
from ..helpers.onnx_helper import
|
|
14
|
+
from ..helpers.onnx_helper import (
|
|
15
|
+
extract_subset_of_nodes,
|
|
16
|
+
make_submodel,
|
|
17
|
+
from_array_extended,
|
|
18
|
+
select_model_inputs_outputs,
|
|
19
|
+
)
|
|
15
20
|
from ..helpers.torch_helper import torch_dtype_to_onnx_dtype
|
|
16
21
|
|
|
17
22
|
|
|
@@ -61,12 +66,16 @@ class ReplayConfiguration:
|
|
|
61
66
|
:param selected_names: list of results names to dump
|
|
62
67
|
:param selected_op_types: list of onnx operators to dump
|
|
63
68
|
:param threshold: only keep those whose discrepancies is greater than that threshold
|
|
69
|
+
:param dump_prefix_model: after dumping the smallest model able to replicate
|
|
70
|
+
one given output, if also dumps the models producing the inputs
|
|
71
|
+
and the outputs truncated from the big one
|
|
64
72
|
"""
|
|
65
73
|
|
|
66
74
|
dump_folder: str
|
|
67
75
|
selected_names: Optional[Set[str]] = None
|
|
68
76
|
selected_op_types: Optional[Set[str]] = None
|
|
69
77
|
threshold: float = 0.1
|
|
78
|
+
dump_prefix_model: bool = False
|
|
70
79
|
|
|
71
80
|
def __post_init__(self):
|
|
72
81
|
assert self.dump_folder, "dump_folder is empty and this is not allowed for the replay"
|
|
@@ -243,7 +252,17 @@ class ReplayConfiguration:
|
|
|
243
252
|
:return: the folder created to dump everything
|
|
244
253
|
"""
|
|
245
254
|
if verbose:
|
|
246
|
-
print(
|
|
255
|
+
print(
|
|
256
|
+
f"[ReplayConfiguration.dump] extract subset of nodes for "
|
|
257
|
+
f"{name!r} (onnx_id_node={onnx_id_node})"
|
|
258
|
+
)
|
|
259
|
+
if verbose >= 10:
|
|
260
|
+
print(f"[ReplayConfiguration.dump] onnx_results={sorted(onnx_results)}")
|
|
261
|
+
print(f"[ReplayConfiguration.dump] torch_results={sorted(torch_results)}")
|
|
262
|
+
print(
|
|
263
|
+
f"[ReplayConfiguration.dump] onnx_name_to_ep_name="
|
|
264
|
+
f"{sorted(onnx_name_to_ep_name)}"
|
|
265
|
+
)
|
|
247
266
|
nodes = extract_subset_of_nodes(
|
|
248
267
|
model=model,
|
|
249
268
|
name=name,
|
|
@@ -253,7 +272,8 @@ class ReplayConfiguration:
|
|
|
253
272
|
if not nodes:
|
|
254
273
|
if verbose:
|
|
255
274
|
print(
|
|
256
|
-
f"[ReplayConfiguration.dump] could not extract subset of
|
|
275
|
+
f"[ReplayConfiguration.dump] could not extract subset of "
|
|
276
|
+
f"nodes for {name!r}"
|
|
257
277
|
)
|
|
258
278
|
return None
|
|
259
279
|
if verbose:
|
|
@@ -286,7 +306,7 @@ class ReplayConfiguration:
|
|
|
286
306
|
del submodel.graph.input[:]
|
|
287
307
|
submodel.graph.input.extend(new_inputs)
|
|
288
308
|
if verbose:
|
|
289
|
-
print(f"[ReplayConfiguration.dump] removed
|
|
309
|
+
print(f"[ReplayConfiguration.dump] removed inputs {removed_inputs}")
|
|
290
310
|
print(f"[ReplayConfiguration.dump] final model inputs {input_names}")
|
|
291
311
|
|
|
292
312
|
onnx.save(submodel, os.path.join(folder, "model.onnx"))
|
|
@@ -307,6 +327,30 @@ class ReplayConfiguration:
|
|
|
307
327
|
)
|
|
308
328
|
with open(os.path.join(folder, "replay.py"), "w") as f:
|
|
309
329
|
f.write(self.get_replay_code())
|
|
330
|
+
|
|
331
|
+
if self.dump_prefix_model:
|
|
332
|
+
main_inputs = {
|
|
333
|
+
i.name: onnx_inputs.get(i.name, torch_inputs.get(i.name, None))
|
|
334
|
+
for i in model.graph.input
|
|
335
|
+
}
|
|
336
|
+
# only saving onnx inputs, torch should be the same
|
|
337
|
+
torch.save(main_inputs, os.path.join(folder, "onnx_main_inputs.pt"))
|
|
338
|
+
|
|
339
|
+
model_inputs_file = os.path.join(folder, "model.inputs.onnx")
|
|
340
|
+
exclude = {i.name for i in model.graph.input} | {
|
|
341
|
+
i.name for i in model.graph.initializer
|
|
342
|
+
}
|
|
343
|
+
model_inputs = select_model_inputs_outputs(
|
|
344
|
+
model, outputs=[i.name for i in submodel.graph.input if i.name not in exclude]
|
|
345
|
+
)
|
|
346
|
+
onnx.save(model_inputs, model_inputs_file)
|
|
347
|
+
|
|
348
|
+
model_outputs_file = os.path.join(folder, "model.outputs.onnx")
|
|
349
|
+
model_outputs = select_model_inputs_outputs(
|
|
350
|
+
model, outputs=[i.name for i in submodel.graph.output]
|
|
351
|
+
)
|
|
352
|
+
onnx.save(model_outputs, model_outputs_file)
|
|
353
|
+
|
|
310
354
|
if verbose:
|
|
311
355
|
print(f"[ReplayConfiguration.dump] done {folder!r}")
|
|
312
356
|
return folder
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
onnx_diagnostic/__init__.py,sha256=
|
|
1
|
+
onnx_diagnostic/__init__.py,sha256=dCiBK_S7EOo_rAsmsgv-laLhtKzE2uny0XIR5aO4eDk,173
|
|
2
2
|
onnx_diagnostic/__main__.py,sha256=YmyV_Aq_ianDlHyKLHMa6h8YK3ZmFPpLVHLKjM91aCk,79
|
|
3
|
-
onnx_diagnostic/_command_lines_parser.py,sha256=
|
|
3
|
+
onnx_diagnostic/_command_lines_parser.py,sha256=ZFJdQP1Ee8D5a_xUch-0CHaYbbILztejTjVdyc9KrMw,52667
|
|
4
4
|
onnx_diagnostic/api.py,sha256=BhCl_yCd78N7TlVtPOHjeYv1QBEy39TjZ647rcHqLh0,345
|
|
5
5
|
onnx_diagnostic/doc.py,sha256=t3RELgfooYnVMAi0JSpggWkQEgUsREz8NmRvn0TnLI8,2829
|
|
6
|
-
onnx_diagnostic/ext_test_case.py,sha256=
|
|
6
|
+
onnx_diagnostic/ext_test_case.py,sha256=rVZWqFEfnvwnsD3wF4jeDblh5uj5ckZ8C6DZQ0RGb_E,49599
|
|
7
7
|
onnx_diagnostic/export/__init__.py,sha256=yEIoWiOeTwBsDhyYt2fTKuhtA0Ya1J9u9ZzMTOTWaWs,101
|
|
8
|
-
onnx_diagnostic/export/api.py,sha256=
|
|
8
|
+
onnx_diagnostic/export/api.py,sha256=BX4c99gMlRYsBWk3P15FMRogArxjP4dXYXP5gILjgIk,10626
|
|
9
9
|
onnx_diagnostic/export/control_flow.py,sha256=zU5n_QYhNcBllyMsl1_i6ohZt2CshqG2MokJghrvA60,7751
|
|
10
10
|
onnx_diagnostic/export/control_flow_onnx.py,sha256=sODOD4v7EJj6LWhrfcdCW68r9nYKsRM4SRnqDw4TrSI,18049
|
|
11
|
-
onnx_diagnostic/export/control_flow_research.py,sha256=
|
|
11
|
+
onnx_diagnostic/export/control_flow_research.py,sha256=RuYz9_eM42Bk6TKSiPV6dS68LIMZu-6WBCFCKoSvjrk,5422
|
|
12
12
|
onnx_diagnostic/export/dynamic_shapes.py,sha256=M2hlpHSTbkzZwGKAbrpQXng5HQrwjF5Z6wGGxEgnp74,42061
|
|
13
|
-
onnx_diagnostic/export/onnx_plug.py,sha256=
|
|
13
|
+
onnx_diagnostic/export/onnx_plug.py,sha256=U13fL0BjnhMzcDGxaAOqM4TQte5Z4zKDg4ESS0iktjM,22704
|
|
14
14
|
onnx_diagnostic/export/shape_helper.py,sha256=m628y0oRCQbeZkeh8JDHIfWMsSjoJoeX-IPiPGDHT-w,11273
|
|
15
15
|
onnx_diagnostic/export/validate.py,sha256=_PGUql2DJhIgGKo0WjTGUc5AgsZUx8fEs00MePy-w98,6043
|
|
16
16
|
onnx_diagnostic/helpers/__init__.py,sha256=GJ2GT7cgnlIveVUwMZhuvUwidbTJaKv8CsSIOpZDsJg,83
|
|
@@ -20,22 +20,22 @@ onnx_diagnostic/helpers/bench_run.py,sha256=CGA6VMJZMH2gDhVueT9ypNm4PMcjGrrGFYp0
|
|
|
20
20
|
onnx_diagnostic/helpers/cache_helper.py,sha256=OLghsSUuZ8cWGkua8eH75KBF-mbVqejnNUYfFo5lRf0,28498
|
|
21
21
|
onnx_diagnostic/helpers/config_helper.py,sha256=cWRETgFhZ7tayIZPnMqF8BF5AvTU64G2BMqyzgO7lzs,5670
|
|
22
22
|
onnx_diagnostic/helpers/doc_helper.py,sha256=pl5MZd3_FaE8BqQnqoBuSBxoNCFcd2OJd3eITUSku5c,5897
|
|
23
|
-
onnx_diagnostic/helpers/dot_helper.py,sha256=
|
|
23
|
+
onnx_diagnostic/helpers/dot_helper.py,sha256=hwgTJsbsUv0qq7euyPDnc1NsBZDGOwv32JXSZxIHJkE,8118
|
|
24
24
|
onnx_diagnostic/helpers/fake_tensor_helper.py,sha256=J7wnK3WTuVKnYiMzLVTAPkdJr3hQfIfMC9ZlOu7oGmI,11024
|
|
25
25
|
onnx_diagnostic/helpers/graph_helper.py,sha256=hevQT5a7_QuriVPQcbT5qe18n99Doyl5h3-qshx1-uk,14093
|
|
26
|
-
onnx_diagnostic/helpers/helper.py,sha256=
|
|
26
|
+
onnx_diagnostic/helpers/helper.py,sha256=x8EYQmgrz_G5QS_IsbeFIoDcN_sUs-CslJMHseBj1Fw,65482
|
|
27
27
|
onnx_diagnostic/helpers/log_helper.py,sha256=0lJiTF87lliI-LmgpUH_V2N8NuzJ0LryH0mSYpkRaL8,93272
|
|
28
28
|
onnx_diagnostic/helpers/memory_peak.py,sha256=M3m4_thWFIwP5HytbJYEqaijXIv5v5BW_vlcJowIYI4,6434
|
|
29
29
|
onnx_diagnostic/helpers/mini_onnx_builder.py,sha256=jR2lkRZEQ0N30H0FqeBwaxJd_w_6kyxFagrnulqFjhE,23883
|
|
30
30
|
onnx_diagnostic/helpers/model_builder_helper.py,sha256=qKIq4Naqq03gk6NfqXLQjSDiKL5FFNc1AEyVX0R8GmA,18540
|
|
31
|
-
onnx_diagnostic/helpers/onnx_helper.py,sha256=
|
|
32
|
-
onnx_diagnostic/helpers/ort_session.py,sha256=
|
|
31
|
+
onnx_diagnostic/helpers/onnx_helper.py,sha256=MshvqMSTNUUZIpkkRYGDymdW2t2KtB2BgYtOPHIDwvQ,57508
|
|
32
|
+
onnx_diagnostic/helpers/ort_session.py,sha256=XvRazj7yyepaQwYHpPkKKi9v8u_h9A4ZiFH6IxjqPKs,30502
|
|
33
33
|
onnx_diagnostic/helpers/rt_helper.py,sha256=OOxHSCKZup2u7zTvVJxPkRHb4jQZ03KpkiDGrfwibMM,38135
|
|
34
34
|
onnx_diagnostic/helpers/torch_fx_graph_helper.py,sha256=7xFe4svdbr4gV3OTNcx8eJejjDyHAv4hD_RNNKSxL0c,6571
|
|
35
|
-
onnx_diagnostic/helpers/torch_helper.py,sha256=
|
|
35
|
+
onnx_diagnostic/helpers/torch_helper.py,sha256=ADV81WWCskQ-jmzn1GI_LU8GqBtufCHS3oeLG-3Uw0E,38954
|
|
36
36
|
onnx_diagnostic/reference/__init__.py,sha256=rLZsxOlnb7-81F2CzepGnZLejaROg4JvgFaGR9FwVQA,208
|
|
37
37
|
onnx_diagnostic/reference/evaluator.py,sha256=RzNzjFDeMe-4X51Tb22N6aagazY5ktNq-mRmPcfY5EU,8848
|
|
38
|
-
onnx_diagnostic/reference/ort_evaluator.py,sha256=
|
|
38
|
+
onnx_diagnostic/reference/ort_evaluator.py,sha256=q7Dn0yC3LPadlfRnhiRzVn32k9ma_IivdYyhyecgNgc,33930
|
|
39
39
|
onnx_diagnostic/reference/quantized_tensor.py,sha256=5u67uS2uGacdMD5VYCbpojNjiesDlV_kO0fAJ0vUWGE,1098
|
|
40
40
|
onnx_diagnostic/reference/report_results_comparison.py,sha256=OsyQN8EHZZoj97u74RQP-7WFpebPOso5GEDpdkLWu6M,3645
|
|
41
41
|
onnx_diagnostic/reference/torch_evaluator.py,sha256=Tx1teWvfGEX5RmkDnI83UiOlo5eBOC72vPhgTWdFUF0,27689
|
|
@@ -110,16 +110,16 @@ onnx_diagnostic/torch_export_patches/patch_module_helper.py,sha256=2U0AdyZuU0W54
|
|
|
110
110
|
onnx_diagnostic/torch_export_patches/eval/__init__.py,sha256=YQoOGt9XQLWqnJ15NnT7ri_jDevfvpuQwEJo38E-VRU,25056
|
|
111
111
|
onnx_diagnostic/torch_export_patches/eval/model_cases.py,sha256=9h4yo9vKiK-E6zaXyAsxXGM-lCjd88ONybA1F3YcTI4,27988
|
|
112
112
|
onnx_diagnostic/torch_export_patches/patches/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
113
|
-
onnx_diagnostic/torch_export_patches/patches/_patch_transformers_attention.py,sha256=
|
|
113
|
+
onnx_diagnostic/torch_export_patches/patches/_patch_transformers_attention.py,sha256=5JOyT95BNwHIuxaSFJDSEGsoI-6IwbgNnFwg2q3UM-Q,7731
|
|
114
114
|
onnx_diagnostic/torch_export_patches/patches/_patch_transformers_cache_utils.py,sha256=UdxLii-od2OpQmUJbmXmZinXeLBItVFrr75BVT1Y0zw,2041
|
|
115
115
|
onnx_diagnostic/torch_export_patches/patches/_patch_transformers_causal_mask.py,sha256=h37DPVxsq8iAWECnTlKW5tVqSBgPBF52xr3uxsjdi2k,3113
|
|
116
116
|
onnx_diagnostic/torch_export_patches/patches/_patch_transformers_dynamic_cache.py,sha256=lEdYqX60pyi_w6PrbCTk7NC96nB8FFcFRf_JMjXSAZE,7961
|
|
117
117
|
onnx_diagnostic/torch_export_patches/patches/_patch_transformers_gemma3.py,sha256=nVgYQk0xXpHiictN1wOHVMN2lTH9b0vfIJ4ie-uKopg,1999
|
|
118
118
|
onnx_diagnostic/torch_export_patches/patches/_patch_transformers_generation_mixin.py,sha256=VIZsVHgR8NmAcBQalPl5I6ZzNgcBxjGb6ars31m9gRg,21936
|
|
119
119
|
onnx_diagnostic/torch_export_patches/patches/_patch_transformers_idefics.py,sha256=kTjuTRsfkGGGhspJnMxAMQSchZgGC_IruJzpHh_FmI8,6348
|
|
120
|
-
onnx_diagnostic/torch_export_patches/patches/_patch_transformers_masking_utils.py,sha256=
|
|
120
|
+
onnx_diagnostic/torch_export_patches/patches/_patch_transformers_masking_utils.py,sha256=HE3fovyvMiYe9EPz1UjdD9AWopX3H188SMwPb8w5mzM,7111
|
|
121
121
|
onnx_diagnostic/torch_export_patches/patches/_patch_transformers_qwen2.py,sha256=OxYdlLrwtd_KGHt3E17poduxvWFg-CfGS57-yN1i6gI,3827
|
|
122
|
-
onnx_diagnostic/torch_export_patches/patches/_patch_transformers_qwen2_5.py,sha256
|
|
122
|
+
onnx_diagnostic/torch_export_patches/patches/_patch_transformers_qwen2_5.py,sha256=GS7IDHyRaLAsbZE5k7KN-ZT5-ezbmEUzXPJ_xG4SulA,31601
|
|
123
123
|
onnx_diagnostic/torch_export_patches/patches/_patch_transformers_qwen3.py,sha256=cND9Iqo1aKdlX-BXGr9Qlq_Y4EW1L5VWSwZfqYTVazU,4888
|
|
124
124
|
onnx_diagnostic/torch_export_patches/patches/_patch_transformers_rotary_embedding.py,sha256=4bJ_z2gizZQla_fcCVt0dmuhzO9Vu-D7CCMWdxMlrKM,16893
|
|
125
125
|
onnx_diagnostic/torch_export_patches/patches/_patch_transformers_sam_mask_decoder.py,sha256=-6TuBm3sLAFEGuW3vRfOTtE5uP6aINFfu7xMnl27Dws,5703
|
|
@@ -130,24 +130,24 @@ onnx_diagnostic/torch_export_patches/serialization/__init__.py,sha256=BHLdRPtNAt
|
|
|
130
130
|
onnx_diagnostic/torch_export_patches/serialization/diffusers_impl.py,sha256=drq3EH_yjcSuIWYsVeUWm8Cx6YCZFU6bP_1PLtPfY5I,945
|
|
131
131
|
onnx_diagnostic/torch_export_patches/serialization/transformers_impl.py,sha256=sIHFvUQoMK8ytXQYB-k7OL62z8A3f5uDaq-S5R5uN-M,10034
|
|
132
132
|
onnx_diagnostic/torch_models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
133
|
-
onnx_diagnostic/torch_models/code_sample.py,sha256=
|
|
133
|
+
onnx_diagnostic/torch_models/code_sample.py,sha256=rCDZY64pkn6uIbJJSBuC5TlU_-uleI73I9GlbXtJd54,12923
|
|
134
134
|
onnx_diagnostic/torch_models/llms.py,sha256=soyg4yC87ptGoeulJhKqw5opGmuLvH1pn_ZDXZ4Jr8E,90
|
|
135
|
-
onnx_diagnostic/torch_models/validate.py,sha256=
|
|
135
|
+
onnx_diagnostic/torch_models/validate.py,sha256=fnbTl5v1n5nM2MpmCgCMaWa6c7DGpb5mZYSuHXXCJEs,94829
|
|
136
136
|
onnx_diagnostic/torch_models/hghub/__init__.py,sha256=vi1Q7YHdddj1soiBN42MSvJdFqe2_KUoWafHISjwOu8,58
|
|
137
137
|
onnx_diagnostic/torch_models/hghub/hub_api.py,sha256=rFbiPNLET-KdBpnv-p0nKgwHX6d7C_Z0s9zZ86_92kQ,14307
|
|
138
138
|
onnx_diagnostic/torch_models/hghub/hub_data.py,sha256=8V_pAgACPLPsLRYUododg7MSL6str-T3tBEGY4OaeYQ,8724
|
|
139
139
|
onnx_diagnostic/torch_models/hghub/hub_data_cached_configs.py,sha256=GimzkI8W3guATkDx7RQ-w2xNGVaFDVegfTnnmNxf4iE,292068
|
|
140
|
-
onnx_diagnostic/torch_models/hghub/model_inputs.py,sha256=
|
|
140
|
+
onnx_diagnostic/torch_models/hghub/model_inputs.py,sha256=tCGqigRyY1omxm2rczRUvCTsweZGbF1MccWI3MmCH20,17423
|
|
141
141
|
onnx_diagnostic/torch_models/hghub/model_specific.py,sha256=j50Nu7wddJMoqmD4QzMbNdFDUUgUmSBKRzPDH55TlUQ,2498
|
|
142
142
|
onnx_diagnostic/torch_models/untrained/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
143
143
|
onnx_diagnostic/torch_models/untrained/llm_phi2.py,sha256=y_akbdApi136qHcEQgykwIAYVw0Yfi0lbjb3DNuafaU,3948
|
|
144
144
|
onnx_diagnostic/torch_models/untrained/llm_tiny_llm.py,sha256=QXw_Bs2SzfeiQMf-tmtVl83SmVOL4-Um7Qy-f0E48QI,2507
|
|
145
145
|
onnx_diagnostic/torch_onnx/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
146
|
-
onnx_diagnostic/torch_onnx/runtime_info.py,sha256=
|
|
147
|
-
onnx_diagnostic/torch_onnx/sbs.py,sha256=
|
|
148
|
-
onnx_diagnostic/torch_onnx/sbs_dataclasses.py,sha256=
|
|
149
|
-
onnx_diagnostic-0.8.
|
|
150
|
-
onnx_diagnostic-0.8.
|
|
151
|
-
onnx_diagnostic-0.8.
|
|
152
|
-
onnx_diagnostic-0.8.
|
|
153
|
-
onnx_diagnostic-0.8.
|
|
146
|
+
onnx_diagnostic/torch_onnx/runtime_info.py,sha256=u1bD6VXqzBCRmqmbzQtDswaPs1PH_ygr1r-CrcfXpNU,8562
|
|
147
|
+
onnx_diagnostic/torch_onnx/sbs.py,sha256=8okBEIupMgw7TtKc80YFimMtwnY3GchdY05FsA9ooa0,40749
|
|
148
|
+
onnx_diagnostic/torch_onnx/sbs_dataclasses.py,sha256=UctdBjzoPTQG1LS0tZ8A6E9hpoq5HWUYaJLPOPJc9FI,20299
|
|
149
|
+
onnx_diagnostic-0.8.5.dist-info/licenses/LICENSE.txt,sha256=Vv6TXglX6Rc0d-f8aREhayhT-6PMQXEyOmI2NKlUCMc,1045
|
|
150
|
+
onnx_diagnostic-0.8.5.dist-info/METADATA,sha256=A54IonPIcnualwiRJhvjRMfhF3p3jdXhEH1vTtZBgyE,6734
|
|
151
|
+
onnx_diagnostic-0.8.5.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
152
|
+
onnx_diagnostic-0.8.5.dist-info/top_level.txt,sha256=KwNkXewmcobM3ZT1DJLVWH6ebJzA5qKg7cWqKfpGNT4,16
|
|
153
|
+
onnx_diagnostic-0.8.5.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|