mct-nightly 2.2.0.20241211.531__py3-none-any.whl → 2.2.0.20241213.540__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 (21) hide show
  1. {mct_nightly-2.2.0.20241211.531.dist-info → mct_nightly-2.2.0.20241213.540.dist-info}/METADATA +1 -1
  2. {mct_nightly-2.2.0.20241211.531.dist-info → mct_nightly-2.2.0.20241213.540.dist-info}/RECORD +21 -21
  3. model_compression_toolkit/__init__.py +1 -1
  4. model_compression_toolkit/core/common/graph/base_node.py +3 -2
  5. model_compression_toolkit/core/common/quantization/set_node_quantization_config.py +3 -2
  6. model_compression_toolkit/target_platform_capabilities/schema/schema_functions.py +83 -14
  7. model_compression_toolkit/target_platform_capabilities/schema/v1.py +407 -475
  8. model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/operations_to_layers.py +5 -3
  9. model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/target_platform_capabilities.py +5 -3
  10. model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1/tp_model.py +5 -6
  11. model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_lut/tp_model.py +3 -3
  12. model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_pot/tp_model.py +3 -3
  13. model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2/tp_model.py +5 -6
  14. model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2_lut/tp_model.py +3 -3
  15. model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v3/tp_model.py +5 -6
  16. model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v3_lut/tp_model.py +3 -3
  17. model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v4/tp_model.py +9 -9
  18. model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/v1/tp_model.py +2 -2
  19. {mct_nightly-2.2.0.20241211.531.dist-info → mct_nightly-2.2.0.20241213.540.dist-info}/LICENSE.md +0 -0
  20. {mct_nightly-2.2.0.20241211.531.dist-info → mct_nightly-2.2.0.20241213.540.dist-info}/WHEEL +0 -0
  21. {mct_nightly-2.2.0.20241211.531.dist-info → mct_nightly-2.2.0.20241213.540.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mct-nightly
3
- Version: 2.2.0.20241211.531
3
+ Version: 2.2.0.20241213.540
4
4
  Summary: A Model Compression Toolkit for neural networks
5
5
  Home-page: UNKNOWN
6
6
  License: UNKNOWN
@@ -1,4 +1,4 @@
1
- model_compression_toolkit/__init__.py,sha256=3AkzGEeakmlxtSQtujDenxH119YlHAatNP77RqE6mR4,1573
1
+ model_compression_toolkit/__init__.py,sha256=CLr_OaMRtKsOBdYNYUxEuaSfCgNbKNXmdcf9Ez6b_7U,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
@@ -33,7 +33,7 @@ model_compression_toolkit/core/common/fusion/graph_fuser.py,sha256=5VkHB2fW0ohfP
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
35
  model_compression_toolkit/core/common/graph/base_graph.py,sha256=GG13PAtndsMjIqINfrCN6llVkFrg5CBfij4z99ntieU,37815
36
- model_compression_toolkit/core/common/graph/base_node.py,sha256=mGiDcHnL5KybDYSiONSWtjrHOXI6tjjfACfjv2Piogc,31756
36
+ model_compression_toolkit/core/common/graph/base_node.py,sha256=QPV2PWpYGtS2qB-uioYeGEgEEnPuOy-UFOLVyjWWIvg,31877
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=h8SwVIwM36nBkqd1i-y1Sn_CrIRRp1JP7B6q0L3AQgc,21136
114
+ model_compression_toolkit/core/common/quantization/set_node_quantization_config.py,sha256=ChhXckn8E3Kot6g5R27KD2WSVMzPfqVwkeTJ0UeBdyg,21257
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
@@ -432,8 +432,8 @@ model_compression_toolkit/target_platform_capabilities/constants.py,sha256=iJXGy
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
434
  model_compression_toolkit/target_platform_capabilities/schema/mct_current_schema.py,sha256=MxEMpEYHpcgGqHMn371jJU6SMCMvV9qXn1NvjQ4XFik,485
435
- model_compression_toolkit/target_platform_capabilities/schema/schema_functions.py,sha256=jksWB8EkIOY94z7DVhcaynfp7Jy_aJu5zDFjWMQk8O0,1383
436
- model_compression_toolkit/target_platform_capabilities/schema/v1.py,sha256=tUvJR1tJpo79WuBya4m2HFHrkyxWwfO-cJxtuRZv4RQ,30110
435
+ model_compression_toolkit/target_platform_capabilities/schema/schema_functions.py,sha256=8Ek7nigw_RYLc5eRjbKr70aqysu_GD_hE1AtcKGi6yg,4610
436
+ model_compression_toolkit/target_platform_capabilities/schema/v1.py,sha256=R_CjTWFiVja11WzOxRNqlOaj36zRJyaAE5s8FaP-Yx4,29147
437
437
  model_compression_toolkit/target_platform_capabilities/target_platform/__init__.py,sha256=0l1Y2EqivDkWRRRhirSRI3vwUzhUcSTrYgrwKIqO0IM,1548
438
438
  model_compression_toolkit/target_platform_capabilities/target_platform/current_tp_model.py,sha256=1Glr4qKDJfdk5TwM5fzZ12XzgbpQFioDOxb475905gk,2013
439
439
  model_compression_toolkit/target_platform_capabilities/target_platform/target_platform_model.py,sha256=TDJ65oCoMCVf2vqOlyioAZeOaPAILhNHcxLVMfszoII,1346
@@ -441,8 +441,8 @@ model_compression_toolkit/target_platform_capabilities/target_platform/targetpla
441
441
  model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/attribute_filter.py,sha256=jfhszvuD2Fyy6W2KjlLzXBQKFzTqGAaDZeFVr4-ONQw,8776
442
442
  model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/current_tpc.py,sha256=fIheShGOnxWYKqT8saHpBJqOU5RG_1Hp9qHry7IviIw,2115
443
443
  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=Rkk-6p1jyfriGMYjAWnDhwZUqMq_lN2xTUpZ4MzU9zI,6717
445
- model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/target_platform_capabilities.py,sha256=qtNVVVzei96dxa9MCBrHhGsE8So01i3E-aCZw_400H0,9676
444
+ model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/operations_to_layers.py,sha256=YcHsObQ0RFT-ETwRSqhQil3xPwik0euh_Y5V9bpWD8E,6865
445
+ model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/target_platform_capabilities.py,sha256=jQ7t1wCOa-h_OCYOCmNVhEwftkbU1O4d7bnd4PgbuLI,9865
446
446
  model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/target_platform_capabilities_component.py,sha256=FvrYI0Qy7DCmDp2gyUYyCZq5pY84JgLtJqSIiVTJ8Ss,1030
447
447
  model_compression_toolkit/target_platform_capabilities/tpc_models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
448
448
  model_compression_toolkit/target_platform_capabilities/tpc_models/get_target_platform_capabilities.py,sha256=CWind2Kd91lzBTRAh1A9sHuNw17xXhMb3gV436RpK8c,3033
@@ -450,35 +450,35 @@ model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/__i
450
450
  model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/target_platform_capabilities.py,sha256=yIWwvfTpiT0wRf7GwPgK9elKbGh46jxCrkcLVEjvesU,6081
451
451
  model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/latest/__init__.py,sha256=eVIRpx5O0JQI7TSdw5JAWtwrG3MQ8-7hYThQvB9da5c,1528
452
452
  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=-5fj8VUGYGOWpvN_RsBRPA6bYeW7ncH0S8Atbn1e8xI,11343
453
+ model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1/tp_model.py,sha256=W-DxFuYuD6cclQHmHmVdUpILHqTL7VfOKFFosoUtcJw,11317
454
454
  model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1/tpc_keras.py,sha256=DiEVKde6bZiRDcoeTKzbrfjFIDVEeES0Q_Ms50NbW7Y,6568
455
455
  model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1/tpc_pytorch.py,sha256=rQY-ApvLKo9LbN2uKO2NsdOgX49TKcED3o8mBxWAFKw,5594
456
456
  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=MIkzWvregjIPUDJpt9YCzQdH5krDKt0uYq1C1xszKr4,11066
457
+ model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_lut/tp_model.py,sha256=ArqqPg3cxCuRFQzz5lGMrZcLxpx_8n8_6cdFzKNTtDU,11072
458
458
  model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_lut/tpc_keras.py,sha256=I3NnmCBSB6KB8ECXJsfXw6FD-ONj39RXL-yB2-nE1xI,6577
459
459
  model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_lut/tpc_pytorch.py,sha256=R6ZDXT2bwAmdZfmXxIoCo7-_h7oGfyr6cZoZmBJdPa0,5713
460
460
  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=QHVG6aQLWBT60hdrCvbOfSZsGYD-1SKHR732TMYfNbI,10821
461
+ model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_pot/tp_model.py,sha256=fwbZoIOrQhPXbcC8kAo3Gl_hmLTbr7a2BxiRvB1DxV8,10827
462
462
  model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_pot/tpc_keras.py,sha256=ovHI4lvlcP_haolXmL8TvIpPi9tglhdUxRxNxuf6QPk,6581
463
463
  model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_pot/tpc_pytorch.py,sha256=PgNAmXZx7hg46KwR16laU7jr2U35rnHiTcR25RaLxd0,5732
464
464
  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=hme-SsuB8pZh9OPIRPujjJZ24EoU0y_5rrgNBoc2osY,11398
465
+ model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2/tp_model.py,sha256=3qQ-RQPFjTcE8WM3rzMYe89SFoMtkbJ1f6IjkWUam3Q,11372
466
466
  model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2/tpc_keras.py,sha256=i6oEt_3FAeccU9QkVCVxWZf2aX17IExAljR8y13k9P4,6663
467
467
  model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2/tpc_pytorch.py,sha256=Iwi-D_0iC19Lo3yWduuaItezXFrRxRhowUY4jGOtwXk,5700
468
468
  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=xQHVTmpGRImcnqhQ6AdmB8JSWiCLydmAWRZyD4U3TIk,11118
469
+ model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2_lut/tp_model.py,sha256=yANACBcyagUsJ3D8oustmUCVNrKcwFlBMAMTCrQtac4,11124
470
470
  model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2_lut/tpc_keras.py,sha256=e3su6KmNsc2ziP3eEICp-tcnY9YmGPiLoMJ3TreqVx4,6671
471
471
  model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2_lut/tpc_pytorch.py,sha256=9W-pjOhONqgym1t2vDRTo7x-JQiVlxQsAKAG6HdAww4,5707
472
472
  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=4iztway_Dd6igh3qY--d2AYPjWSorhO03Tdi_Mcm-yE,13210
473
+ model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v3/tp_model.py,sha256=acSYyoS6R6DVHtyExcj93zHz5g3YKiZ71dF6f7N3ygQ,13184
474
474
  model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v3/tpc_keras.py,sha256=vbBgQfEd5mLnJKGX2CO-KA0x87_qTmDH7HbbtLgCIfg,6881
475
475
  model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v3/tpc_pytorch.py,sha256=oDG_Ln0mPmt8p5eKrjGQlHLHCApErLHazny9bIfu3iI,5968
476
476
  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=LOQgPS0yLlrZK83R1ZRr6ZZwo44eojGZ7fbtH9g_5JA,12008
477
+ model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v3_lut/tp_model.py,sha256=QdicH7CpS7-wUdp4XnYLL9yGmly_RKPifB4sNf1pUNc,12014
478
478
  model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v3_lut/tpc_keras.py,sha256=hHK7MY6xfSCRnXQ6Qz0hbN_hM18f-gf3uZmxdl44khU,6679
479
479
  model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v3_lut/tpc_pytorch.py,sha256=GmS3CuSQPwLSgPdruXCSHN49_fRiRBn9PKA9CPmtqM8,5789
480
480
  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=jATi0V3ZhgFVfMag2l4MElc3e5XN8eBBytWUxoEj4nU,17532
481
+ model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v4/tp_model.py,sha256=4Gjb_6pSgnCi7xqUYKdUsBBZeRNcrBbQ7wvuprHHIms,17498
482
482
  model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v4/tpc_keras.py,sha256=9LToJzBBCXEZ5AOj2zzJMRr6S0uwlKKEg3stLK2u1fw,8341
483
483
  model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v4/tpc_pytorch.py,sha256=v1Fyp9YKWfdxF9tLfD0fAV41mqEH0S9z-jqr4QFH5CQ,7221
484
484
  model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/__init__.py,sha256=cco4TmeIDIh32nj9ZZXVkws4dd9F2UDrmjKzTN8G0V0,697
@@ -492,7 +492,7 @@ model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/__i
492
492
  model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/target_platform_capabilities.py,sha256=_tf41m40fbax27y5A5JoGHw4p5NY-Kb3c8oxSTnRD_E,2802
493
493
  model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/latest/__init__.py,sha256=LIUUQn42YU7oD2YfnEgP0gfqm7Hq9e0fD_8418aKzKI,1511
494
494
  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=4rod_xFp56WoRIeLF6cxZWGniE0vtyqvdSdXaA0GsNc,10385
495
+ model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/v1/tp_model.py,sha256=D1aMSpT4E-WJ4V3rPfjbl_FNZTuFI3-AGsQiL4-6ujc,10389
496
496
  model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/v1/tpc_keras.py,sha256=4vQG9uaV5bAte1VP8oMT5dwiDisW84F1B-de0BdBusY,6808
497
497
  model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/v1/tpc_pytorch.py,sha256=uG27HAOrD-JMSDXaEycDJeFGqhF8J3ZqKI4CJCW6zA4,5934
498
498
  model_compression_toolkit/trainable_infrastructure/__init__.py,sha256=uewpvlPkH9mBFt8IxoAgIfz6iEcvWbOImm_fb6_BxD8,1543
@@ -559,8 +559,8 @@ model_compression_toolkit/xquant/pytorch/model_analyzer.py,sha256=b93o800yVB3Z-i
559
559
  model_compression_toolkit/xquant/pytorch/pytorch_report_utils.py,sha256=bOc-hFL3gdoSM1Th_S2N_-9JJSlPGpZCTx_QLJHS6lg,3388
560
560
  model_compression_toolkit/xquant/pytorch/similarity_functions.py,sha256=CERxq5K8rqaiE-DlwhZBTUd9x69dtYJlkHOPLB54vm8,2354
561
561
  model_compression_toolkit/xquant/pytorch/tensorboard_utils.py,sha256=mkoEktLFFHtEKzzFRn_jCnxjhJolK12TZ5AQeDHzUO8,9767
562
- mct_nightly-2.2.0.20241211.531.dist-info/LICENSE.md,sha256=aYSSIb-5AFPeITTvXm1UAoe0uYBiMmSS8flvXaaFUks,10174
563
- mct_nightly-2.2.0.20241211.531.dist-info/METADATA,sha256=qdiuketUM1fffHOn2tTgXRwUHPHj-IcdJbapmxVE0bM,26446
564
- mct_nightly-2.2.0.20241211.531.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
565
- mct_nightly-2.2.0.20241211.531.dist-info/top_level.txt,sha256=gsYA8juk0Z-ZmQRKULkb3JLGdOdz8jW_cMRjisn9ga4,26
566
- mct_nightly-2.2.0.20241211.531.dist-info/RECORD,,
562
+ mct_nightly-2.2.0.20241213.540.dist-info/LICENSE.md,sha256=aYSSIb-5AFPeITTvXm1UAoe0uYBiMmSS8flvXaaFUks,10174
563
+ mct_nightly-2.2.0.20241213.540.dist-info/METADATA,sha256=_PxYI2q2aQe9fwkTQJ0ec5vjTiBG1lktdkehLb4p7YI,26446
564
+ mct_nightly-2.2.0.20241213.540.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
565
+ mct_nightly-2.2.0.20241213.540.dist-info/top_level.txt,sha256=gsYA8juk0Z-ZmQRKULkb3JLGdOdz8jW_cMRjisn9ga4,26
566
+ mct_nightly-2.2.0.20241213.540.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.20241211.000531"
30
+ __version__ = "2.2.0.20241213.000540"
@@ -24,6 +24,7 @@ from model_compression_toolkit.core.common.quantization.node_quantization_config
24
24
  from model_compression_toolkit.logger import Logger
25
25
  from model_compression_toolkit.target_platform_capabilities.schema.mct_current_schema import QuantizationConfigOptions, \
26
26
  OpQuantizationConfig
27
+ from model_compression_toolkit.target_platform_capabilities.schema.schema_functions import max_input_activation_n_bits
27
28
  from model_compression_toolkit.target_platform_capabilities.target_platform import TargetPlatformCapabilities, LayerFilterParams
28
29
 
29
30
 
@@ -584,7 +585,7 @@ class BaseNode:
584
585
  _node_qc_options = node_qc_options.quantization_config_list
585
586
  if len(next_nodes):
586
587
  next_nodes_qc_options = [_node.get_qco(tpc) for _node in next_nodes]
587
- next_nodes_supported_input_bitwidth = min([op_cfg.max_input_activation_n_bits
588
+ next_nodes_supported_input_bitwidth = min([max_input_activation_n_bits(op_cfg)
588
589
  for qc_opts in next_nodes_qc_options
589
590
  for op_cfg in qc_opts.quantization_config_list])
590
591
 
@@ -595,7 +596,7 @@ class BaseNode:
595
596
  Logger.critical(f"Graph doesn't match TPC bit configurations: {self} -> {next_nodes}.") # pragma: no cover
596
597
 
597
598
  # Verify base config match
598
- if any([node_qc_options.base_config.activation_n_bits > qc_opt.base_config.max_input_activation_n_bits
599
+ if any([node_qc_options.base_config.activation_n_bits > max_input_activation_n_bits(qc_opt.base_config)
599
600
  for qc_opt in next_nodes_qc_options]):
600
601
  # base_config activation bits doesn't match next node supported input bit-width -> replace with
601
602
  # a qco from quantization_config_list with maximum activation bit-width.
@@ -32,6 +32,7 @@ from model_compression_toolkit.core.common.quantization.quantization_params_fn_s
32
32
  get_activation_quantization_params_fn, get_weights_quantization_params_fn
33
33
  from model_compression_toolkit.core.common.quantization.quantization_fn_selection import \
34
34
  get_weights_quantization_fn
35
+ from model_compression_toolkit.target_platform_capabilities.schema.schema_functions import max_input_activation_n_bits
35
36
  from model_compression_toolkit.target_platform_capabilities.target_platform.targetplatform2framework import TargetPlatformCapabilities
36
37
  from model_compression_toolkit.target_platform_capabilities.schema.mct_current_schema import OpQuantizationConfig, \
37
38
  QuantizationConfigOptions
@@ -117,7 +118,7 @@ def filter_node_qco_by_graph(node: BaseNode,
117
118
 
118
119
  if len(next_nodes):
119
120
  next_nodes_qc_options = [_node.get_qco(tpc) for _node in next_nodes]
120
- next_nodes_supported_input_bitwidth = min([op_cfg.max_input_activation_n_bits
121
+ next_nodes_supported_input_bitwidth = min([max_input_activation_n_bits(op_cfg)
121
122
  for qc_opts in next_nodes_qc_options
122
123
  for op_cfg in qc_opts.quantization_config_list])
123
124
 
@@ -128,7 +129,7 @@ def filter_node_qco_by_graph(node: BaseNode,
128
129
  Logger.critical(f"Graph doesn't match TPC bit configurations: {node} -> {next_nodes}.")
129
130
 
130
131
  # Verify base config match
131
- if any([node_qc_options.base_config.activation_n_bits > qc_opt.base_config.max_input_activation_n_bits
132
+ if any([node_qc_options.base_config.activation_n_bits > max_input_activation_n_bits(qc_opt.base_config)
132
133
  for qc_opt in next_nodes_qc_options]):
133
134
  # base_config activation bits doesn't match next node supported input bit-width -> replace with
134
135
  # a qco from quantization_config_list with maximum activation bit-width.
@@ -12,26 +12,95 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
  # ==============================================================================
15
- import copy
16
- from typing import Any, Dict
15
+ from logging import Logger
16
+ from typing import Optional
17
17
 
18
+ from model_compression_toolkit.target_platform_capabilities.schema.mct_current_schema import OpQuantizationConfig, \
19
+ TargetPlatformModel, QuantizationConfigOptions, OperatorsSetBase
18
20
 
19
- def clone_and_edit_object_params(obj: Any, **kwargs: Dict) -> Any:
21
+
22
+ def max_input_activation_n_bits(op_quantization_config: OpQuantizationConfig) -> int:
23
+ """
24
+ Get the maximum supported input bit-width.
25
+
26
+ Args:
27
+ op_quantization_config (OpQuantizationConfig): The configuration object from which to retrieve the maximum supported input bit-width.
28
+
29
+ Returns:
30
+ int: Maximum supported input bit-width.
31
+ """
32
+ return max(op_quantization_config.supported_input_activation_n_bits)
33
+
34
+
35
+ def get_config_options_by_operators_set(tp_model: TargetPlatformModel,
36
+ operators_set_name: str) -> QuantizationConfigOptions:
37
+ """
38
+ Get the QuantizationConfigOptions of an OperatorsSet by its name.
39
+
40
+ Args:
41
+ tp_model (TargetPlatformModel): The target platform model containing the operator sets and their configurations.
42
+ operators_set_name (str): The name of the OperatorsSet whose quantization configuration options are to be retrieved.
43
+
44
+ Returns:
45
+ QuantizationConfigOptions: The quantization configuration options associated with the specified OperatorsSet,
46
+ or the default quantization configuration options if the OperatorsSet is not found.
47
+ """
48
+ for op_set in tp_model.operator_set:
49
+ if operators_set_name == op_set.name:
50
+ return op_set.qc_options
51
+ return tp_model.default_qco
52
+
53
+
54
+ def get_default_op_quantization_config(tp_model: TargetPlatformModel) -> OpQuantizationConfig:
20
55
  """
21
- Clones the given object and edit some of its parameters.
56
+ Get the default OpQuantizationConfig of the TargetPlatformModel.
22
57
 
23
58
  Args:
24
- obj: An object to clone.
25
- **kwargs: Keyword arguments to edit in the cloned object.
59
+ tp_model (TargetPlatformModel): The target platform model containing the default quantization configuration.
26
60
 
27
61
  Returns:
28
- Edited copy of the given object.
62
+ OpQuantizationConfig: The default quantization configuration.
63
+
64
+ Raises:
65
+ AssertionError: If the default quantization configuration list contains more than one configuration option.
66
+ """
67
+ assert len(tp_model.default_qco.quantization_config_list) == 1, \
68
+ f"Default quantization configuration options must contain only one option, " \
69
+ f"but found {len(tp_model.default_qco.quantization_config_list)} configurations." # pragma: no cover
70
+ return tp_model.default_qco.quantization_config_list[0]
71
+
72
+
73
+ def is_opset_in_model(tp_model: TargetPlatformModel, opset_name: str) -> bool:
74
+ """
75
+ Check whether an OperatorsSet is defined in the model.
76
+
77
+ Args:
78
+ tp_model (TargetPlatformModel): The target platform model containing the list of operator sets.
79
+ opset_name (str): The name of the OperatorsSet to check for existence.
80
+
81
+ Returns:
82
+ bool: True if an OperatorsSet with the given name exists in the target platform model,
83
+ otherwise False.
29
84
  """
85
+ return opset_name in [x.name for x in tp_model.operator_set]
30
86
 
31
- obj_copy = copy.deepcopy(obj)
32
- for k, v in kwargs.items():
33
- assert hasattr(obj_copy,
34
- k), f'Edit parameter is possible only for existing parameters in the given object, ' \
35
- f'but {k} is not a parameter of {obj_copy}.'
36
- setattr(obj_copy, k, v)
37
- return obj_copy
87
+
88
+ def get_opset_by_name(tp_model: TargetPlatformModel, opset_name: str) -> Optional[OperatorsSetBase]:
89
+ """
90
+ Get an OperatorsSet object from the model by its name.
91
+
92
+ Args:
93
+ tp_model (TargetPlatformModel): The target platform model containing the list of operator sets.
94
+ opset_name (str): The name of the OperatorsSet to be retrieved.
95
+
96
+ Returns:
97
+ Optional[OperatorsSetBase]: The OperatorsSet object with the specified name if found.
98
+ If no operator set with the specified name is found, None is returned.
99
+
100
+ Raises:
101
+ A critical log message if multiple operator sets with the same name are found.
102
+ """
103
+ opset_list = [x for x in tp_model.operator_set if x.name == opset_name]
104
+ if len(opset_list) > 1:
105
+ Logger.critical(f"Found more than one OperatorsSet in TargetPlatformModel with the name {opset_name}.") # pragma: no cover
106
+ return opset_list[0] if opset_list else None