mct-nightly 2.2.0.20241221.519__py3-none-any.whl → 2.2.0.20241223.525__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.
- {mct_nightly-2.2.0.20241221.519.dist-info → mct_nightly-2.2.0.20241223.525.dist-info}/METADATA +1 -1
- {mct_nightly-2.2.0.20241221.519.dist-info → mct_nightly-2.2.0.20241223.525.dist-info}/RECORD +26 -28
- model_compression_toolkit/__init__.py +1 -1
- model_compression_toolkit/core/common/graph/base_graph.py +1 -1
- model_compression_toolkit/core/common/graph/base_node.py +3 -3
- model_compression_toolkit/core/common/quantization/set_node_quantization_config.py +4 -4
- model_compression_toolkit/core/common/substitutions/shift_negative_activation.py +2 -2
- model_compression_toolkit/target_platform_capabilities/schema/mct_current_schema.py +1 -0
- model_compression_toolkit/target_platform_capabilities/schema/schema_functions.py +4 -5
- model_compression_toolkit/target_platform_capabilities/schema/v1.py +63 -170
- model_compression_toolkit/target_platform_capabilities/target_platform/__init__.py +0 -1
- model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/operations_to_layers.py +1 -1
- model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/target_platform_capabilities.py +7 -4
- model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1/tp_model.py +50 -51
- model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_lut/tp_model.py +54 -52
- model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_pot/tp_model.py +57 -53
- model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2/tp_model.py +52 -51
- model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2_lut/tp_model.py +53 -51
- model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v3/tp_model.py +59 -57
- model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v3_lut/tp_model.py +54 -52
- model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v4/tp_model.py +90 -83
- model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/v1/tp_model.py +26 -24
- model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/v1/tp_model.py +57 -55
- model_compression_toolkit/target_platform_capabilities/target_platform/current_tp_model.py +0 -67
- model_compression_toolkit/target_platform_capabilities/target_platform/target_platform_model.py +0 -30
- {mct_nightly-2.2.0.20241221.519.dist-info → mct_nightly-2.2.0.20241223.525.dist-info}/LICENSE.md +0 -0
- {mct_nightly-2.2.0.20241221.519.dist-info → mct_nightly-2.2.0.20241223.525.dist-info}/WHEEL +0 -0
- {mct_nightly-2.2.0.20241221.519.dist-info → mct_nightly-2.2.0.20241223.525.dist-info}/top_level.txt +0 -0
{mct_nightly-2.2.0.20241221.519.dist-info → mct_nightly-2.2.0.20241223.525.dist-info}/RECORD
RENAMED
@@ -1,4 +1,4 @@
|
|
1
|
-
model_compression_toolkit/__init__.py,sha256=
|
1
|
+
model_compression_toolkit/__init__.py,sha256=QUv2SuXkm47u1PtvuiNSgpOZaPe-Fr6tU172aQNgLJs,1573
|
2
2
|
model_compression_toolkit/constants.py,sha256=i_R6uXBfO1ph_X6DNJych2x59SUojfJbn7dNjs_mZnc,3846
|
3
3
|
model_compression_toolkit/defaultdict.py,sha256=LSc-sbZYXENMCw3U9F4GiXuv67IKpdn0Qm7Fr11jy-4,2277
|
4
4
|
model_compression_toolkit/logger.py,sha256=3DByV41XHRR3kLTJNbpaMmikL8icd9e1N-nkQAY9oDk,4567
|
@@ -32,8 +32,8 @@ model_compression_toolkit/core/common/fusion/__init__.py,sha256=Rf1RcYmelmdZmBV5
|
|
32
32
|
model_compression_toolkit/core/common/fusion/graph_fuser.py,sha256=5VkHB2fW0ohfPQmISz6o4fCMV8QyFdj5_kU51lN0JS8,6214
|
33
33
|
model_compression_toolkit/core/common/fusion/layer_fusing.py,sha256=lOubqpc18TslhXZijWUJQAa1c3jIB2S-M-5HK78wJPQ,5548
|
34
34
|
model_compression_toolkit/core/common/graph/__init__.py,sha256=Xr-Lt_qXMdrCnnOaUS_OJP_3iTTGfPCLf8_vSrQgCs0,773
|
35
|
-
model_compression_toolkit/core/common/graph/base_graph.py,sha256=
|
36
|
-
model_compression_toolkit/core/common/graph/base_node.py,sha256=
|
35
|
+
model_compression_toolkit/core/common/graph/base_graph.py,sha256=6jlwj4WDT3XJKf1QQ4Aougswhl-Xx51QzV58CePbjVg,37818
|
36
|
+
model_compression_toolkit/core/common/graph/base_node.py,sha256=kENyhUfHuU0LiYJ1EiCPmtfOA5UANYteeS7JIbpLiHI,31886
|
37
37
|
model_compression_toolkit/core/common/graph/edge.py,sha256=buoSEUZwilWBK3WeBKpJ-GeDaUA1SDdOHxDpxU_bGpk,3784
|
38
38
|
model_compression_toolkit/core/common/graph/functional_node.py,sha256=GH5wStmw8SoAj5IdT_-ItN1Meo_P5NUTt_5bgJC4fak,3935
|
39
39
|
model_compression_toolkit/core/common/graph/graph_matchers.py,sha256=CrDoHYq4iPaflgJWmoJ1K4ziLrRogJvFTVWg8P0UcDU,4744
|
@@ -111,7 +111,7 @@ model_compression_toolkit/core/common/quantization/quantization_fn_selection.py,
|
|
111
111
|
model_compression_toolkit/core/common/quantization/quantization_params_fn_selection.py,sha256=MwIOBZ4BlZSTIOG75PDvlI3JmZ6t8YjPc1VP9Adei60,3847
|
112
112
|
model_compression_toolkit/core/common/quantization/quantize_graph_weights.py,sha256=N005MSvx8UypVpa7XrxNrB2G732n2wHj3RmLyjTgd3I,2728
|
113
113
|
model_compression_toolkit/core/common/quantization/quantize_node.py,sha256=cdzGNWfT4MRogIU8ehs0tr3lVjnzAI-jeoS9b4TwVBo,2854
|
114
|
-
model_compression_toolkit/core/common/quantization/set_node_quantization_config.py,sha256=
|
114
|
+
model_compression_toolkit/core/common/quantization/set_node_quantization_config.py,sha256=94CQga1cg9zCHju8zBbuZYaXUR1wbbOjXHzzAwFxgUU,21269
|
115
115
|
model_compression_toolkit/core/common/quantization/quantization_params_generation/__init__.py,sha256=eCDGwsWYLU6z7qbEVb4TozMW_nd5VEP_iCJ6PcvyEPw,1486
|
116
116
|
model_compression_toolkit/core/common/quantization/quantization_params_generation/error_functions.py,sha256=fzUvqmXVgzp_IV5ER-20kKzl4m8U_shZsAKs-ehhjFo,23887
|
117
117
|
model_compression_toolkit/core/common/quantization/quantization_params_generation/lut_kmeans_params.py,sha256=RL-PklAjGyC-26anSt8fU07a6pB_LBQFQy9o4e9giN0,8739
|
@@ -144,7 +144,7 @@ model_compression_toolkit/core/common/substitutions/linear_collapsing_substituti
|
|
144
144
|
model_compression_toolkit/core/common/substitutions/remove_identity.py,sha256=TKU1TIU52UIkVnl0EZvWnDhLV9nIVZ4hqi-w1i4NXMk,2637
|
145
145
|
model_compression_toolkit/core/common/substitutions/residual_collapsing.py,sha256=N82mso5j3EJQlKt9EMHjjEJ67FmdGQeCfN8U5grOFXo,4830
|
146
146
|
model_compression_toolkit/core/common/substitutions/scale_equalization.py,sha256=p57u25qdW2pimxzGwgMXEBV4S-LzXuTVAlIM7830WfU,10966
|
147
|
-
model_compression_toolkit/core/common/substitutions/shift_negative_activation.py,sha256=
|
147
|
+
model_compression_toolkit/core/common/substitutions/shift_negative_activation.py,sha256=H-8gvU7em4gVUp_EYAi6Fa-fgOQ_ICJTA3Z68or2qpI,30069
|
148
148
|
model_compression_toolkit/core/common/substitutions/softmax_shift.py,sha256=R-0ZqhYAuZLEFWHvB2UTPm52L6gWHGdRdEnwGxKSeGI,2625
|
149
149
|
model_compression_toolkit/core/common/substitutions/virtual_activation_weights_composition.py,sha256=aXzUOJfgKPfQpEGfiIun26fgfCqazBG1mBpzoc4Ezxs,3477
|
150
150
|
model_compression_toolkit/core/common/substitutions/weights_activation_split.py,sha256=h85L2VlDOqbLd-N98wA3SdYWiblBgSsPceNuLanJd70,4737
|
@@ -431,18 +431,16 @@ model_compression_toolkit/target_platform_capabilities/__init__.py,sha256=cco4Tm
|
|
431
431
|
model_compression_toolkit/target_platform_capabilities/constants.py,sha256=iJXGy5um7vhC84Me4ld6EHMhy7jPks0T9ItZX23si6s,1519
|
432
432
|
model_compression_toolkit/target_platform_capabilities/immutable.py,sha256=YhROBiXEIB3TU-bAFrnL3qbAsb1yuWPBAQ_CLOJbYUU,1827
|
433
433
|
model_compression_toolkit/target_platform_capabilities/schema/__init__.py,sha256=pKAdbTCFM_2BrZXUtTIw0ouKotrWwUDF_hP3rPwCM2k,696
|
434
|
-
model_compression_toolkit/target_platform_capabilities/schema/mct_current_schema.py,sha256=
|
435
|
-
model_compression_toolkit/target_platform_capabilities/schema/schema_functions.py,sha256=
|
436
|
-
model_compression_toolkit/target_platform_capabilities/schema/v1.py,sha256=
|
437
|
-
model_compression_toolkit/target_platform_capabilities/target_platform/__init__.py,sha256=
|
438
|
-
model_compression_toolkit/target_platform_capabilities/target_platform/current_tp_model.py,sha256=1Glr4qKDJfdk5TwM5fzZ12XzgbpQFioDOxb475905gk,2013
|
439
|
-
model_compression_toolkit/target_platform_capabilities/target_platform/target_platform_model.py,sha256=TDJ65oCoMCVf2vqOlyioAZeOaPAILhNHcxLVMfszoII,1346
|
434
|
+
model_compression_toolkit/target_platform_capabilities/schema/mct_current_schema.py,sha256=E6Zz8boibgfq8EVpZWyl0TOdFrv9qrwiVHUzYPIKVrQ,528
|
435
|
+
model_compression_toolkit/target_platform_capabilities/schema/schema_functions.py,sha256=ZDFN2N4dRRP6qs0HxsHXEJbZCwYByo3JL9sBCJolDBs,4656
|
436
|
+
model_compression_toolkit/target_platform_capabilities/schema/v1.py,sha256=G00JebGnCBukLXLoYZEVqq0ArtC0F8GMrwvJ1BpUwbU,25207
|
437
|
+
model_compression_toolkit/target_platform_capabilities/target_platform/__init__.py,sha256=1FXmDVSqm-dr3xzH4vRo4NmAgyzBZjqHo5l63MUq4r0,1403
|
440
438
|
model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/__init__.py,sha256=WCP1wfFZgM4eFm-pPeUinr5R_aSx5qwfSQqLZCXUNBA,1513
|
441
439
|
model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/attribute_filter.py,sha256=jfhszvuD2Fyy6W2KjlLzXBQKFzTqGAaDZeFVr4-ONQw,8776
|
442
440
|
model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/current_tpc.py,sha256=fIheShGOnxWYKqT8saHpBJqOU5RG_1Hp9qHry7IviIw,2115
|
443
441
|
model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/layer_filter_params.py,sha256=Cl6-mACpje2jM8RJkibbqE3hvTkFR3r26-lW021mIiA,4019
|
444
|
-
model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/operations_to_layers.py,sha256=
|
445
|
-
model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/target_platform_capabilities.py,sha256=
|
442
|
+
model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/operations_to_layers.py,sha256=Yg3sUzn4lpZn7bvNeDU4pO7_Jgr9cuqB66SqNMTh5_U,6867
|
443
|
+
model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/target_platform_capabilities.py,sha256=eRRCUqy0yXd3_xrufd7jjaU6hIIXphzcT8yWqvRr8l8,9994
|
446
444
|
model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/target_platform_capabilities_component.py,sha256=FvrYI0Qy7DCmDp2gyUYyCZq5pY84JgLtJqSIiVTJ8Ss,1030
|
447
445
|
model_compression_toolkit/target_platform_capabilities/tpc_models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
448
446
|
model_compression_toolkit/target_platform_capabilities/tpc_models/get_target_platform_capabilities.py,sha256=CWind2Kd91lzBTRAh1A9sHuNw17xXhMb3gV436RpK8c,3033
|
@@ -450,49 +448,49 @@ model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/__i
|
|
450
448
|
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/target_platform_capabilities.py,sha256=yIWwvfTpiT0wRf7GwPgK9elKbGh46jxCrkcLVEjvesU,6081
|
451
449
|
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/latest/__init__.py,sha256=eVIRpx5O0JQI7TSdw5JAWtwrG3MQ8-7hYThQvB9da5c,1528
|
452
450
|
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1/__init__.py,sha256=1mMOREEMoNHu_KTMGDp4crN61opKWX6aFn1DrDLvqcc,717
|
453
|
-
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1/tp_model.py,sha256=
|
451
|
+
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1/tp_model.py,sha256=S2KHNfxzj6X_xFprLIYqYC3dcozHYTlsiW1LqVBnQkc,11198
|
454
452
|
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1/tpc_keras.py,sha256=DiEVKde6bZiRDcoeTKzbrfjFIDVEeES0Q_Ms50NbW7Y,6568
|
455
453
|
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1/tpc_pytorch.py,sha256=rQY-ApvLKo9LbN2uKO2NsdOgX49TKcED3o8mBxWAFKw,5594
|
456
454
|
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_lut/__init__.py,sha256=vFDyiMymNZSRCdTgAyWn4A-tZD3vzze_PTLBSF2OYe8,721
|
457
|
-
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_lut/tp_model.py,sha256=
|
455
|
+
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_lut/tp_model.py,sha256=gW_Yw7w2eQAb70Nqghv1btc9CTubMVpzjt7b2kxj-Hs,11101
|
458
456
|
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_lut/tpc_keras.py,sha256=I3NnmCBSB6KB8ECXJsfXw6FD-ONj39RXL-yB2-nE1xI,6577
|
459
457
|
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_lut/tpc_pytorch.py,sha256=R6ZDXT2bwAmdZfmXxIoCo7-_h7oGfyr6cZoZmBJdPa0,5713
|
460
458
|
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_pot/__init__.py,sha256=NUuczImqUxzdfflqSdqkeAN8aCU6Tuiu6U0Fnj9Tzmw,721
|
461
|
-
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_pot/tp_model.py,sha256=
|
459
|
+
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_pot/tp_model.py,sha256=7fplCIkjNlPXgJQiYJlWeHBBOxDcjKjDMD23h0g_nt0,10887
|
462
460
|
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_pot/tpc_keras.py,sha256=ovHI4lvlcP_haolXmL8TvIpPi9tglhdUxRxNxuf6QPk,6581
|
463
461
|
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_pot/tpc_pytorch.py,sha256=PgNAmXZx7hg46KwR16laU7jr2U35rnHiTcR25RaLxd0,5732
|
464
462
|
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2/__init__.py,sha256=vKWAoQ2KkhuptS5HZB50zHG6KY8wHpHTxPugw_nGCRo,717
|
465
|
-
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2/tp_model.py,sha256=
|
463
|
+
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2/tp_model.py,sha256=et3hrgpF2hm5zqfvhSc2B4peIYmBddGbKVF2eQb7Q4U,11273
|
466
464
|
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2/tpc_keras.py,sha256=i6oEt_3FAeccU9QkVCVxWZf2aX17IExAljR8y13k9P4,6663
|
467
465
|
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2/tpc_pytorch.py,sha256=Iwi-D_0iC19Lo3yWduuaItezXFrRxRhowUY4jGOtwXk,5700
|
468
466
|
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2_lut/__init__.py,sha256=wUk4Xsg7jpxOWYjq2K3WUwLcI185p_sVPK-ttG0ydhA,721
|
469
|
-
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2_lut/tp_model.py,sha256=
|
467
|
+
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2_lut/tp_model.py,sha256=DCuslGtM4NT-NvPK8dpINa0t9gIjyP4325YaqtNukSk,11153
|
470
468
|
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2_lut/tpc_keras.py,sha256=e3su6KmNsc2ziP3eEICp-tcnY9YmGPiLoMJ3TreqVx4,6671
|
471
469
|
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2_lut/tpc_pytorch.py,sha256=9W-pjOhONqgym1t2vDRTo7x-JQiVlxQsAKAG6HdAww4,5707
|
472
470
|
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v3/__init__.py,sha256=gAeebYCKyIXH9-Qwze7FwvTihudzAHk_Qsg94fQbkjQ,717
|
473
|
-
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v3/tp_model.py,sha256=
|
471
|
+
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v3/tp_model.py,sha256=ngIP70u-_tA-XKXu4pTbXu2GDaWjnYwz08BCRdOeVlQ,13228
|
474
472
|
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v3/tpc_keras.py,sha256=vbBgQfEd5mLnJKGX2CO-KA0x87_qTmDH7HbbtLgCIfg,6881
|
475
473
|
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v3/tpc_pytorch.py,sha256=oDG_Ln0mPmt8p5eKrjGQlHLHCApErLHazny9bIfu3iI,5968
|
476
474
|
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v3_lut/__init__.py,sha256=C2kwyDE1-rtukkbNSoKRv9q8Nt2GOCaBbl0BdOr3goA,721
|
477
|
-
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v3_lut/tp_model.py,sha256=
|
475
|
+
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v3_lut/tp_model.py,sha256=pPEXKAzLKp7AWhN2ysIJElAcY7FID1dVTLxDvz5xAOo,12050
|
478
476
|
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v3_lut/tpc_keras.py,sha256=hHK7MY6xfSCRnXQ6Qz0hbN_hM18f-gf3uZmxdl44khU,6679
|
479
477
|
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v3_lut/tpc_pytorch.py,sha256=GmS3CuSQPwLSgPdruXCSHN49_fRiRBn9PKA9CPmtqM8,5789
|
480
478
|
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v4/__init__.py,sha256=tHTUvsaerSfbe22pU0kIDauPpFD7Pq5EmZytVIDkHz4,717
|
481
|
-
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v4/tp_model.py,sha256=
|
479
|
+
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v4/tp_model.py,sha256=Ya0IZVDO6TAe_fBGV6Rg1BvENkzeCsbULaEjKDtzjck,17779
|
482
480
|
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v4/tpc_keras.py,sha256=9LToJzBBCXEZ5AOj2zzJMRr6S0uwlKKEg3stLK2u1fw,8341
|
483
481
|
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v4/tpc_pytorch.py,sha256=v1Fyp9YKWfdxF9tLfD0fAV41mqEH0S9z-jqr4QFH5CQ,7221
|
484
482
|
model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/__init__.py,sha256=cco4TmeIDIh32nj9ZZXVkws4dd9F2UDrmjKzTN8G0V0,697
|
485
483
|
model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/target_platform_capabilities.py,sha256=is00rNrDmmirYsyMtMkWz0DwOA92-x7hAJwpd6z1n2E,2806
|
486
484
|
model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/latest/__init__.py,sha256=CXC-HQolSDu7j8V-Xm-SWGCd74gXB3XnAkEhI_TVbIQ,1516
|
487
485
|
model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/v1/__init__.py,sha256=t4JKsPcor-7KSCKzIwuaBv0NLNwfhuewAQGlDl6iBeo,717
|
488
|
-
model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/v1/tp_model.py,sha256=
|
486
|
+
model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/v1/tp_model.py,sha256=yNwypIat2hVgwDKitw7enfPJYzvOThB2E76dOT0jglY,8531
|
489
487
|
model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/v1/tpc_keras.py,sha256=JKJy4k7TBCRZQ_cSWNhEdvyg5ylvIcpjU_6GALBOaFI,4461
|
490
488
|
model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/v1/tpc_pytorch.py,sha256=x5ooqCuKtW6ULenncjwSs_HTps8yUylOBKOzpgJ4yYI,3788
|
491
489
|
model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/__init__.py,sha256=cco4TmeIDIh32nj9ZZXVkws4dd9F2UDrmjKzTN8G0V0,697
|
492
490
|
model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/target_platform_capabilities.py,sha256=_tf41m40fbax27y5A5JoGHw4p5NY-Kb3c8oxSTnRD_E,2802
|
493
491
|
model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/latest/__init__.py,sha256=LIUUQn42YU7oD2YfnEgP0gfqm7Hq9e0fD_8418aKzKI,1511
|
494
492
|
model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/v1/__init__.py,sha256=t4JKsPcor-7KSCKzIwuaBv0NLNwfhuewAQGlDl6iBeo,717
|
495
|
-
model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/v1/tp_model.py,sha256=
|
493
|
+
model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/v1/tp_model.py,sha256=U-I3eFBeRhc_BC16RyP_i_8e6ZP-X0klCa10k8QvddE,10383
|
496
494
|
model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/v1/tpc_keras.py,sha256=4vQG9uaV5bAte1VP8oMT5dwiDisW84F1B-de0BdBusY,6808
|
497
495
|
model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/v1/tpc_pytorch.py,sha256=uG27HAOrD-JMSDXaEycDJeFGqhF8J3ZqKI4CJCW6zA4,5934
|
498
496
|
model_compression_toolkit/trainable_infrastructure/__init__.py,sha256=uewpvlPkH9mBFt8IxoAgIfz6iEcvWbOImm_fb6_BxD8,1543
|
@@ -559,8 +557,8 @@ model_compression_toolkit/xquant/pytorch/model_analyzer.py,sha256=b93o800yVB3Z-i
|
|
559
557
|
model_compression_toolkit/xquant/pytorch/pytorch_report_utils.py,sha256=bOc-hFL3gdoSM1Th_S2N_-9JJSlPGpZCTx_QLJHS6lg,3388
|
560
558
|
model_compression_toolkit/xquant/pytorch/similarity_functions.py,sha256=CERxq5K8rqaiE-DlwhZBTUd9x69dtYJlkHOPLB54vm8,2354
|
561
559
|
model_compression_toolkit/xquant/pytorch/tensorboard_utils.py,sha256=mkoEktLFFHtEKzzFRn_jCnxjhJolK12TZ5AQeDHzUO8,9767
|
562
|
-
mct_nightly-2.2.0.
|
563
|
-
mct_nightly-2.2.0.
|
564
|
-
mct_nightly-2.2.0.
|
565
|
-
mct_nightly-2.2.0.
|
566
|
-
mct_nightly-2.2.0.
|
560
|
+
mct_nightly-2.2.0.20241223.525.dist-info/LICENSE.md,sha256=aYSSIb-5AFPeITTvXm1UAoe0uYBiMmSS8flvXaaFUks,10174
|
561
|
+
mct_nightly-2.2.0.20241223.525.dist-info/METADATA,sha256=PYunic67kp02_7_Cjbo7t9m6MLKtu8tKorpuxnz1feI,26453
|
562
|
+
mct_nightly-2.2.0.20241223.525.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
|
563
|
+
mct_nightly-2.2.0.20241223.525.dist-info/top_level.txt,sha256=gsYA8juk0Z-ZmQRKULkb3JLGdOdz8jW_cMRjisn9ga4,26
|
564
|
+
mct_nightly-2.2.0.20241223.525.dist-info/RECORD,,
|
@@ -27,4 +27,4 @@ from model_compression_toolkit import data_generation
|
|
27
27
|
from model_compression_toolkit import pruning
|
28
28
|
from model_compression_toolkit.trainable_infrastructure.keras.load_model import keras_load_quantized_model
|
29
29
|
|
30
|
-
__version__ = "2.2.0.
|
30
|
+
__version__ = "2.2.0.20241223.000525"
|
@@ -105,7 +105,7 @@ class Graph(nx.MultiDiGraph, GraphSearches):
|
|
105
105
|
Logger.critical(f'MCT does not support optimizing Keras custom layers. Found a layer of type {n.type}. '
|
106
106
|
' Please add the custom layer to Target Platform Capabilities (TPC), or file a feature '
|
107
107
|
'request or an issue if you believe this should be supported.') # pragma: no cover
|
108
|
-
if any([qc.default_weight_attr_config.enable_weights_quantization for qc in n.get_qco(tpc).
|
108
|
+
if any([qc.default_weight_attr_config.enable_weights_quantization for qc in n.get_qco(tpc).quantization_configurations]):
|
109
109
|
Logger.critical(f'Layer identified: {n.type}. MCT does not support weight quantization for Keras custom layers.') # pragma: no cover
|
110
110
|
|
111
111
|
self.tpc = tpc
|
@@ -582,12 +582,12 @@ class BaseNode:
|
|
582
582
|
"""
|
583
583
|
# Filter quantization config options that don't match the graph.
|
584
584
|
_base_config = node_qc_options.base_config
|
585
|
-
_node_qc_options = node_qc_options.
|
585
|
+
_node_qc_options = node_qc_options.quantization_configurations
|
586
586
|
if len(next_nodes):
|
587
587
|
next_nodes_qc_options = [_node.get_qco(tpc) for _node in next_nodes]
|
588
588
|
next_nodes_supported_input_bitwidth = min([max_input_activation_n_bits(op_cfg)
|
589
589
|
for qc_opts in next_nodes_qc_options
|
590
|
-
for op_cfg in qc_opts.
|
590
|
+
for op_cfg in qc_opts.quantization_configurations])
|
591
591
|
|
592
592
|
# Filter node's QC options that match next nodes input bit-width.
|
593
593
|
_node_qc_options = [_option for _option in _node_qc_options
|
@@ -599,7 +599,7 @@ class BaseNode:
|
|
599
599
|
if any([node_qc_options.base_config.activation_n_bits > max_input_activation_n_bits(qc_opt.base_config)
|
600
600
|
for qc_opt in next_nodes_qc_options]):
|
601
601
|
# base_config activation bits doesn't match next node supported input bit-width -> replace with
|
602
|
-
# a qco from
|
602
|
+
# a qco from quantization_configurations with maximum activation bit-width.
|
603
603
|
if len(_node_qc_options) > 0:
|
604
604
|
output_act_bitwidth = {qco.activation_n_bits: i for i, qco in enumerate(_node_qc_options)}
|
605
605
|
_base_config = _node_qc_options[output_act_bitwidth[max(output_act_bitwidth)]]
|
@@ -101,7 +101,7 @@ def filter_node_qco_by_graph(node: BaseNode,
|
|
101
101
|
"""
|
102
102
|
# Filter quantization config options that don't match the graph.
|
103
103
|
_base_config = node_qc_options.base_config
|
104
|
-
_node_qc_options = node_qc_options.
|
104
|
+
_node_qc_options = node_qc_options.quantization_configurations
|
105
105
|
|
106
106
|
# Build next_nodes list by appending to the node's next nodes list all nodes that are quantization preserving.
|
107
107
|
_next_nodes = graph.get_next_nodes(node)
|
@@ -109,7 +109,7 @@ def filter_node_qco_by_graph(node: BaseNode,
|
|
109
109
|
while len(_next_nodes):
|
110
110
|
n = _next_nodes.pop(0)
|
111
111
|
qco = n.get_qco(tpc)
|
112
|
-
qp = [qc.quantization_preserving for qc in qco.
|
112
|
+
qp = [qc.quantization_preserving for qc in qco.quantization_configurations]
|
113
113
|
if not all(qp) and any(qp):
|
114
114
|
Logger.error(f'Attribute "quantization_preserving" should be the same for all QuantizaionConfigOptions in {n}.')
|
115
115
|
if qp[0]:
|
@@ -120,7 +120,7 @@ def filter_node_qco_by_graph(node: BaseNode,
|
|
120
120
|
next_nodes_qc_options = [_node.get_qco(tpc) for _node in next_nodes]
|
121
121
|
next_nodes_supported_input_bitwidth = min([max_input_activation_n_bits(op_cfg)
|
122
122
|
for qc_opts in next_nodes_qc_options
|
123
|
-
for op_cfg in qc_opts.
|
123
|
+
for op_cfg in qc_opts.quantization_configurations])
|
124
124
|
|
125
125
|
# Filter node's QC options that match next nodes input bit-width.
|
126
126
|
_node_qc_options = [_option for _option in _node_qc_options
|
@@ -132,7 +132,7 @@ def filter_node_qco_by_graph(node: BaseNode,
|
|
132
132
|
if any([node_qc_options.base_config.activation_n_bits > max_input_activation_n_bits(qc_opt.base_config)
|
133
133
|
for qc_opt in next_nodes_qc_options]):
|
134
134
|
# base_config activation bits doesn't match next node supported input bit-width -> replace with
|
135
|
-
# a qco from
|
135
|
+
# a qco from quantization_configurations with maximum activation bit-width.
|
136
136
|
if len(_node_qc_options) > 0:
|
137
137
|
output_act_bitwidth = {qco.activation_n_bits: i for i, qco in enumerate(_node_qc_options)}
|
138
138
|
_base_config = _node_qc_options[output_act_bitwidth[max(output_act_bitwidth)]]
|
@@ -392,7 +392,7 @@ def shift_negative_function(graph: Graph,
|
|
392
392
|
bypass_candidate_qc.activation_quantization_cfg.activation_quantization_params[SIGNED] = False
|
393
393
|
graph.shift_stats_collector(bypass_node, np.array(shift_value))
|
394
394
|
|
395
|
-
add_node_qco = add_node.get_qco(graph.tpc).
|
395
|
+
add_node_qco = add_node.get_qco(graph.tpc).quantization_configurations
|
396
396
|
for op_qc_idx, candidate_qc in enumerate(add_node.candidates_quantization_cfg):
|
397
397
|
for attr in add_node.get_node_weights_attributes():
|
398
398
|
candidate_qc.weights_quantization_cfg.get_attr_config(attr).enable_weights_quantization = False
|
@@ -535,7 +535,7 @@ def apply_shift_negative_correction(graph: Graph,
|
|
535
535
|
# Skip substitution if QuantizationMethod is uniform.
|
536
536
|
node_qco = n.get_qco(graph.tpc)
|
537
537
|
if any([op_qc.activation_quantization_method is QuantizationMethod.UNIFORM
|
538
|
-
for op_qc in node_qco.
|
538
|
+
for op_qc in node_qco.quantization_configurations]):
|
539
539
|
continue
|
540
540
|
|
541
541
|
if snc_node_types.apply(n):
|
@@ -1,5 +1,6 @@
|
|
1
1
|
import model_compression_toolkit.target_platform_capabilities.schema.v1 as schema
|
2
2
|
|
3
|
+
OperatorSetNames = schema.OperatorSetNames
|
3
4
|
Signedness = schema.Signedness
|
4
5
|
AttributeQuantizationConfig = schema.AttributeQuantizationConfig
|
5
6
|
OpQuantizationConfig = schema.OpQuantizationConfig
|
@@ -64,10 +64,10 @@ def get_default_op_quantization_config(tp_model: TargetPlatformModel) -> OpQuant
|
|
64
64
|
Raises:
|
65
65
|
AssertionError: If the default quantization configuration list contains more than one configuration option.
|
66
66
|
"""
|
67
|
-
assert len(tp_model.default_qco.
|
67
|
+
assert len(tp_model.default_qco.quantization_configurations) == 1, \
|
68
68
|
f"Default quantization configuration options must contain only one option, " \
|
69
|
-
f"but found {len(tp_model.default_qco.
|
70
|
-
return tp_model.default_qco.
|
69
|
+
f"but found {len(tp_model.default_qco.quantization_configurations)} configurations." # pragma: no cover
|
70
|
+
return tp_model.default_qco.quantization_configurations[0]
|
71
71
|
|
72
72
|
|
73
73
|
def is_opset_in_model(tp_model: TargetPlatformModel, opset_name: str) -> bool:
|
@@ -82,8 +82,7 @@ def is_opset_in_model(tp_model: TargetPlatformModel, opset_name: str) -> bool:
|
|
82
82
|
bool: True if an OperatorsSet with the given name exists in the target platform model,
|
83
83
|
otherwise False.
|
84
84
|
"""
|
85
|
-
return opset_name in [x.name for x in tp_model.operator_set]
|
86
|
-
|
85
|
+
return tp_model.operator_set is not None and opset_name in [x.name for x in tp_model.operator_set]
|
87
86
|
|
88
87
|
def get_opset_by_name(tp_model: TargetPlatformModel, opset_name: str) -> Optional[OperatorsSetBase]:
|
89
88
|
"""
|