mct-nightly 1.9.0.20230815.post356__py3-none-any.whl → 1.9.0.20230816.post359__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-1.9.0.20230815.post356.dist-info → mct_nightly-1.9.0.20230816.post359.dist-info}/METADATA +4 -4
- {mct_nightly-1.9.0.20230815.post356.dist-info → mct_nightly-1.9.0.20230816.post359.dist-info}/RECORD +34 -34
- model_compression_toolkit/core/keras/back2framework/keras_model_builder.py +4 -6
- model_compression_toolkit/core/keras/back2framework/mixed_precision_model_builder.py +7 -1
- model_compression_toolkit/core/keras/back2framework/model_gradients.py +3 -3
- model_compression_toolkit/core/keras/default_framework_info.py +2 -2
- model_compression_toolkit/core/keras/graph_substitutions/substitutions/multi_head_attention_decomposition.py +3 -3
- model_compression_toolkit/core/keras/graph_substitutions/substitutions/shift_negative_activation.py +8 -3
- model_compression_toolkit/core/keras/keras_implementation.py +4 -3
- model_compression_toolkit/core/keras/keras_node_prior_info.py +2 -2
- model_compression_toolkit/core/keras/reader/common.py +6 -6
- model_compression_toolkit/core/keras/reader/connectivity_handler.py +2 -3
- model_compression_toolkit/core/keras/reader/node_builder.py +4 -4
- model_compression_toolkit/exporter/model_exporter/keras/fakely_quant_keras_exporter.py +7 -3
- model_compression_toolkit/exporter/model_wrapper/keras/validate_layer.py +9 -2
- model_compression_toolkit/exporter/model_wrapper/pytorch/builder/node_to_quantizer.py +6 -6
- model_compression_toolkit/gptq/keras/gptq_training.py +2 -2
- model_compression_toolkit/qat/pytorch/quantizer/ste_rounding/symmetric_ste.py +4 -4
- model_compression_toolkit/qat/pytorch/quantizer/ste_rounding/uniform_ste.py +2 -1
- model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/v1/tpc_keras.py +2 -3
- model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/v2/tpc_keras.py +3 -4
- model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/v3/tpc_keras.py +3 -4
- model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/v3_lut/tpc_keras.py +3 -4
- model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/v4/tpc_keras.py +2 -2
- model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/v4_lut/tpc_keras.py +2 -2
- model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/v5/tpc_keras.py +2 -2
- model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1/tpc_keras.py +3 -2
- model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_lut/tpc_keras.py +2 -2
- model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/v1/tpc_keras.py +2 -3
- model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/v1/tpc_keras.py +3 -3
- model_compression_toolkit/trainable_infrastructure/keras/config_serialization.py +10 -1
- {mct_nightly-1.9.0.20230815.post356.dist-info → mct_nightly-1.9.0.20230816.post359.dist-info}/LICENSE.md +0 -0
- {mct_nightly-1.9.0.20230815.post356.dist-info → mct_nightly-1.9.0.20230816.post359.dist-info}/WHEEL +0 -0
- {mct_nightly-1.9.0.20230815.post356.dist-info → mct_nightly-1.9.0.20230816.post359.dist-info}/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: mct-nightly
|
|
3
|
-
Version: 1.9.0.
|
|
3
|
+
Version: 1.9.0.20230816.post359
|
|
4
4
|
Summary: A Model Compression Toolkit for neural networks
|
|
5
5
|
Home-page: UNKNOWN
|
|
6
6
|
License: UNKNOWN
|
|
@@ -91,9 +91,9 @@ MCT supports compressing models built with the TensorFlow or PyTorch frameworks,
|
|
|
91
91
|
|
|
92
92
|
| TensorFlow Version | PyTorch Version |
|
|
93
93
|
|------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------|
|
|
94
|
-
|  |  |
|
|
95
|
+
|  |  |
|
|
96
|
+
|  |  |
|
|
97
97
|
|
|
98
98
|
|
|
99
99
|
## Supported Features
|
{mct_nightly-1.9.0.20230815.post356.dist-info → mct_nightly-1.9.0.20230816.post359.dist-info}/RECORD
RENAMED
|
@@ -129,19 +129,19 @@ model_compression_toolkit/core/common/visualization/tensorboard_writer.py,sha256
|
|
|
129
129
|
model_compression_toolkit/core/keras/__init__.py,sha256=mjbqLD-KcG3eNeCYpu1GBS7VclGVOQ63x2p6mAAuba4,698
|
|
130
130
|
model_compression_toolkit/core/keras/constants.py,sha256=nbty5PUcLhC9aTuAemXTEmKcPF--7a5adO1-nQsgB9A,2664
|
|
131
131
|
model_compression_toolkit/core/keras/custom_layer_validation.py,sha256=f-b14wuiIgitBe7d0MmofYhDCTO3IhwJgwrh-Hq_t_U,1192
|
|
132
|
-
model_compression_toolkit/core/keras/default_framework_info.py,sha256=
|
|
133
|
-
model_compression_toolkit/core/keras/keras_implementation.py,sha256=
|
|
132
|
+
model_compression_toolkit/core/keras/default_framework_info.py,sha256=HLLO28tsbb9tHYQ05grUr3oJTRKdS520QnyGUYgzRK0,4994
|
|
133
|
+
model_compression_toolkit/core/keras/keras_implementation.py,sha256=9qD5s9XmxGzTd_6MG4tWj_n-nibHOf7XBr8WYzwTY_I,27439
|
|
134
134
|
model_compression_toolkit/core/keras/keras_model_validation.py,sha256=1wNV2clFdC9BzIELRLSO2uKf0xqjLqlkTJudwtCeaJk,1722
|
|
135
|
-
model_compression_toolkit/core/keras/keras_node_prior_info.py,sha256=
|
|
135
|
+
model_compression_toolkit/core/keras/keras_node_prior_info.py,sha256=f6o5Fmpw0aDrO704_A-SqBrKSO1iNEOyofP9pm3g8yg,3936
|
|
136
136
|
model_compression_toolkit/core/keras/kpi_data_facade.py,sha256=rArrfMtxWGR1P4nhKKxqh6fo7pauRDzkRsZIh_SXxO4,8502
|
|
137
137
|
model_compression_toolkit/core/keras/tf_tensor_numpy.py,sha256=BauH-Ssoiuv5wu81fk1bm9HO_0yR0oTwKyLkXgE3qSE,2022
|
|
138
138
|
model_compression_toolkit/core/keras/back2framework/__init__.py,sha256=rhIiXg_nBgUZ-baE3M6SzCuQbcnq4iebY1jtJBvKHOM,808
|
|
139
139
|
model_compression_toolkit/core/keras/back2framework/factory_model_builder.py,sha256=GSh1Piz5qpA7IlvHTMqUvPn7WBDa0IHEDZdd_TzY9XA,2226
|
|
140
140
|
model_compression_toolkit/core/keras/back2framework/float_model_builder.py,sha256=9SFHhX-JnkB8PvYIIHRYlReBDI_RkZY9LditzW_ElLk,2444
|
|
141
141
|
model_compression_toolkit/core/keras/back2framework/instance_builder.py,sha256=TOn_MEp0UCDshy6mKiHeHuKGCWW_Xz81V0o_POVmgLc,4508
|
|
142
|
-
model_compression_toolkit/core/keras/back2framework/keras_model_builder.py,sha256=
|
|
143
|
-
model_compression_toolkit/core/keras/back2framework/mixed_precision_model_builder.py,sha256=
|
|
144
|
-
model_compression_toolkit/core/keras/back2framework/model_gradients.py,sha256=
|
|
142
|
+
model_compression_toolkit/core/keras/back2framework/keras_model_builder.py,sha256=l2l7JoyZLfKt10xuX4s8--SWpxlhMV1ZHOme2rmnaww,15916
|
|
143
|
+
model_compression_toolkit/core/keras/back2framework/mixed_precision_model_builder.py,sha256=DtH6c_eKYw6rq8oQcX-R6Ddbz3uX8v6jmiHeowerL9w,14616
|
|
144
|
+
model_compression_toolkit/core/keras/back2framework/model_gradients.py,sha256=IT5LJoSFqIqGFVtQpu-LUQ10TJyaZiRPnImqwQCI0iA,15428
|
|
145
145
|
model_compression_toolkit/core/keras/back2framework/quantized_model_builder.py,sha256=5wFb4nx_F0Wu4c8pLf6n6OzxOHtpOJ6_3mQsNSXIudU,2481
|
|
146
146
|
model_compression_toolkit/core/keras/graph_substitutions/__init__.py,sha256=mjbqLD-KcG3eNeCYpu1GBS7VclGVOQ63x2p6mAAuba4,698
|
|
147
147
|
model_compression_toolkit/core/keras/graph_substitutions/substitutions/__init__.py,sha256=mjbqLD-KcG3eNeCYpu1GBS7VclGVOQ63x2p6mAAuba4,698
|
|
@@ -151,13 +151,13 @@ model_compression_toolkit/core/keras/graph_substitutions/substitutions/batchnorm
|
|
|
151
151
|
model_compression_toolkit/core/keras/graph_substitutions/substitutions/batchnorm_refusing.py,sha256=5df_xGfXkqNub4xVRnCWQvSohWqdv12axjJ6edVU2H0,2478
|
|
152
152
|
model_compression_toolkit/core/keras/graph_substitutions/substitutions/input_scaling.py,sha256=Yj59BMBrITJnXJHH-7de91LJwH_1l1WhY1udSQjdoi4,5598
|
|
153
153
|
model_compression_toolkit/core/keras/graph_substitutions/substitutions/linear_collapsing.py,sha256=Yl72Io4-etnsOXfMKAZmC2lDzmskxZu5gey7IBcUukU,5925
|
|
154
|
-
model_compression_toolkit/core/keras/graph_substitutions/substitutions/multi_head_attention_decomposition.py,sha256=
|
|
154
|
+
model_compression_toolkit/core/keras/graph_substitutions/substitutions/multi_head_attention_decomposition.py,sha256=aAG5wrcnnydn1pPYqvH56LWsQXjSODbsoNbX_jtQGP4,26759
|
|
155
155
|
model_compression_toolkit/core/keras/graph_substitutions/substitutions/relu_bound_to_power_of_2.py,sha256=IdKOg6AWZWMcmDbOuNdxetS5_zTarXIIffdYL7JTdvk,3872
|
|
156
156
|
model_compression_toolkit/core/keras/graph_substitutions/substitutions/remove_relu_upper_bound.py,sha256=cJQTDzTDQKAJ7EQ20tfsmReGA_OoTIN793MwVe1Ok8g,2387
|
|
157
157
|
model_compression_toolkit/core/keras/graph_substitutions/substitutions/residual_collapsing.py,sha256=6PnPIC5ax7uTzcoslW7ropIu7vVmo70AD4QYcYnQV20,3176
|
|
158
158
|
model_compression_toolkit/core/keras/graph_substitutions/substitutions/scale_equalization.py,sha256=ryes9y1ie-vjBGso2TeO4EXxVk69Ew3iSAhshPz1Ou4,5542
|
|
159
159
|
model_compression_toolkit/core/keras/graph_substitutions/substitutions/separableconv_decomposition.py,sha256=OqtLx3yeUXlE1DfA1dA4oWk0yVSMPSgvYb0dQ8Ytb5E,7730
|
|
160
|
-
model_compression_toolkit/core/keras/graph_substitutions/substitutions/shift_negative_activation.py,sha256=
|
|
160
|
+
model_compression_toolkit/core/keras/graph_substitutions/substitutions/shift_negative_activation.py,sha256=6vEakr0jWrccU7dfubRCiNg6TFe6whte_pbTiXMJIvc,11045
|
|
161
161
|
model_compression_toolkit/core/keras/graph_substitutions/substitutions/softmax_shift.py,sha256=Qk5seDALj_th9dHJehY7ynZjvFjVfCv_mJ1enA5hX0c,1623
|
|
162
162
|
model_compression_toolkit/core/keras/graph_substitutions/substitutions/virtual_activation_weights_composition.py,sha256=wH9ocMLL725-uUPU-zCxdd8NwT5nyd0ZShmI7iuTwF8,1462
|
|
163
163
|
model_compression_toolkit/core/keras/graph_substitutions/substitutions/weights_activation_split.py,sha256=rjIheZW7LbSPv9bzMSmC8wl6UUxaTkd4J2IHinObT-Y,1814
|
|
@@ -169,9 +169,9 @@ model_compression_toolkit/core/keras/quantizer/base_quantizer.py,sha256=eMRjAUU1
|
|
|
169
169
|
model_compression_toolkit/core/keras/quantizer/fake_quant_builder.py,sha256=Oi64CD83OopPoQNAarl2MJRbCKujU2W8Wdrs9KOPNWk,6151
|
|
170
170
|
model_compression_toolkit/core/keras/quantizer/lut_fake_quant.py,sha256=Up3-sbuAcaJ6kfe7Sz3XN6iiJ9hlxzOMncLCFEXJFjk,4475
|
|
171
171
|
model_compression_toolkit/core/keras/reader/__init__.py,sha256=mjbqLD-KcG3eNeCYpu1GBS7VclGVOQ63x2p6mAAuba4,698
|
|
172
|
-
model_compression_toolkit/core/keras/reader/common.py,sha256=
|
|
173
|
-
model_compression_toolkit/core/keras/reader/connectivity_handler.py,sha256=
|
|
174
|
-
model_compression_toolkit/core/keras/reader/node_builder.py,sha256=
|
|
172
|
+
model_compression_toolkit/core/keras/reader/common.py,sha256=z0PMoP_HjndN3upYTEQS6yxSGqQsM74V3uRHt_Hx3jw,2490
|
|
173
|
+
model_compression_toolkit/core/keras/reader/connectivity_handler.py,sha256=AgF6qXZOJMeXvc-pBnGY23BJz7wPBx2aTYxHiO8efec,11303
|
|
174
|
+
model_compression_toolkit/core/keras/reader/node_builder.py,sha256=eP9FOcMePxXOHiDr-BGn3YKVhWc11HmN8UIcQyMgJAg,6368
|
|
175
175
|
model_compression_toolkit/core/keras/reader/reader.py,sha256=wS9UQ2wJKnkZYe9JHwQp7ygDr6CRlzrxmIyLDv1Qz6U,8109
|
|
176
176
|
model_compression_toolkit/core/keras/reader/nested_model/__init__.py,sha256=mjbqLD-KcG3eNeCYpu1GBS7VclGVOQ63x2p6mAAuba4,698
|
|
177
177
|
model_compression_toolkit/core/keras/reader/nested_model/edges_merger.py,sha256=K6KAH9o8KSG6baLmhKoCrYK-i-wb6gRKiZmoijFqEYA,7906
|
|
@@ -235,7 +235,7 @@ model_compression_toolkit/exporter/model_exporter/fw_agonstic/exporter.py,sha256
|
|
|
235
235
|
model_compression_toolkit/exporter/model_exporter/keras/__init__.py,sha256=uZ2RigbY9O2PJ0Il8wPpS_s7frgg9WUGd_SHeKGyl1A,699
|
|
236
236
|
model_compression_toolkit/exporter/model_exporter/keras/base_keras_exporter.py,sha256=93UkXZEm6sTCATUwLu4exVyIFAFBzbA4Yg_Tr89Rb9U,1495
|
|
237
237
|
model_compression_toolkit/exporter/model_exporter/keras/export_serialization_format.py,sha256=coIfpkMTfPImzPb1LpK_HYzyZ5h5cGBbPoJGHHcoIC8,966
|
|
238
|
-
model_compression_toolkit/exporter/model_exporter/keras/fakely_quant_keras_exporter.py,sha256=
|
|
238
|
+
model_compression_toolkit/exporter/model_exporter/keras/fakely_quant_keras_exporter.py,sha256=o8IyEgHdrjk2OvWBrxl11oGH0lVvqX8aynVUYCAD4mk,11285
|
|
239
239
|
model_compression_toolkit/exporter/model_exporter/keras/fakely_quant_tflite_exporter.py,sha256=sgTlqNjHSf0vVzQpq2811WL6k7SIo_QZaV7TxUtIC8I,3043
|
|
240
240
|
model_compression_toolkit/exporter/model_exporter/keras/int8_tflite_exporter.py,sha256=nGtpDTeH5Tdp7sjyuXsy_9TPpijDYp4nkz366DUUJ0Q,8048
|
|
241
241
|
model_compression_toolkit/exporter/model_exporter/keras/keras_export_facade.py,sha256=mGaIaMGQ3qVWMEbosyL0uYc-3KsjXumexoaTbeue1X4,5982
|
|
@@ -247,7 +247,7 @@ model_compression_toolkit/exporter/model_exporter/pytorch/fakely_quant_torchscri
|
|
|
247
247
|
model_compression_toolkit/exporter/model_exporter/pytorch/pytorch_export_facade.py,sha256=rzUd377eyHHo0dD6z0efTTR-8Bo6Ebqo0X8ECL-Q7Gw,5866
|
|
248
248
|
model_compression_toolkit/exporter/model_wrapper/__init__.py,sha256=7CF2zvpTrIEm8qnbuHnLZyTZkwBBxV24V8QA0oxGbh0,1187
|
|
249
249
|
model_compression_toolkit/exporter/model_wrapper/keras/__init__.py,sha256=cco4TmeIDIh32nj9ZZXVkws4dd9F2UDrmjKzTN8G0V0,697
|
|
250
|
-
model_compression_toolkit/exporter/model_wrapper/keras/validate_layer.py,sha256=
|
|
250
|
+
model_compression_toolkit/exporter/model_wrapper/keras/validate_layer.py,sha256=LzwUapHiTuXM8b7qFkoK5XvkNNJynhdw4L1A6XTKTJs,3767
|
|
251
251
|
model_compression_toolkit/exporter/model_wrapper/keras/builder/__init__.py,sha256=cco4TmeIDIh32nj9ZZXVkws4dd9F2UDrmjKzTN8G0V0,697
|
|
252
252
|
model_compression_toolkit/exporter/model_wrapper/keras/builder/fully_quantized_model_builder.py,sha256=P_701NG1OYwyxgbtPSjb-OYseDeiHjye8m9wjpAl6es,4253
|
|
253
253
|
model_compression_toolkit/exporter/model_wrapper/keras/builder/node_to_quantizer.py,sha256=VFX8rvlaGTK-k-3g0ayAL_qJJR_6wtS54tn9RzxKev4,8755
|
|
@@ -256,7 +256,7 @@ model_compression_toolkit/exporter/model_wrapper/pytorch/__init__.py,sha256=Rf1R
|
|
|
256
256
|
model_compression_toolkit/exporter/model_wrapper/pytorch/validate_layer.py,sha256=gvX5ILs5vjQ_F_dq5KaFs0GOQEq9gYXO5a6YZlYY8h4,3449
|
|
257
257
|
model_compression_toolkit/exporter/model_wrapper/pytorch/builder/__init__.py,sha256=cco4TmeIDIh32nj9ZZXVkws4dd9F2UDrmjKzTN8G0V0,697
|
|
258
258
|
model_compression_toolkit/exporter/model_wrapper/pytorch/builder/fully_quantized_model_builder.py,sha256=SJ5fetbUMkmB0tkHkmVhMrLksh7eqMQJLFuMD08ZKWM,3921
|
|
259
|
-
model_compression_toolkit/exporter/model_wrapper/pytorch/builder/node_to_quantizer.py,sha256=
|
|
259
|
+
model_compression_toolkit/exporter/model_wrapper/pytorch/builder/node_to_quantizer.py,sha256=62dI97t4N7TO7xDYnn3992B17XYKryyO9ZhxV1vdThY,8626
|
|
260
260
|
model_compression_toolkit/exporter/model_wrapper/pytorch/builder/node_to_quantizers.py,sha256=hinP-wtyxZyoW860GdJAk6M3iPjmwwPXQTUxd56yhq8,2086
|
|
261
261
|
model_compression_toolkit/gptq/__init__.py,sha256=2xos6AJziEy-eK91XtIJlunf8LhK4OayU7d6CQvXWsw,1276
|
|
262
262
|
model_compression_toolkit/gptq/runner.py,sha256=vWd7cWKgTGc9oPcTtwTQZoI3MArCx19Y61uteLFCxVo,5534
|
|
@@ -269,7 +269,7 @@ model_compression_toolkit/gptq/common/gptq_training.py,sha256=U24sNWiVzXEfnk4ePO
|
|
|
269
269
|
model_compression_toolkit/gptq/keras/__init__.py,sha256=cco4TmeIDIh32nj9ZZXVkws4dd9F2UDrmjKzTN8G0V0,697
|
|
270
270
|
model_compression_toolkit/gptq/keras/gptq_keras_implementation.py,sha256=axBwnCSjq5xk-xGymOwSOqjp39It-CVtGcCTRTf0E_4,1248
|
|
271
271
|
model_compression_toolkit/gptq/keras/gptq_loss.py,sha256=rbRkF15MYd6nq4G49kcjb_dPTa-XNq9cTkrb93mXawo,6241
|
|
272
|
-
model_compression_toolkit/gptq/keras/gptq_training.py,sha256=
|
|
272
|
+
model_compression_toolkit/gptq/keras/gptq_training.py,sha256=gliTu3hoL3bOMytgeaUfbcJ0bz7-bih-Lm3CkMvQiOM,17307
|
|
273
273
|
model_compression_toolkit/gptq/keras/graph_info.py,sha256=B9wMdlnUNHaFog6UsE3bEZrcB6j1ySNYaU4o_kI91H0,4564
|
|
274
274
|
model_compression_toolkit/gptq/keras/quantization_facade.py,sha256=siVgRlNhWwmiA-9FN7MIs3XSEp0NjgCPnXvBkFu5GLQ,14835
|
|
275
275
|
model_compression_toolkit/gptq/keras/quantizer/__init__.py,sha256=-DK1CDXvlsnEbki4lukZLpl6Xrbo91_jcqxXlG5Eg6Q,963
|
|
@@ -328,8 +328,8 @@ model_compression_toolkit/qat/pytorch/quantizer/base_pytorch_qat_quantizer.py,sh
|
|
|
328
328
|
model_compression_toolkit/qat/pytorch/quantizer/quantization_builder.py,sha256=GOYRDXvQSGe_iUFVmvDy5BqC952hu_-rQO06n8QCyw0,5491
|
|
329
329
|
model_compression_toolkit/qat/pytorch/quantizer/quantizer_utils.py,sha256=5XswoF-5aaFangkHssWKAQTsk6lf_zzndzfCsBWBVMs,5004
|
|
330
330
|
model_compression_toolkit/qat/pytorch/quantizer/ste_rounding/__init__.py,sha256=Rf1RcYmelmdZmBV5qOKvKWF575ofc06JFQSq83Jz99A,696
|
|
331
|
-
model_compression_toolkit/qat/pytorch/quantizer/ste_rounding/symmetric_ste.py,sha256=
|
|
332
|
-
model_compression_toolkit/qat/pytorch/quantizer/ste_rounding/uniform_ste.py,sha256=
|
|
331
|
+
model_compression_toolkit/qat/pytorch/quantizer/ste_rounding/symmetric_ste.py,sha256=4xmLmg7yN2A7iKnifwkWddgJTWMUiIjFilIuorJeK1A,9657
|
|
332
|
+
model_compression_toolkit/qat/pytorch/quantizer/ste_rounding/uniform_ste.py,sha256=0zFu84d49PF5GtgFbgu1ISxhqOqBG0_U9CdOhBiKnBk,8712
|
|
333
333
|
model_compression_toolkit/target_platform_capabilities/__init__.py,sha256=cco4TmeIDIh32nj9ZZXVkws4dd9F2UDrmjKzTN8G0V0,697
|
|
334
334
|
model_compression_toolkit/target_platform_capabilities/constants.py,sha256=mYUESjXeN7EPomZKgqHZE031KNOO4wmFdRB8gA4m50U,920
|
|
335
335
|
model_compression_toolkit/target_platform_capabilities/immutable.py,sha256=rSPd3Xpx4Rzt6-EwDA9tXvKygrrt4xvmq01JVCXY0hQ,1723
|
|
@@ -355,56 +355,56 @@ model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/ta
|
|
|
355
355
|
model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/latest/__init__.py,sha256=4Yr2tWrFAVDh_41o5TF0VUusMMyg0FIFaPWpW1tLQ5w,1514
|
|
356
356
|
model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/v1/__init__.py,sha256=t4JKsPcor-7KSCKzIwuaBv0NLNwfhuewAQGlDl6iBeo,717
|
|
357
357
|
model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/v1/tp_model.py,sha256=MpZ2j3YyAQqQbyAHHNG8Mgn2sHKTRvVoBPQHMIiyG70,6310
|
|
358
|
-
model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/v1/tpc_keras.py,sha256=
|
|
358
|
+
model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/v1/tpc_keras.py,sha256=KHj1i_TwQkhDzUEbUm0HZxqQLCl57H6CsH8zWu02jJo,3830
|
|
359
359
|
model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/v1/tpc_pytorch.py,sha256=-_hZ1eHcDW2emKcCwkWkuYjqYaOZUmz5sSlIBOI83YA,3261
|
|
360
360
|
model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/v2/__init__.py,sha256=GyJf-kpSYJDM9lmnxf4JFrMvRj4K8K-4te5r9qHCus8,717
|
|
361
361
|
model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/v2/tp_model.py,sha256=E9h5L5wmHgzLPrFBCf8eXUtZAIQ_3zLMijQL6l7jKsE,6846
|
|
362
|
-
model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/v2/tpc_keras.py,sha256=
|
|
362
|
+
model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/v2/tpc_keras.py,sha256=mq_KeCLBO0n0JfzA7LK8VPEngX5-FdK_NHmLZJIGD-w,4306
|
|
363
363
|
model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/v2/tpc_pytorch.py,sha256=ZV73uahc1wksuQWk5G5PmN3dgeELFXPNPDur8l14bJU,3859
|
|
364
364
|
model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/v3/__init__.py,sha256=e9S6b6dxUdRX96B3ZLVkYEaxjFEWb-ml6v-14g_xbhg,717
|
|
365
365
|
model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/v3/tp_model.py,sha256=hUtEUeq4hWMWGAA_I_oO1HhOs2CwWSLi3IqUGkutrR4,8148
|
|
366
|
-
model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/v3/tpc_keras.py,sha256=
|
|
366
|
+
model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/v3/tpc_keras.py,sha256=iLSTsQs0v8KLW-AcSfwXVxKLY4vdrwawTtuBS17S-Wg,4603
|
|
367
367
|
model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/v3/tpc_pytorch.py,sha256=R2GGyFFiR9qg9ycakJ3cZPpSDLcEtgpU91tARwWv7oc,4196
|
|
368
368
|
model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/v3_lut/__init__.py,sha256=l8UGahYXmyI7UNH6VM0Q0Bzp0ncXIDRx-zNyyFEH1tc,721
|
|
369
369
|
model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/v3_lut/tp_model.py,sha256=zkBRVigTdd25_0TpuvzQbZpKBH5PZa-h4MRUc19zE5A,8332
|
|
370
|
-
model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/v3_lut/tpc_keras.py,sha256=
|
|
370
|
+
model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/v3_lut/tpc_keras.py,sha256=hAPEhWVk0oebcttbF_8-VyVens_8TjCtiazTguj4_sc,4616
|
|
371
371
|
model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/v3_lut/tpc_pytorch.py,sha256=VtL9tQGsVy8oQwc3wM8a6r6lnvHVdk3E9gSmgmJobJU,4209
|
|
372
372
|
model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/v4/__init__.py,sha256=5r1xy_YVlr9WJVola7SuvU2pt7B5KYi20Jz78M5uTPw,717
|
|
373
373
|
model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/v4/tp_model.py,sha256=hUtEUeq4hWMWGAA_I_oO1HhOs2CwWSLi3IqUGkutrR4,8148
|
|
374
|
-
model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/v4/tpc_keras.py,sha256=
|
|
374
|
+
model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/v4/tpc_keras.py,sha256=D-F6B50UDb5u3DxtcBSBTjvwlyzTwOYSBTzNwz11JkY,5367
|
|
375
375
|
model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/v4/tpc_pytorch.py,sha256=mXu9X0Z5qotW12B4tTzFeuLHWUm8n9aCUEQA2CmdNy4,4714
|
|
376
376
|
model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/v4_lut/__init__.py,sha256=G3K-LUGYaII8WGxZOXgyhT5ISpLMy-sV08Xn16PRcOw,721
|
|
377
377
|
model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/v4_lut/tp_model.py,sha256=zkBRVigTdd25_0TpuvzQbZpKBH5PZa-h4MRUc19zE5A,8332
|
|
378
|
-
model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/v4_lut/tpc_keras.py,sha256=
|
|
378
|
+
model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/v4_lut/tpc_keras.py,sha256=fLZC9GEyqMWQnZTLJzJe56Ujt3kr62L8zs7ygk50wPw,5536
|
|
379
379
|
model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/v4_lut/tpc_pytorch.py,sha256=JifukO5o082ldp8tbOu3QJU4EnOyfW-LTjFuzY-VYJ0,4727
|
|
380
380
|
model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/v5/__init__.py,sha256=tafo2--3T8rFuwRr9nXlXGBfGTg7fCX7sGjh3hD5YXQ,717
|
|
381
381
|
model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/v5/tp_model.py,sha256=97CxWMRfb-Xutkl95V3Jy0DbEJomQ7vGfv8afunG26A,8145
|
|
382
|
-
model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/v5/tpc_keras.py,sha256=
|
|
382
|
+
model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/v5/tpc_keras.py,sha256=cd__C4W4fKF7SJ9O43HFvQxbLG7z39hl9GNg3HjjY0w,5432
|
|
383
383
|
model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/v5/tpc_pytorch.py,sha256=676izRmvryL9ZbO60yWf0YmK58A988mr7YCIQWc6emQ,4714
|
|
384
384
|
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/__init__.py,sha256=lNJ29DYxaLUPDstRDA1PGI5r9Fulq_hvrZMlhst1Z5g,697
|
|
385
385
|
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/target_platform_capabilities.py,sha256=MvLXPoTaYacBFU0oNjdLq0bRT66rAKEN5MWrB6oDIyE,2295
|
|
386
386
|
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/latest/__init__.py,sha256=F5RG4MnuAwKcNXbfVbPFLQu30-lNax-7knqu20B6udQ,1522
|
|
387
387
|
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1/__init__.py,sha256=1mMOREEMoNHu_KTMGDp4crN61opKWX6aFn1DrDLvqcc,717
|
|
388
388
|
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1/tp_model.py,sha256=PhGlCGLcDN9m8yiPeNNxpUC9TiC95qWHx7WIlxcwXoA,8140
|
|
389
|
-
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1/tpc_keras.py,sha256=
|
|
389
|
+
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1/tpc_keras.py,sha256=lDV2Wp_3w8mjHkEWRpA0l0zgr4I43PddLYbZ6NGvNoE,5439
|
|
390
390
|
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1/tpc_pytorch.py,sha256=4liNmjx5lKxlkekqRlkJ0CPUMlsFcuktLxkIBB8lrI0,4721
|
|
391
391
|
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_lut/__init__.py,sha256=vFDyiMymNZSRCdTgAyWn4A-tZD3vzze_PTLBSF2OYe8,721
|
|
392
392
|
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_lut/tp_model.py,sha256=81pYnxAU9di5AXzW1TTfP7rS0IJWd9hjrI2VRQzuEa0,8443
|
|
393
|
-
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_lut/tpc_keras.py,sha256=
|
|
393
|
+
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_lut/tpc_keras.py,sha256=R9-utIQFQ5K89o7r7JSYlYvpibl9ZTN-uz6CWsfKvzE,5446
|
|
394
394
|
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_lut/tpc_pytorch.py,sha256=CsRgw4_QapBQ7Y1_QQ-kI_RewooBwqyRsMrmlB_k-kc,4729
|
|
395
395
|
model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/__init__.py,sha256=cco4TmeIDIh32nj9ZZXVkws4dd9F2UDrmjKzTN8G0V0,697
|
|
396
396
|
model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/target_platform_capabilities.py,sha256=lnhJcwvTF0t7ybeiTleIS1p0aD8xzFZxVPx4ISk5uWQ,2090
|
|
397
397
|
model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/latest/__init__.py,sha256=UUvUCcTots_sehdRnDfgkaE8WPQ7dPbeuhDF4Qy2nzw,1510
|
|
398
398
|
model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/v1/__init__.py,sha256=t4JKsPcor-7KSCKzIwuaBv0NLNwfhuewAQGlDl6iBeo,717
|
|
399
399
|
model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/v1/tp_model.py,sha256=XOl5GO_BIDVhZFn4TX6v429Spq-JKUnEgCHzF8kY9TM,6204
|
|
400
|
-
model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/v1/tpc_keras.py,sha256=
|
|
400
|
+
model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/v1/tpc_keras.py,sha256=rIhqfc_Ks1SKzk5ppfomP88fGhx3Oh2w498dSW3p-ZY,3183
|
|
401
401
|
model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/v1/tpc_pytorch.py,sha256=o5w_ylMr7KCJCbSP1jx8Qs8HFysEEg4e_aRM_LXlexM,2942
|
|
402
402
|
model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/__init__.py,sha256=cco4TmeIDIh32nj9ZZXVkws4dd9F2UDrmjKzTN8G0V0,697
|
|
403
403
|
model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/target_platform_capabilities.py,sha256=C42RJBQERjjkqFa1pRsHZXseofceOtrp_fJxs4wqWvo,2085
|
|
404
404
|
model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/latest/__init__.py,sha256=sK9PnyB2R9g0rqHr_9vyUFX7wSyrZe7x9yqYUlbaiqo,1505
|
|
405
405
|
model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/v1/__init__.py,sha256=t4JKsPcor-7KSCKzIwuaBv0NLNwfhuewAQGlDl6iBeo,717
|
|
406
406
|
model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/v1/tp_model.py,sha256=u8KAytDvkXAbgqpVEKynSqag3Wrc7TAtCP9Ru9Y0hR8,8048
|
|
407
|
-
model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/v1/tpc_keras.py,sha256=
|
|
407
|
+
model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/v1/tpc_keras.py,sha256=KeRMMdcqWvZ2MACbYe2Lg_M_RJ-VZkKWHni-GcDZBNs,5920
|
|
408
408
|
model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/v1/tpc_pytorch.py,sha256=KH_kdxyX9pPeLqkIj9_E59ZhAIFZ8bll0sfwDuILVdU,5068
|
|
409
409
|
model_compression_toolkit/trainable_infrastructure/__init__.py,sha256=O0J24JDzwdo-p9yf1oVtDnK1ZoZ1K8iPAp7WJ40bcTQ,1104
|
|
410
410
|
model_compression_toolkit/trainable_infrastructure/common/__init__.py,sha256=huHoBUcKNB6BnY6YaUCcFvdyBtBI172ZoUD8ZYeNc6o,696
|
|
@@ -416,13 +416,13 @@ model_compression_toolkit/trainable_infrastructure/common/quant_utils.py,sha256=
|
|
|
416
416
|
model_compression_toolkit/trainable_infrastructure/common/trainable_quantizer_config.py,sha256=My5Wz34jPOyh8z33OTpKnOobRB0cpO_Qgmtsd5lizHo,4791
|
|
417
417
|
model_compression_toolkit/trainable_infrastructure/keras/__init__.py,sha256=huHoBUcKNB6BnY6YaUCcFvdyBtBI172ZoUD8ZYeNc6o,696
|
|
418
418
|
model_compression_toolkit/trainable_infrastructure/keras/base_keras_quantizer.py,sha256=UJRsEBp32qVU34ICKPfn9Ow4OjLQn33GjKA_3C-9Y7M,4178
|
|
419
|
-
model_compression_toolkit/trainable_infrastructure/keras/config_serialization.py,sha256=
|
|
419
|
+
model_compression_toolkit/trainable_infrastructure/keras/config_serialization.py,sha256=txdWXdZoHazg-3MDPb9P-oXRM92LRn2G_8woEplwKaI,4360
|
|
420
420
|
model_compression_toolkit/trainable_infrastructure/keras/load_model.py,sha256=DwpVuJsTf-Sp3B-7vYuhQdFXPtVopNGRcanL-WXzEzw,3446
|
|
421
421
|
model_compression_toolkit/trainable_infrastructure/keras/quantizer_utils.py,sha256=MVwXNymmFRB2NXIBx4e2mdJ1RfoHxRPYRgjb1MQP5kY,1797
|
|
422
422
|
model_compression_toolkit/trainable_infrastructure/pytorch/__init__.py,sha256=huHoBUcKNB6BnY6YaUCcFvdyBtBI172ZoUD8ZYeNc6o,696
|
|
423
423
|
model_compression_toolkit/trainable_infrastructure/pytorch/base_pytorch_quantizer.py,sha256=SbvRlIdE32PEBsINt1bhSqvrKL_zbM9V-aeSkOn-sw4,3083
|
|
424
|
-
mct_nightly-1.9.0.
|
|
425
|
-
mct_nightly-1.9.0.
|
|
426
|
-
mct_nightly-1.9.0.
|
|
427
|
-
mct_nightly-1.9.0.
|
|
428
|
-
mct_nightly-1.9.0.
|
|
424
|
+
mct_nightly-1.9.0.20230816.post359.dist-info/LICENSE.md,sha256=aYSSIb-5AFPeITTvXm1UAoe0uYBiMmSS8flvXaaFUks,10174
|
|
425
|
+
mct_nightly-1.9.0.20230816.post359.dist-info/METADATA,sha256=_Cg3_JlV6RcNQaK_2acApauZ64GM0-E-2KbsPBhZjTg,10750
|
|
426
|
+
mct_nightly-1.9.0.20230816.post359.dist-info/WHEEL,sha256=5sUXSg9e4bi7lTLOHcm6QEYwO5TIF1TNbTSVFVjcJcc,92
|
|
427
|
+
mct_nightly-1.9.0.20230816.post359.dist-info/top_level.txt,sha256=gsYA8juk0Z-ZmQRKULkb3JLGdOdz8jW_cMRjisn9ga4,26
|
|
428
|
+
mct_nightly-1.9.0.20230816.post359.dist-info/RECORD,,
|
|
@@ -20,12 +20,10 @@ from packaging import version
|
|
|
20
20
|
from model_compression_toolkit.core.common.back2framework.base_model_builder import BaseModelBuilder
|
|
21
21
|
from model_compression_toolkit.core.common.user_info import UserInformation
|
|
22
22
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
from
|
|
26
|
-
from
|
|
27
|
-
from tensorflow.python.keras.engine.base_layer import TensorFlowOpLayer
|
|
28
|
-
from tensorflow.python.keras.layers import Layer
|
|
23
|
+
if version.parse(tf.__version__) >= version.parse("2.13"):
|
|
24
|
+
from keras import Input
|
|
25
|
+
from keras.src.layers.core import TFOpLambda
|
|
26
|
+
from keras.src.engine.base_layer import TensorFlowOpLayer, Layer
|
|
29
27
|
else:
|
|
30
28
|
from keras import Input
|
|
31
29
|
from keras.layers.core import TFOpLambda
|
|
@@ -14,7 +14,13 @@
|
|
|
14
14
|
# ==============================================================================
|
|
15
15
|
from typing import Tuple, Any, Dict, Union, List
|
|
16
16
|
|
|
17
|
-
from
|
|
17
|
+
from packaging import version
|
|
18
|
+
import tensorflow as tf
|
|
19
|
+
if version.parse(tf.__version__) >= version.parse("2.13"):
|
|
20
|
+
from keras.src.engine.base_layer import Layer
|
|
21
|
+
else:
|
|
22
|
+
from keras.engine.base_layer import Layer
|
|
23
|
+
|
|
18
24
|
from keras.models import Model
|
|
19
25
|
from mct_quantizers import KerasQuantizationWrapper, KerasActivationQuantizationHolder, QuantizationTarget
|
|
20
26
|
from mct_quantizers.common.get_quantizers import get_inferable_quantizer_class
|
|
@@ -19,10 +19,10 @@ from packaging import version
|
|
|
19
19
|
# As from Tensorflow 2.6, keras is a separate package and some classes should be imported differently.
|
|
20
20
|
from tqdm import tqdm
|
|
21
21
|
|
|
22
|
-
if version.parse(tf.__version__)
|
|
23
|
-
from
|
|
22
|
+
if version.parse(tf.__version__) >= version.parse("2.13"):
|
|
23
|
+
from keras.src.engine.base_layer import Layer
|
|
24
24
|
else:
|
|
25
|
-
from keras.engine.base_layer import Layer
|
|
25
|
+
from tensorflow.python.keras.engine.base_layer import Layer
|
|
26
26
|
|
|
27
27
|
from typing import Any, Dict, List, Tuple
|
|
28
28
|
from tensorflow.python.util.object_identity import Reference as TFReference
|
|
@@ -19,8 +19,8 @@ import tensorflow as tf
|
|
|
19
19
|
from model_compression_toolkit.core.keras.quantizer.lut_fake_quant import activation_lut_kmean_quantizer
|
|
20
20
|
from packaging import version
|
|
21
21
|
|
|
22
|
-
if version.parse(tf.__version__)
|
|
23
|
-
from
|
|
22
|
+
if version.parse(tf.__version__) >= version.parse("2.13"):
|
|
23
|
+
from keras.src.layers import Conv2D, DepthwiseConv2D, Dense, Conv2DTranspose, Softmax, ELU
|
|
24
24
|
else:
|
|
25
25
|
from keras.layers import Conv2D, DepthwiseConv2D, Dense, Conv2DTranspose, Softmax, ELU
|
|
26
26
|
|
|
@@ -16,9 +16,9 @@ import numpy as np
|
|
|
16
16
|
import tensorflow as tf
|
|
17
17
|
from packaging import version
|
|
18
18
|
|
|
19
|
-
if version.parse(tf.__version__)
|
|
20
|
-
from
|
|
21
|
-
from
|
|
19
|
+
if version.parse(tf.__version__) >= version.parse("2.13"):
|
|
20
|
+
from keras.src.layers.core import TFOpLambda
|
|
21
|
+
from keras.src.layers import MultiHeadAttention, Conv2D, Softmax, Concatenate, Reshape, Permute
|
|
22
22
|
else:
|
|
23
23
|
from keras.layers.core import TFOpLambda
|
|
24
24
|
from keras.layers import MultiHeadAttention, Conv2D, Softmax, Concatenate, Reshape, Permute
|
model_compression_toolkit/core/keras/graph_substitutions/substitutions/shift_negative_activation.py
CHANGED
|
@@ -16,11 +16,16 @@
|
|
|
16
16
|
from typing import Tuple, Any
|
|
17
17
|
|
|
18
18
|
import numpy as np
|
|
19
|
-
import tensorflow as tf
|
|
20
19
|
|
|
20
|
+
from packaging import version
|
|
21
|
+
import tensorflow as tf
|
|
21
22
|
from tensorflow.python.keras.layers.core import TFOpLambda
|
|
22
|
-
|
|
23
|
-
|
|
23
|
+
if version.parse(tf.__version__) >= version.parse("2.13"):
|
|
24
|
+
from keras.src.layers import Activation, Conv2D, Dense, DepthwiseConv2D, ZeroPadding2D, Reshape, \
|
|
25
|
+
GlobalAveragePooling2D, Dropout, ReLU, PReLU, ELU
|
|
26
|
+
else:
|
|
27
|
+
from tensorflow.keras.layers import Activation, Conv2D, Dense, DepthwiseConv2D, ZeroPadding2D, Reshape, \
|
|
28
|
+
GlobalAveragePooling2D, Dropout, ReLU, PReLU, ELU
|
|
24
29
|
|
|
25
30
|
from model_compression_toolkit.core import CoreConfig, FrameworkInfo
|
|
26
31
|
from model_compression_toolkit.core.common import BaseNode, Graph
|
|
@@ -41,9 +41,10 @@ from model_compression_toolkit.core.keras.statistics_correction.apply_second_mom
|
|
|
41
41
|
keras_apply_second_moment_correction
|
|
42
42
|
from packaging import version
|
|
43
43
|
|
|
44
|
-
if version.parse(tf.__version__)
|
|
45
|
-
from
|
|
46
|
-
|
|
44
|
+
if version.parse(tf.__version__) >= version.parse("2.13"):
|
|
45
|
+
from keras.src.layers import Dense, Activation, Conv2D, DepthwiseConv2D, Conv2DTranspose, \
|
|
46
|
+
Concatenate, Add
|
|
47
|
+
from keras.src.layers.core import TFOpLambda
|
|
47
48
|
else:
|
|
48
49
|
from keras.layers import Dense, Activation, Conv2D, DepthwiseConv2D, Conv2DTranspose, \
|
|
49
50
|
Concatenate, Add
|
|
@@ -3,8 +3,8 @@ import numpy as np
|
|
|
3
3
|
import tensorflow as tf
|
|
4
4
|
from packaging import version
|
|
5
5
|
|
|
6
|
-
if version.parse(tf.__version__)
|
|
7
|
-
from
|
|
6
|
+
if version.parse(tf.__version__) >= version.parse("2.13"):
|
|
7
|
+
from keras.src.layers import Activation, ReLU, BatchNormalization
|
|
8
8
|
else:
|
|
9
9
|
from keras.layers import Activation, ReLU, BatchNormalization
|
|
10
10
|
|
|
@@ -17,12 +17,12 @@
|
|
|
17
17
|
import tensorflow as tf
|
|
18
18
|
from packaging import version
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
if version.parse(tf.__version__)
|
|
22
|
-
from
|
|
23
|
-
from
|
|
24
|
-
from
|
|
25
|
-
from
|
|
20
|
+
|
|
21
|
+
if version.parse(tf.__version__) >= version.parse("2.13"):
|
|
22
|
+
from keras.src.engine.input_layer import InputLayer
|
|
23
|
+
from keras.src.engine.node import Node as KerasNode
|
|
24
|
+
from keras.src.engine.functional import Functional
|
|
25
|
+
from keras.src.engine.sequential import Sequential
|
|
26
26
|
else:
|
|
27
27
|
from keras.engine.input_layer import InputLayer
|
|
28
28
|
from keras.engine.node import Node as KerasNode
|
|
@@ -17,9 +17,8 @@
|
|
|
17
17
|
import tensorflow as tf
|
|
18
18
|
from packaging import version
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
from tensorflow.python.keras.engine.node import Node as KerasNode
|
|
20
|
+
if version.parse(tf.__version__) >= version.parse("2.13"):
|
|
21
|
+
from keras.src.engine.node import Node as KerasNode
|
|
23
22
|
else:
|
|
24
23
|
from keras.engine.node import Node as KerasNode
|
|
25
24
|
|
|
@@ -20,10 +20,10 @@ from packaging import version
|
|
|
20
20
|
from model_compression_toolkit.core.keras.custom_layer_validation import is_keras_custom_layer
|
|
21
21
|
from model_compression_toolkit.logger import Logger
|
|
22
22
|
|
|
23
|
-
if version.parse(tf.__version__)
|
|
24
|
-
from
|
|
25
|
-
from
|
|
26
|
-
from
|
|
23
|
+
if version.parse(tf.__version__) >= version.parse("2.13"):
|
|
24
|
+
from keras.src.layers.core import TFOpLambda, SlicingOpLambda
|
|
25
|
+
from keras.src.engine.keras_tensor import KerasTensor
|
|
26
|
+
from keras.src.engine.node import Node as KerasNode
|
|
27
27
|
else:
|
|
28
28
|
from keras.layers.core import TFOpLambda, SlicingOpLambda
|
|
29
29
|
from keras.engine.keras_tensor import KerasTensor
|
|
@@ -18,7 +18,11 @@ from typing import Dict, Callable
|
|
|
18
18
|
|
|
19
19
|
import keras.models
|
|
20
20
|
import tensorflow as tf
|
|
21
|
-
from
|
|
21
|
+
from packaging import version
|
|
22
|
+
if version.parse(tf.__version__) >= version.parse("2.13"):
|
|
23
|
+
from keras.src.engine.base_layer import Layer
|
|
24
|
+
else:
|
|
25
|
+
from keras.engine.base_layer import Layer
|
|
22
26
|
|
|
23
27
|
from mct_quantizers import KerasQuantizationWrapper
|
|
24
28
|
from mct_quantizers.logger import Logger
|
|
@@ -27,8 +31,8 @@ layers = keras.layers
|
|
|
27
31
|
|
|
28
32
|
from model_compression_toolkit.exporter.model_exporter.keras.base_keras_exporter import BaseKerasExporter
|
|
29
33
|
|
|
30
|
-
from keras.engine import base_layer_utils
|
|
31
|
-
from keras import backend
|
|
34
|
+
from tensorflow.python.keras.engine import base_layer_utils
|
|
35
|
+
from tensorflow.python.keras import backend
|
|
32
36
|
|
|
33
37
|
|
|
34
38
|
class FakelyQuantKerasExporter(BaseKerasExporter):
|
|
@@ -19,8 +19,15 @@ from model_compression_toolkit.constants import FOUND_TF
|
|
|
19
19
|
from model_compression_toolkit.logger import Logger
|
|
20
20
|
|
|
21
21
|
if FOUND_TF:
|
|
22
|
-
from
|
|
23
|
-
|
|
22
|
+
from packaging import version
|
|
23
|
+
import tensorflow as tf
|
|
24
|
+
if version.parse(tf.__version__) >= version.parse("2.13"):
|
|
25
|
+
from keras.src.engine.base_layer import Layer
|
|
26
|
+
from keras.src.engine.input_layer import InputLayer
|
|
27
|
+
else:
|
|
28
|
+
from keras.engine.base_layer import Layer
|
|
29
|
+
from keras.engine.input_layer import InputLayer
|
|
30
|
+
|
|
24
31
|
from mct_quantizers import KerasQuantizationWrapper
|
|
25
32
|
|
|
26
33
|
def is_keras_layer_exportable(layer: Any) -> bool:
|
|
@@ -51,15 +51,15 @@ def get_weights_inferable_quantizer_kwargs(node_qc: NodeWeightsQuantizationConfi
|
|
|
51
51
|
if quantization_method in [QuantizationMethod.POWER_OF_TWO,
|
|
52
52
|
QuantizationMethod.SYMMETRIC]:
|
|
53
53
|
return {qi_inferable_quantizers_constants.NUM_BITS: node_qc.weights_n_bits,
|
|
54
|
-
qi_inferable_quantizers_constants.THRESHOLD: node_qc.weights_quantization_params[THRESHOLD].flatten(),
|
|
54
|
+
qi_inferable_quantizers_constants.THRESHOLD: node_qc.weights_quantization_params[THRESHOLD].flatten().tolist(),
|
|
55
55
|
qi_inferable_quantizers_constants.PER_CHANNEL: node_qc.weights_per_channel_threshold,
|
|
56
56
|
qi_inferable_quantizers_constants.CHANNEL_AXIS: node_qc.weights_channels_axis}
|
|
57
57
|
|
|
58
58
|
elif quantization_method in [QuantizationMethod.UNIFORM]:
|
|
59
59
|
return {qi_inferable_quantizers_constants.NUM_BITS: node_qc.weights_n_bits,
|
|
60
60
|
qi_inferable_quantizers_constants.PER_CHANNEL: node_qc.weights_per_channel_threshold,
|
|
61
|
-
qi_inferable_quantizers_constants.MIN_RANGE: node_qc.weights_quantization_params[RANGE_MIN].flatten(),
|
|
62
|
-
qi_inferable_quantizers_constants.MAX_RANGE: node_qc.weights_quantization_params[RANGE_MAX].flatten(),
|
|
61
|
+
qi_inferable_quantizers_constants.MIN_RANGE: node_qc.weights_quantization_params[RANGE_MIN].flatten().tolist(),
|
|
62
|
+
qi_inferable_quantizers_constants.MAX_RANGE: node_qc.weights_quantization_params[RANGE_MAX].flatten().tolist(),
|
|
63
63
|
qi_inferable_quantizers_constants.CHANNEL_AXIS: node_qc.weights_channels_axis}
|
|
64
64
|
|
|
65
65
|
elif quantization_method in [QuantizationMethod.LUT_POT_QUANTIZER, QuantizationMethod.LUT_SYM_QUANTIZER]:
|
|
@@ -96,13 +96,13 @@ def get_activation_inferable_quantizer_kwargs(node_qc: NodeActivationQuantizatio
|
|
|
96
96
|
if quantization_method in [QuantizationMethod.POWER_OF_TWO,
|
|
97
97
|
QuantizationMethod.SYMMETRIC]:
|
|
98
98
|
return {qi_inferable_quantizers_constants.NUM_BITS: node_qc.activation_n_bits,
|
|
99
|
-
qi_inferable_quantizers_constants.THRESHOLD:
|
|
99
|
+
qi_inferable_quantizers_constants.THRESHOLD: [node_qc.activation_quantization_params[THRESHOLD]],
|
|
100
100
|
qi_inferable_quantizers_constants.SIGNED: node_qc.activation_quantization_params.get(SIGNED)}
|
|
101
101
|
|
|
102
102
|
elif quantization_method in [QuantizationMethod.UNIFORM]:
|
|
103
103
|
return {qi_inferable_quantizers_constants.NUM_BITS: node_qc.activation_n_bits,
|
|
104
|
-
qi_inferable_quantizers_constants.MIN_RANGE:
|
|
105
|
-
qi_inferable_quantizers_constants.MAX_RANGE:
|
|
104
|
+
qi_inferable_quantizers_constants.MIN_RANGE: [node_qc.activation_quantization_params[RANGE_MIN]],
|
|
105
|
+
qi_inferable_quantizers_constants.MAX_RANGE: [node_qc.activation_quantization_params[RANGE_MAX]]}
|
|
106
106
|
|
|
107
107
|
elif quantization_method in [QuantizationMethod.LUT_POT_QUANTIZER]:
|
|
108
108
|
return {qi_inferable_quantizers_constants.NUM_BITS: node_qc.activation_n_bits,
|
|
@@ -28,8 +28,8 @@ from model_compression_toolkit.gptq.keras.quantizer.quantization_builder import
|
|
|
28
28
|
from model_compression_toolkit.logger import Logger
|
|
29
29
|
from mct_quantizers import KerasQuantizationWrapper, KerasActivationQuantizationHolder
|
|
30
30
|
|
|
31
|
-
if version.parse(tf.__version__)
|
|
32
|
-
from
|
|
31
|
+
if version.parse(tf.__version__) >= version.parse("2.13"):
|
|
32
|
+
from keras.src.engine.base_layer import TensorFlowOpLayer
|
|
33
33
|
else:
|
|
34
34
|
from keras.engine.base_layer import TensorFlowOpLayer
|
|
35
35
|
|
|
@@ -119,12 +119,12 @@ class STEWeightQATQuantizer(BasePytorchQATTrainableQuantizer):
|
|
|
119
119
|
if self.power_of_two:
|
|
120
120
|
pot_threshold = 2 ** np.ceil(np.log2(np_threshold))
|
|
121
121
|
return WeightsPOTInferableQuantizer(num_bits=self.num_bits,
|
|
122
|
-
threshold=pot_threshold,
|
|
122
|
+
threshold=pot_threshold.tolist(),
|
|
123
123
|
per_channel=self.quantization_config.weights_per_channel_threshold,
|
|
124
124
|
channel_axis=self.quantization_config.weights_channels_axis)
|
|
125
125
|
else:
|
|
126
126
|
return WeightsSymmetricInferableQuantizer(num_bits=self.num_bits,
|
|
127
|
-
threshold=np_threshold,
|
|
127
|
+
threshold=np_threshold.tolist(),
|
|
128
128
|
per_channel=self.quantization_config.weights_per_channel_threshold,
|
|
129
129
|
channel_axis=self.quantization_config.weights_channels_axis)
|
|
130
130
|
|
|
@@ -198,9 +198,9 @@ class STEActivationQATQuantizer(BasePytorchQATTrainableQuantizer):
|
|
|
198
198
|
if self.power_of_two:
|
|
199
199
|
pot_threshold = np.power(2.0, np.ceil(np.log2(np_threshold)))
|
|
200
200
|
return ActivationPOTInferableQuantizer(num_bits=self.num_bits,
|
|
201
|
-
threshold=pot_threshold,
|
|
201
|
+
threshold=pot_threshold.tolist(),
|
|
202
202
|
signed=self.sign)
|
|
203
203
|
else:
|
|
204
204
|
return ActivationSymmetricInferableQuantizer(num_bits=self.num_bits,
|
|
205
|
-
threshold=np_threshold,
|
|
205
|
+
threshold=np_threshold.tolist(),
|
|
206
206
|
signed=self.sign)
|
|
@@ -190,4 +190,5 @@ class STEUniformActivationQATQuantizer(BasePytorchQATTrainableQuantizer):
|
|
|
190
190
|
_max = self.get_quantizer_variable(FQ_MAX).cpu().detach().numpy()
|
|
191
191
|
|
|
192
192
|
return ActivationUniformInferableQuantizer(num_bits=self.num_bits,
|
|
193
|
-
min_range=_min,
|
|
193
|
+
min_range=_min.tolist(),
|
|
194
|
+
max_range=_max.tolist())
|
model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/v1/tpc_keras.py
CHANGED
|
@@ -15,9 +15,8 @@
|
|
|
15
15
|
import tensorflow as tf
|
|
16
16
|
from packaging import version
|
|
17
17
|
|
|
18
|
-
if version.parse(tf.__version__)
|
|
19
|
-
from
|
|
20
|
-
Dropout, \
|
|
18
|
+
if version.parse(tf.__version__) >= version.parse("2.13"):
|
|
19
|
+
from keras.src.layers import Conv2D, DepthwiseConv2D, Reshape, ZeroPadding2D, Dropout, \
|
|
21
20
|
MaxPooling2D, Activation, ReLU, Flatten, Cropping2D
|
|
22
21
|
else:
|
|
23
22
|
from keras.layers import Conv2D, DepthwiseConv2D, Reshape, ZeroPadding2D, \
|
model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/v2/tpc_keras.py
CHANGED
|
@@ -16,10 +16,9 @@ import tensorflow as tf
|
|
|
16
16
|
|
|
17
17
|
from packaging import version
|
|
18
18
|
|
|
19
|
-
if version.parse(tf.__version__)
|
|
20
|
-
from
|
|
21
|
-
Dropout,
|
|
22
|
-
MaxPooling2D, Activation, ReLU, PReLU, Flatten, Cropping2D
|
|
19
|
+
if version.parse(tf.__version__) >= version.parse("2.13"):
|
|
20
|
+
from keras.src.layers import Conv2D, DepthwiseConv2D, Dense, Reshape, ZeroPadding2D, \
|
|
21
|
+
Dropout, MaxPooling2D, Activation, ReLU, PReLU, Flatten, Cropping2D
|
|
23
22
|
else:
|
|
24
23
|
from keras.layers import Conv2D, DepthwiseConv2D, Dense, Reshape, ZeroPadding2D, \
|
|
25
24
|
Dropout, MaxPooling2D, Activation, ReLU, PReLU, Flatten, Cropping2D
|
model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/v3/tpc_keras.py
CHANGED
|
@@ -15,10 +15,9 @@
|
|
|
15
15
|
import tensorflow as tf
|
|
16
16
|
from packaging import version
|
|
17
17
|
|
|
18
|
-
if version.parse(tf.__version__)
|
|
19
|
-
from
|
|
20
|
-
Dropout,
|
|
21
|
-
MaxPooling2D, Activation, ReLU, Add, Subtract, Multiply, PReLU, Flatten, Cropping2D
|
|
18
|
+
if version.parse(tf.__version__) >= version.parse("2.13"):
|
|
19
|
+
from keras.src.layers import Conv2D, DepthwiseConv2D, Dense, Reshape, ZeroPadding2D, \
|
|
20
|
+
Dropout, MaxPooling2D, Activation, ReLU, Add, Subtract, Multiply, PReLU, Flatten, Cropping2D
|
|
22
21
|
else:
|
|
23
22
|
from keras.layers import Conv2D, DepthwiseConv2D, Dense, Reshape, ZeroPadding2D, \
|
|
24
23
|
Dropout, MaxPooling2D, Activation, ReLU, Add, Subtract, Multiply, PReLU, Flatten, Cropping2D
|
model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/v3_lut/tpc_keras.py
CHANGED
|
@@ -16,10 +16,9 @@ import tensorflow as tf
|
|
|
16
16
|
from packaging import version
|
|
17
17
|
from model_compression_toolkit.target_platform_capabilities.tpc_models.default_tpc.v3_lut import __version__ as TPC_VERSION
|
|
18
18
|
|
|
19
|
-
if version.parse(tf.__version__)
|
|
20
|
-
from
|
|
21
|
-
Dropout,
|
|
22
|
-
MaxPooling2D, Activation, ReLU, Add, Subtract, Multiply, PReLU, Flatten, Cropping2D
|
|
19
|
+
if version.parse(tf.__version__) >= version.parse("2.13"):
|
|
20
|
+
from keras.src.layers import Conv2D, DepthwiseConv2D, Dense, Reshape, ZeroPadding2D, \
|
|
21
|
+
Dropout, MaxPooling2D, Activation, ReLU, Add, Subtract, Multiply, PReLU, Flatten, Cropping2D
|
|
23
22
|
else:
|
|
24
23
|
from keras.layers import Conv2D, DepthwiseConv2D, Dense, Reshape, ZeroPadding2D, \
|
|
25
24
|
Dropout, MaxPooling2D, Activation, ReLU, Add, Subtract, Multiply, PReLU, Flatten, Cropping2D
|
model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/v4/tpc_keras.py
CHANGED
|
@@ -15,8 +15,8 @@
|
|
|
15
15
|
import tensorflow as tf
|
|
16
16
|
from packaging import version
|
|
17
17
|
|
|
18
|
-
if version.parse(tf.__version__)
|
|
19
|
-
from
|
|
18
|
+
if version.parse(tf.__version__) >= version.parse("2.13"):
|
|
19
|
+
from keras.src.layers import Conv2D, DepthwiseConv2D, Dense, Reshape, ZeroPadding2D, Dropout, \
|
|
20
20
|
MaxPooling2D, Activation, ReLU, Add, Subtract, Multiply, PReLU, Flatten, Cropping2D, LeakyReLU, Permute, \
|
|
21
21
|
Conv2DTranspose
|
|
22
22
|
else:
|
model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/v4_lut/tpc_keras.py
CHANGED
|
@@ -16,8 +16,8 @@ import tensorflow as tf
|
|
|
16
16
|
from packaging import version
|
|
17
17
|
from model_compression_toolkit.target_platform_capabilities.tpc_models.default_tpc.v4_lut import __version__ as TPC_VERSION
|
|
18
18
|
|
|
19
|
-
if version.parse(tf.__version__)
|
|
20
|
-
from
|
|
19
|
+
if version.parse(tf.__version__) >= version.parse("2.13"):
|
|
20
|
+
from keras.src.layers import Conv2D, DepthwiseConv2D, Dense, Reshape, ZeroPadding2D, Dropout, \
|
|
21
21
|
MaxPooling2D, Activation, ReLU, Add, Subtract, Multiply, PReLU, Flatten, Cropping2D, LeakyReLU, Permute, \
|
|
22
22
|
Conv2DTranspose
|
|
23
23
|
else:
|
model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/v5/tpc_keras.py
CHANGED
|
@@ -15,8 +15,8 @@
|
|
|
15
15
|
import tensorflow as tf
|
|
16
16
|
from packaging import version
|
|
17
17
|
|
|
18
|
-
if version.parse(tf.__version__)
|
|
19
|
-
from
|
|
18
|
+
if version.parse(tf.__version__) >= version.parse("2.13"):
|
|
19
|
+
from keras.src.layers import Conv2D, DepthwiseConv2D, Dense, Reshape, ZeroPadding2D, Dropout, \
|
|
20
20
|
MaxPooling2D, Activation, ReLU, Add, Subtract, Multiply, PReLU, Flatten, Cropping2D, LeakyReLU, Permute, \
|
|
21
21
|
Conv2DTranspose
|
|
22
22
|
else:
|
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1/tpc_keras.py
CHANGED
|
@@ -15,8 +15,9 @@
|
|
|
15
15
|
import tensorflow as tf
|
|
16
16
|
from packaging import version
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
|
|
19
|
+
if version.parse(tf.__version__) >= version.parse("2.13"):
|
|
20
|
+
from keras.src.layers import Conv2D, DepthwiseConv2D, Dense, Reshape, ZeroPadding2D, Dropout, \
|
|
20
21
|
MaxPooling2D, Activation, ReLU, Add, Subtract, Multiply, PReLU, Flatten, Cropping2D, LeakyReLU, Permute, \
|
|
21
22
|
Conv2DTranspose
|
|
22
23
|
else:
|
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_lut/tpc_keras.py
CHANGED
|
@@ -15,8 +15,8 @@
|
|
|
15
15
|
import tensorflow as tf
|
|
16
16
|
from packaging import version
|
|
17
17
|
|
|
18
|
-
if version.parse(tf.__version__)
|
|
19
|
-
from
|
|
18
|
+
if version.parse(tf.__version__) >= version.parse("2.13"):
|
|
19
|
+
from keras.src.layers import Conv2D, DepthwiseConv2D, Dense, Reshape, ZeroPadding2D, Dropout, \
|
|
20
20
|
MaxPooling2D, Activation, ReLU, Add, Subtract, Multiply, PReLU, Flatten, Cropping2D, LeakyReLU, Permute, \
|
|
21
21
|
Conv2DTranspose
|
|
22
22
|
else:
|
model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/v1/tpc_keras.py
CHANGED
|
@@ -17,9 +17,8 @@ import tensorflow as tf
|
|
|
17
17
|
from packaging import version
|
|
18
18
|
from model_compression_toolkit.target_platform_capabilities.tpc_models.qnnpack_tpc.v1 import __version__ as TPC_VERSION
|
|
19
19
|
|
|
20
|
-
if version.parse(tf.__version__)
|
|
21
|
-
from
|
|
22
|
-
Activation
|
|
20
|
+
if version.parse(tf.__version__) >= version.parse("2.13"):
|
|
21
|
+
from keras.src.layers import Conv2D, DepthwiseConv2D, Conv2DTranspose, Dense, BatchNormalization, ReLU, Activation
|
|
23
22
|
else:
|
|
24
23
|
from keras.layers import Conv2D, DepthwiseConv2D, Conv2DTranspose, Dense, BatchNormalization, ReLU, Activation
|
|
25
24
|
|
model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/v1/tpc_keras.py
CHANGED
|
@@ -15,9 +15,9 @@
|
|
|
15
15
|
import tensorflow as tf
|
|
16
16
|
from packaging import version
|
|
17
17
|
|
|
18
|
-
if version.parse(tf.__version__)
|
|
19
|
-
from
|
|
20
|
-
|
|
18
|
+
if version.parse(tf.__version__) >= version.parse("2.13"):
|
|
19
|
+
from keras.src.layers import Conv2D, Dense, Reshape, ZeroPadding2D, AveragePooling2D, Activation, DepthwiseConv2D, \
|
|
20
|
+
MaxPooling2D, ReLU, Add, Softmax, Concatenate, Multiply, Maximum, Minimum, BatchNormalization
|
|
21
21
|
else:
|
|
22
22
|
from keras.layers import Conv2D, Dense, Reshape, ZeroPadding2D, AveragePooling2D, Activation, DepthwiseConv2D, \
|
|
23
23
|
MaxPooling2D, ReLU, Add, Softmax, Concatenate, Multiply, Maximum, Minimum, BatchNormalization
|
|
@@ -17,12 +17,17 @@ import copy
|
|
|
17
17
|
from typing import Any, Union
|
|
18
18
|
from enum import Enum
|
|
19
19
|
|
|
20
|
+
import numpy as np
|
|
21
|
+
|
|
20
22
|
from model_compression_toolkit.target_platform_capabilities.target_platform import QuantizationMethod
|
|
21
23
|
from model_compression_toolkit.trainable_infrastructure.common.trainable_quantizer_config import \
|
|
22
24
|
TrainableQuantizerActivationConfig, TrainableQuantizerWeightsConfig
|
|
23
25
|
from mct_quantizers.common import constants as C
|
|
24
26
|
|
|
25
27
|
|
|
28
|
+
CONFIG = "config"
|
|
29
|
+
VALUE = "value"
|
|
30
|
+
|
|
26
31
|
def transform_enum(v: Any):
|
|
27
32
|
"""
|
|
28
33
|
If an enum is received it value is return otherwise the input is returned.
|
|
@@ -63,9 +68,13 @@ def config_deserialization(in_config: dict) -> Union[TrainableQuantizerWeightsCo
|
|
|
63
68
|
"""
|
|
64
69
|
in_config = copy.deepcopy(in_config)
|
|
65
70
|
if in_config[C.IS_WEIGHTS]:
|
|
71
|
+
weights_quantization_params = {}
|
|
72
|
+
for key, value in in_config[C.WEIGHTS_QUANTIZATION_PARAMS].items():
|
|
73
|
+
# In TF2.13.0, serialization of numpy array is dictionary with parameters
|
|
74
|
+
weights_quantization_params.update({key: np.array(value[CONFIG][VALUE] if isinstance(value, dict) else value)})
|
|
66
75
|
return TrainableQuantizerWeightsConfig(weights_quantization_method=QuantizationMethod(in_config[C.WEIGHTS_QUANTIZATION_METHOD]),
|
|
67
76
|
weights_n_bits=in_config[C.WEIGHTS_N_BITS],
|
|
68
|
-
weights_quantization_params=
|
|
77
|
+
weights_quantization_params=weights_quantization_params,
|
|
69
78
|
enable_weights_quantization=in_config[C.ENABLE_WEIGHTS_QUANTIZATION],
|
|
70
79
|
weights_channels_axis=in_config[C.WEIGHTS_CHANNELS_AXIS],
|
|
71
80
|
weights_per_channel_threshold=in_config[C.WEIGHTS_PER_CHANNEL_THRESHOLD],
|
|
File without changes
|
{mct_nightly-1.9.0.20230815.post356.dist-info → mct_nightly-1.9.0.20230816.post359.dist-info}/WHEEL
RENAMED
|
File without changes
|
|
File without changes
|