mct-nightly 2.0.0.20240410.422__tar.gz → 2.0.0.20240412.408__tar.gz
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.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/PKG-INFO +1 -1
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/mct_nightly.egg-info/PKG-INFO +1 -1
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/mct_nightly.egg-info/SOURCES.txt +9 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/mct_nightly.egg-info/requires.txt +1 -1
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/__init__.py +1 -1
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/constants.py +4 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/graph/base_graph.py +3 -2
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/quantization/quantization_params_generation/qparams_computation.py +2 -2
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/exporter/model_exporter/keras/fakely_quant_keras_exporter.py +6 -1
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/exporter/model_exporter/keras/fakely_quant_tflite_exporter.py +5 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/exporter/model_exporter/keras/int8_tflite_exporter.py +5 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/exporter/model_exporter/pytorch/fakely_quant_onnx_pytorch_exporter.py +29 -11
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/exporter/model_exporter/pytorch/pytorch_export_facade.py +1 -1
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/exporter/model_wrapper/keras/builder/fully_quantized_model_builder.py +1 -1
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/exporter/model_wrapper/pytorch/builder/fully_quantized_model_builder.py +2 -2
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/gptq/keras/gptq_training.py +17 -15
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/gptq/keras/quantization_facade.py +6 -1
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/gptq/keras/quantizer/regularization_factory.py +2 -1
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/gptq/pytorch/gptq_training.py +18 -16
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/gptq/pytorch/quantization_facade.py +6 -1
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/gptq/pytorch/quantizer/regularization_factory.py +2 -1
- mct-nightly-2.0.0.20240412.408/model_compression_toolkit/metadata.py +29 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/ptq/keras/quantization_facade.py +6 -2
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/ptq/pytorch/quantization_facade.py +6 -1
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/target_platform_capabilities/target_platform/target_platform_model.py +4 -1
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/target_platform_capabilities.py +1 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/target_platform_capabilities.py +12 -2
- mct-nightly-2.0.0.20240412.408/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2/__init__.py +16 -0
- mct-nightly-2.0.0.20240412.408/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2/tp_model.py +210 -0
- mct-nightly-2.0.0.20240412.408/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2/tpc_keras.py +129 -0
- mct-nightly-2.0.0.20240412.408/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2/tpc_pytorch.py +111 -0
- mct-nightly-2.0.0.20240412.408/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2_lut/__init__.py +16 -0
- mct-nightly-2.0.0.20240412.408/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2_lut/tp_model.py +207 -0
- mct-nightly-2.0.0.20240412.408/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2_lut/tpc_keras.py +129 -0
- mct-nightly-2.0.0.20240412.408/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2_lut/tpc_pytorch.py +110 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/LICENSE.md +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/README.md +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/mct_nightly.egg-info/dependency_links.txt +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/mct_nightly.egg-info/top_level.txt +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/analyzer.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/back2framework/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/back2framework/base_model_builder.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/base_substitutions.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/collectors/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/collectors/base_collector.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/collectors/histogram_collector.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/collectors/mean_collector.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/collectors/min_max_per_channel_collector.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/collectors/statistics_collector.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/framework_implementation.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/framework_info.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/fusion/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/fusion/layer_fusing.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/graph/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/graph/base_node.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/graph/edge.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/graph/functional_node.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/graph/graph_matchers.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/graph/graph_searches.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/graph/memory_graph/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/graph/memory_graph/bipartite_graph.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/graph/memory_graph/compute_graph_max_cut.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/graph/memory_graph/cut.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/graph/memory_graph/max_cut_astar.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/graph/memory_graph/memory_element.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/graph/memory_graph/memory_graph.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/graph/virtual_activation_weights_node.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/hessian/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/hessian/hessian_info_service.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/hessian/hessian_info_utils.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/hessian/trace_hessian_calculator.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/hessian/trace_hessian_request.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/matchers/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/matchers/base_graph_filter.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/matchers/base_matcher.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/matchers/edge_matcher.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/matchers/function.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/matchers/node_matcher.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/matchers/walk_matcher.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/memory_computation.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/mixed_precision/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/mixed_precision/bit_width_setter.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/mixed_precision/configurable_quant_id.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/mixed_precision/configurable_quantizer_utils.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/mixed_precision/distance_weighting.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/mixed_precision/mixed_precision_quantization_config.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/mixed_precision/mixed_precision_search_facade.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/mixed_precision/mixed_precision_search_manager.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/mixed_precision/resource_utilization_tools/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/mixed_precision/resource_utilization_tools/resource_utilization.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/mixed_precision/resource_utilization_tools/resource_utilization_data.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/mixed_precision/resource_utilization_tools/ru_aggregation_methods.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/mixed_precision/resource_utilization_tools/ru_functions_mapping.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/mixed_precision/resource_utilization_tools/ru_methods.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/mixed_precision/search_methods/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/mixed_precision/search_methods/linear_programming.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/mixed_precision/sensitivity_evaluation.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/mixed_precision/set_layer_to_bitwidth.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/mixed_precision/solution_refinement_procedure.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/model_builder_mode.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/model_collector.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/model_validation.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/network_editors/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/network_editors/actions.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/network_editors/edit_network.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/network_editors/node_filters.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/node_prior_info.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/pruning/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/pruning/channels_grouping.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/pruning/greedy_mask_calculator.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/pruning/importance_metrics/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/pruning/importance_metrics/base_importance_metric.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/pruning/importance_metrics/importance_metric_factory.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/pruning/importance_metrics/lfh_importance_metric.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/pruning/mask/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/pruning/mask/per_channel_mask.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/pruning/mask/per_simd_group_mask.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/pruning/memory_calculator.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/pruning/prune_graph.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/pruning/pruner.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/pruning/pruning_config.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/pruning/pruning_framework_implementation.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/pruning/pruning_info.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/pruning/pruning_section.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/quantization/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/quantization/candidate_node_quantization_config.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/quantization/core_config.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/quantization/debug_config.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/quantization/filter_nodes_candidates.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/quantization/node_quantization_config.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/quantization/quantization_config.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/quantization/quantization_fn_selection.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/quantization/quantization_params_fn_selection.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/quantization/quantization_params_generation/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/quantization/quantization_params_generation/error_functions.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/quantization/quantization_params_generation/lut_kmeans_params.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/quantization/quantization_params_generation/outlier_filter.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/quantization/quantization_params_generation/power_of_two_selection.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/quantization/quantization_params_generation/qparams_activations_computation.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/quantization/quantization_params_generation/qparams_search.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/quantization/quantization_params_generation/qparams_weights_computation.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/quantization/quantization_params_generation/symmetric_selection.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/quantization/quantization_params_generation/uniform_selection.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/quantization/quantize_graph_weights.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/quantization/quantize_node.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/quantization/quantizers/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/quantization/quantizers/lut_kmeans_quantizer.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/quantization/quantizers/quantizers_helpers.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/quantization/quantizers/uniform_quantizers.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/quantization/set_node_quantization_config.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/similarity_analyzer.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/statistics_correction/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/statistics_correction/apply_bias_correction_to_graph.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/statistics_correction/apply_second_moment_correction_to_graph.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/statistics_correction/compute_bias_correction_of_graph.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/statistics_correction/statistics_correction.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/substitutions/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/substitutions/apply_substitutions.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/substitutions/batchnorm_folding.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/substitutions/batchnorm_reconstruction.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/substitutions/batchnorm_refusing.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/substitutions/linear_collapsing.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/substitutions/linear_collapsing_substitution.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/substitutions/residual_collapsing.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/substitutions/scale_equalization.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/substitutions/shift_negative_activation.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/substitutions/softmax_shift.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/substitutions/virtual_activation_weights_composition.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/substitutions/weights_activation_split.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/user_info.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/visualization/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/visualization/final_config_visualizer.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/visualization/nn_visualizer.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/common/visualization/tensorboard_writer.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/graph_prep_runner.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/keras/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/keras/back2framework/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/keras/back2framework/factory_model_builder.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/keras/back2framework/float_model_builder.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/keras/back2framework/instance_builder.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/keras/back2framework/keras_model_builder.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/keras/back2framework/mixed_precision_model_builder.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/keras/back2framework/quantized_model_builder.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/keras/constants.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/keras/custom_layer_validation.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/keras/default_framework_info.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/keras/graph_substitutions/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/activation_decomposition.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/batchnorm_folding.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/batchnorm_reconstruction.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/batchnorm_refusing.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/concat_threshold_update.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/dwconv_to_conv.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/input_scaling.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/linear_collapsing.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/matmul_substitution.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/multi_head_attention_decomposition.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/relu_bound_to_power_of_2.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/residual_collapsing.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/scale_equalization.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/separableconv_decomposition.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/shift_negative_activation.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/softmax_shift.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/virtual_activation_weights_composition.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/weights_activation_split.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/keras/hessian/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/keras/hessian/activation_trace_hessian_calculator_keras.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/keras/hessian/trace_hessian_calculator_keras.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/keras/hessian/weights_trace_hessian_calculator_keras.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/keras/keras_implementation.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/keras/keras_model_validation.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/keras/keras_node_prior_info.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/keras/mixed_precision/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/keras/mixed_precision/configurable_activation_quantizer.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/keras/mixed_precision/configurable_weights_quantizer.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/keras/pruning/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/keras/pruning/pruning_keras_implementation.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/keras/quantizer/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/keras/quantizer/base_quantizer.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/keras/quantizer/fake_quant_builder.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/keras/quantizer/lut_fake_quant.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/keras/reader/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/keras/reader/common.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/keras/reader/connectivity_handler.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/keras/reader/nested_model/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/keras/reader/nested_model/edges_merger.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/keras/reader/nested_model/nested_model_handler.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/keras/reader/nested_model/nodes_merger.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/keras/reader/nested_model/outputs_merger.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/keras/reader/node_builder.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/keras/reader/reader.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/keras/resource_utilization_data_facade.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/keras/statistics_correction/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/keras/statistics_correction/apply_second_moment_correction.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/keras/tf_tensor_numpy.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/keras/visualization/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/pytorch/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/pytorch/back2framework/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/pytorch/back2framework/factory_model_builder.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/pytorch/back2framework/float_model_builder.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/pytorch/back2framework/instance_builder.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/pytorch/back2framework/mixed_precision_model_builder.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/pytorch/back2framework/pytorch_model_builder.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/pytorch/back2framework/quantization_wrapper/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/pytorch/back2framework/quantization_wrapper/quantized_layer_wrapper.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/pytorch/back2framework/quantization_wrapper/wrapper_quantize_config.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/pytorch/back2framework/quantized_model_builder.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/pytorch/constants.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/pytorch/default_framework_info.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/pytorch/graph_substitutions/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/batchnorm_folding.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/batchnorm_reconstruction.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/batchnorm_refusing.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/concat_threshold_update.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/const_holder_conv.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/functional_batch_norm.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/functional_layer_norm.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/linear_collapsing.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/multi_head_attention_decomposition.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/permute_call_method.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/relu_bound_to_power_of_2.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/reshape_with_static_shapes.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/residual_collapsing.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/scale_equalization.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/shift_negative_activation.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/softmax_shift.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/virtual_activation_weights_composition.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/weights_activation_split.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/pytorch/hessian/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/pytorch/hessian/activation_trace_hessian_calculator_pytorch.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/pytorch/hessian/trace_hessian_calculator_pytorch.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/pytorch/hessian/weights_trace_hessian_calculator_pytorch.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/pytorch/mixed_precision/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/pytorch/mixed_precision/configurable_activation_quantizer.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/pytorch/mixed_precision/configurable_weights_quantizer.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/pytorch/pruning/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/pytorch/pruning/pruning_pytorch_implementation.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/pytorch/pytorch_device_config.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/pytorch/pytorch_implementation.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/pytorch/pytorch_node_prior_info.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/pytorch/quantizer/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/pytorch/quantizer/fake_quant_builder.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/pytorch/quantizer/lut_fake_quant.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/pytorch/reader/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/pytorch/reader/graph_builders.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/pytorch/reader/node_holders.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/pytorch/reader/reader.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/pytorch/resource_utilization_data_facade.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/pytorch/statistics_correction/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/pytorch/statistics_correction/apply_second_moment_correction.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/pytorch/utils.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/quantization_prep_runner.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/core/runner.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/data_generation/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/data_generation/common/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/data_generation/common/constants.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/data_generation/common/data_generation.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/data_generation/common/data_generation_config.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/data_generation/common/enums.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/data_generation/common/image_pipeline.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/data_generation/common/model_info_exctractors.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/data_generation/common/optimization_utils.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/data_generation/keras/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/data_generation/keras/constants.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/data_generation/keras/image_pipeline.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/data_generation/keras/keras_data_generation.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/data_generation/keras/model_info_exctractors.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/data_generation/keras/optimization_functions/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/data_generation/keras/optimization_functions/batchnorm_alignment_functions.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/data_generation/keras/optimization_functions/bn_layer_weighting_functions.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/data_generation/keras/optimization_functions/image_initilization.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/data_generation/keras/optimization_functions/output_loss_functions.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/data_generation/keras/optimization_functions/scheduler_step_functions.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/data_generation/keras/optimization_utils.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/data_generation/pytorch/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/data_generation/pytorch/constants.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/data_generation/pytorch/image_pipeline.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/data_generation/pytorch/model_info_exctractors.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/data_generation/pytorch/optimization_functions/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/data_generation/pytorch/optimization_functions/batchnorm_alignment_functions.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/data_generation/pytorch/optimization_functions/bn_layer_weighting_functions.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/data_generation/pytorch/optimization_functions/image_initilization.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/data_generation/pytorch/optimization_functions/output_loss_functions.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/data_generation/pytorch/optimization_functions/scheduler_step_functions.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/data_generation/pytorch/optimization_utils.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/data_generation/pytorch/pytorch_data_generation.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/defaultdict.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/exporter/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/exporter/model_exporter/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/exporter/model_exporter/fw_agonstic/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/exporter/model_exporter/fw_agonstic/exporter.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/exporter/model_exporter/fw_agonstic/quantization_format.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/exporter/model_exporter/keras/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/exporter/model_exporter/keras/base_keras_exporter.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/exporter/model_exporter/keras/export_serialization_format.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/exporter/model_exporter/keras/keras_export_facade.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/exporter/model_exporter/keras/mctq_keras_exporter.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/exporter/model_exporter/pytorch/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/exporter/model_exporter/pytorch/base_pytorch_exporter.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/exporter/model_exporter/pytorch/export_serialization_format.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/exporter/model_exporter/pytorch/fakely_quant_torchscript_pytorch_exporter.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/exporter/model_wrapper/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/exporter/model_wrapper/fw_agnostic/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/exporter/model_wrapper/fw_agnostic/get_inferable_quantizers.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/exporter/model_wrapper/keras/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/exporter/model_wrapper/keras/builder/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/exporter/model_wrapper/keras/builder/node_to_quantizer.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/exporter/model_wrapper/keras/validate_layer.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/exporter/model_wrapper/pytorch/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/exporter/model_wrapper/pytorch/builder/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/exporter/model_wrapper/pytorch/builder/node_to_quantizer.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/exporter/model_wrapper/pytorch/validate_layer.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/gptq/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/gptq/common/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/gptq/common/gptq_config.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/gptq/common/gptq_constants.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/gptq/common/gptq_framework_implementation.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/gptq/common/gptq_graph.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/gptq/common/gptq_training.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/gptq/keras/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/gptq/keras/gptq_keras_implementation.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/gptq/keras/gptq_loss.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/gptq/keras/graph_info.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/gptq/keras/quantizer/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/gptq/keras/quantizer/base_keras_gptq_quantizer.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/gptq/keras/quantizer/quant_utils.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/gptq/keras/quantizer/quantization_builder.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/gptq/keras/quantizer/soft_rounding/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/gptq/keras/quantizer/soft_rounding/soft_quantizer_reg.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/gptq/keras/quantizer/soft_rounding/symmetric_soft_quantizer.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/gptq/keras/quantizer/soft_rounding/uniform_soft_quantizer.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/gptq/keras/quantizer/ste_rounding/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/gptq/keras/quantizer/ste_rounding/symmetric_ste.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/gptq/pytorch/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/gptq/pytorch/gptq_loss.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/gptq/pytorch/gptq_pytorch_implementation.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/gptq/pytorch/graph_info.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/gptq/pytorch/quantizer/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/gptq/pytorch/quantizer/base_pytorch_gptq_quantizer.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/gptq/pytorch/quantizer/quant_utils.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/gptq/pytorch/quantizer/quantization_builder.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/gptq/pytorch/quantizer/soft_rounding/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/gptq/pytorch/quantizer/soft_rounding/soft_quantizer_reg.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/gptq/pytorch/quantizer/soft_rounding/symmetric_soft_quantizer.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/gptq/pytorch/quantizer/soft_rounding/uniform_soft_quantizer.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/gptq/pytorch/quantizer/ste_rounding/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/gptq/pytorch/quantizer/ste_rounding/symmetric_ste.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/gptq/runner.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/logger.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/pruning/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/pruning/keras/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/pruning/keras/pruning_facade.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/pruning/pytorch/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/pruning/pytorch/pruning_facade.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/ptq/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/ptq/keras/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/ptq/pytorch/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/ptq/runner.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/qat/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/qat/common/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/qat/common/qat_config.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/qat/keras/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/qat/keras/quantization_facade.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/qat/keras/quantizer/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/qat/keras/quantizer/base_keras_qat_quantizer.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/qat/keras/quantizer/lsq/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/qat/keras/quantizer/lsq/symmetric_lsq.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/qat/keras/quantizer/lsq/uniform_lsq.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/qat/keras/quantizer/quant_utils.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/qat/keras/quantizer/quantization_builder.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/qat/keras/quantizer/ste_rounding/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/qat/keras/quantizer/ste_rounding/symmetric_ste.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/qat/keras/quantizer/ste_rounding/uniform_ste.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/qat/pytorch/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/qat/pytorch/quantization_facade.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/qat/pytorch/quantizer/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/qat/pytorch/quantizer/base_pytorch_qat_quantizer.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/qat/pytorch/quantizer/lsq/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/qat/pytorch/quantizer/lsq/symmetric_lsq.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/qat/pytorch/quantizer/lsq/uniform_lsq.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/qat/pytorch/quantizer/quantization_builder.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/qat/pytorch/quantizer/quantizer_utils.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/qat/pytorch/quantizer/ste_rounding/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/qat/pytorch/quantizer/ste_rounding/symmetric_ste.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/qat/pytorch/quantizer/ste_rounding/uniform_ste.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/target_platform_capabilities/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/target_platform_capabilities/constants.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/target_platform_capabilities/immutable.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/target_platform_capabilities/target_platform/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/target_platform_capabilities/target_platform/current_tp_model.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/target_platform_capabilities/target_platform/fusing.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/target_platform_capabilities/target_platform/op_quantization_config.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/target_platform_capabilities/target_platform/operators.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/target_platform_capabilities/target_platform/target_platform_model_component.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/attribute_filter.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/current_tpc.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/layer_filter_params.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/operations_to_layers.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/target_platform_capabilities_component.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/target_platform_capabilities/tpc_models/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/target_platform_capabilities/tpc_models/get_target_platform_capabilities.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/latest/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1/tp_model.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1/tpc_keras.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1/tpc_pytorch.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_lut/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_lut/tp_model.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_lut/tpc_keras.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_lut/tpc_pytorch.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_pot/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_pot/tp_model.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_pot/tpc_keras.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_pot/tpc_pytorch.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/latest/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/target_platform_capabilities.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/v1/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/v1/tp_model.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/v1/tpc_keras.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/v1/tpc_pytorch.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/latest/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/target_platform_capabilities.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/v1/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/v1/tp_model.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/v1/tpc_keras.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/v1/tpc_pytorch.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/trainable_infrastructure/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/trainable_infrastructure/common/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/trainable_infrastructure/common/base_trainable_quantizer.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/trainable_infrastructure/common/constants.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/trainable_infrastructure/common/get_quantizer_config.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/trainable_infrastructure/common/get_quantizers.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/trainable_infrastructure/common/quant_utils.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/trainable_infrastructure/common/trainable_quantizer_config.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/trainable_infrastructure/keras/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/trainable_infrastructure/keras/base_keras_quantizer.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/trainable_infrastructure/keras/config_serialization.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/trainable_infrastructure/keras/load_model.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/trainable_infrastructure/keras/quantize_wrapper.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/trainable_infrastructure/keras/quantizer_utils.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/trainable_infrastructure/pytorch/__init__.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/model_compression_toolkit/trainable_infrastructure/pytorch/base_pytorch_quantizer.py +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/setup.cfg +0 -0
- {mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/setup.py +0 -0
{mct-nightly-2.0.0.20240410.422 → mct-nightly-2.0.0.20240412.408}/mct_nightly.egg-info/SOURCES.txt
RENAMED
|
@@ -11,6 +11,7 @@ model_compression_toolkit/__init__.py
|
|
|
11
11
|
model_compression_toolkit/constants.py
|
|
12
12
|
model_compression_toolkit/defaultdict.py
|
|
13
13
|
model_compression_toolkit/logger.py
|
|
14
|
+
model_compression_toolkit/metadata.py
|
|
14
15
|
model_compression_toolkit/core/__init__.py
|
|
15
16
|
model_compression_toolkit/core/analyzer.py
|
|
16
17
|
model_compression_toolkit/core/graph_prep_runner.py
|
|
@@ -450,6 +451,14 @@ model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_
|
|
|
450
451
|
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_pot/tp_model.py
|
|
451
452
|
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_pot/tpc_keras.py
|
|
452
453
|
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_pot/tpc_pytorch.py
|
|
454
|
+
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2/__init__.py
|
|
455
|
+
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2/tp_model.py
|
|
456
|
+
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2/tpc_keras.py
|
|
457
|
+
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2/tpc_pytorch.py
|
|
458
|
+
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2_lut/__init__.py
|
|
459
|
+
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2_lut/tp_model.py
|
|
460
|
+
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2_lut/tpc_keras.py
|
|
461
|
+
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2_lut/tpc_pytorch.py
|
|
453
462
|
model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/__init__.py
|
|
454
463
|
model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/target_platform_capabilities.py
|
|
455
464
|
model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/latest/__init__.py
|
|
@@ -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.0.0.
|
|
30
|
+
__version__ = "2.0.0.20240412.000408"
|
|
@@ -24,6 +24,10 @@ FOUND_ONNX = importlib.util.find_spec("onnx") is not None
|
|
|
24
24
|
FOUND_ONNXRUNTIME = importlib.util.find_spec("onnxruntime") is not None
|
|
25
25
|
FOUND_SONY_CUSTOM_LAYERS = importlib.util.find_spec('sony_custom_layers') is not None
|
|
26
26
|
|
|
27
|
+
# Metadata fields
|
|
28
|
+
MCT_VERSION = 'mct_version'
|
|
29
|
+
TPC_VERSION = 'tpc_version'
|
|
30
|
+
|
|
27
31
|
WEIGHTS_SIGNED = True
|
|
28
32
|
# Minimal threshold to use for quantization ranges:
|
|
29
33
|
MIN_THRESHOLD = (2 ** -16)
|
|
@@ -103,9 +103,10 @@ class Graph(nx.MultiDiGraph, GraphSearches):
|
|
|
103
103
|
if n.is_custom:
|
|
104
104
|
if not is_node_in_tpc:
|
|
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
|
+
'request or an issue if you believe this should be supported.') # pragma: no cover
|
|
107
108
|
if any([qc.default_weight_attr_config.enable_weights_quantization for qc in n.get_qco(tpc).quantization_config_list]):
|
|
108
|
-
Logger.critical(f'Layer identified: {n.type}. MCT does not support weight quantization for Keras custom layers.')
|
|
109
|
+
Logger.critical(f'Layer identified: {n.type}. MCT does not support weight quantization for Keras custom layers.') # pragma: no cover
|
|
109
110
|
|
|
110
111
|
self.tpc = tpc
|
|
111
112
|
|
|
@@ -42,14 +42,14 @@ def calculate_quantization_params(graph: Graph,
|
|
|
42
42
|
|
|
43
43
|
"""
|
|
44
44
|
|
|
45
|
-
Logger.info(f"
|
|
45
|
+
Logger.info(f"\nRunning quantization parameters search. "
|
|
46
46
|
f"This process might take some time, "
|
|
47
47
|
f"depending on the model size and the selected quantization methods.\n")
|
|
48
48
|
|
|
49
49
|
# Create a list of nodes to compute their thresholds
|
|
50
50
|
nodes_list: List[BaseNode] = nodes if specific_nodes else graph.nodes()
|
|
51
51
|
|
|
52
|
-
for n in tqdm(nodes_list, "Calculating quantization
|
|
52
|
+
for n in tqdm(nodes_list, "Calculating quantization parameters"): # iterate only nodes that we should compute their thresholds
|
|
53
53
|
for candidate_qc in n.candidates_quantization_cfg:
|
|
54
54
|
for attr in n.get_node_weights_attributes():
|
|
55
55
|
if n.is_weights_quantization_enabled(attr):
|
|
@@ -100,7 +100,7 @@ class FakelyQuantKerasExporter(BaseKerasExporter):
|
|
|
100
100
|
weights_list.append(layer.get_quantized_weights()['kernel'])
|
|
101
101
|
else:
|
|
102
102
|
Logger.critical(f'KerasQuantizationWrapper should wrap only DepthwiseConv2D, Conv2D, Dense'
|
|
103
|
-
|
|
103
|
+
f' and Conv2DTranspose layers but wrapped layer is {layer.layer}')
|
|
104
104
|
|
|
105
105
|
if layer.layer.bias is not None:
|
|
106
106
|
weights_list.append(layer.layer.bias)
|
|
@@ -121,6 +121,11 @@ class FakelyQuantKerasExporter(BaseKerasExporter):
|
|
|
121
121
|
|
|
122
122
|
return layer
|
|
123
123
|
|
|
124
|
+
# Delete metadata layer if exists
|
|
125
|
+
if hasattr(self.model, 'metadata_layer'):
|
|
126
|
+
Logger.info('Metadata is not exported to FakelyQuant models.')
|
|
127
|
+
delattr(self.model, 'metadata_layer')
|
|
128
|
+
|
|
124
129
|
# clone each layer in the model and apply _unwrap_quantize_wrapper to layers wrapped with a QuantizeWrapper.
|
|
125
130
|
self.exported_model = tf.keras.models.clone_model(self.model,
|
|
126
131
|
input_tensors=None,
|
|
@@ -56,6 +56,11 @@ class FakelyQuantTFLiteExporter(FakelyQuantKerasExporter):
|
|
|
56
56
|
(namely, weights that are in fake-quant format) and fake-quant layers for the activations.
|
|
57
57
|
|
|
58
58
|
"""
|
|
59
|
+
# Delete metadata layer if exists
|
|
60
|
+
if hasattr(self.model, 'metadata_layer'):
|
|
61
|
+
Logger.info('Metadata is not exported to TFLite models.')
|
|
62
|
+
delattr(self.model, 'metadata_layer')
|
|
63
|
+
|
|
59
64
|
# Use Keras exporter to quantize model's weights before converting it to TFLite.
|
|
60
65
|
# Since exporter saves the model, we use a tmp path for saving, and then we delete it.
|
|
61
66
|
handle, tmp_file = tempfile.mkstemp(DEFAULT_KERAS_EXPORT_EXTENTION)
|
|
@@ -166,6 +166,11 @@ class INT8TFLiteExporter(FakelyQuantKerasExporter):
|
|
|
166
166
|
|
|
167
167
|
return layer_to_substitue
|
|
168
168
|
|
|
169
|
+
# Delete metadata layer if exists
|
|
170
|
+
if hasattr(self.model, 'metadata_layer'):
|
|
171
|
+
Logger.info('Metadata is not exported to TFLite models.')
|
|
172
|
+
delattr(self.model, 'metadata_layer')
|
|
173
|
+
|
|
169
174
|
# Transform the model to a new model that can be converted to int8 models.
|
|
170
175
|
# For example: replace dense layers with point-wise layers (to support per-channel quantization)
|
|
171
176
|
self.transformed_model = clone_model(self.model,
|
|
@@ -13,17 +13,21 @@
|
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
# ==============================================================================
|
|
15
15
|
from typing import Callable
|
|
16
|
+
from io import BytesIO
|
|
16
17
|
|
|
17
18
|
import torch.nn
|
|
19
|
+
import onnx
|
|
18
20
|
|
|
19
21
|
from mct_quantizers import PytorchActivationQuantizationHolder, PytorchQuantizationWrapper
|
|
20
22
|
from model_compression_toolkit.logger import Logger
|
|
21
23
|
from model_compression_toolkit.core.pytorch.utils import to_torch_tensor
|
|
22
24
|
from model_compression_toolkit.exporter.model_exporter.pytorch.base_pytorch_exporter import BasePyTorchExporter
|
|
23
25
|
from mct_quantizers import pytorch_quantizers
|
|
26
|
+
from mct_quantizers.pytorch.metadata import add_onnx_metadata
|
|
24
27
|
|
|
25
28
|
DEFAULT_ONNX_OPSET_VERSION=15
|
|
26
29
|
|
|
30
|
+
|
|
27
31
|
class FakelyQuantONNXPyTorchExporter(BasePyTorchExporter):
|
|
28
32
|
"""
|
|
29
33
|
Exporter for fakely-quant PyTorch models.
|
|
@@ -58,7 +62,6 @@ class FakelyQuantONNXPyTorchExporter(BasePyTorchExporter):
|
|
|
58
62
|
self._use_onnx_custom_quantizer_ops = use_onnx_custom_quantizer_ops
|
|
59
63
|
self._onnx_opset_version = onnx_opset_version
|
|
60
64
|
|
|
61
|
-
|
|
62
65
|
def export(self) -> None:
|
|
63
66
|
"""
|
|
64
67
|
Convert an exportable (fully-quantized) PyTorch model to a fakely-quant model
|
|
@@ -74,7 +77,7 @@ class FakelyQuantONNXPyTorchExporter(BasePyTorchExporter):
|
|
|
74
77
|
# If _use_onnx_custom_quantizer_ops is set to True, the quantizer forward function will use
|
|
75
78
|
# the custom implementation when exporting the operator into onnx model. If not, it removes the
|
|
76
79
|
# wraps and quantizes the ops in place (for weights, for activation torch quantization function is
|
|
77
|
-
# exported since it's used during forward.
|
|
80
|
+
# exported since it's used during forward).
|
|
78
81
|
if self._use_onnx_custom_quantizer_ops:
|
|
79
82
|
self._enable_onnx_custom_ops_export()
|
|
80
83
|
else:
|
|
@@ -87,15 +90,30 @@ class FakelyQuantONNXPyTorchExporter(BasePyTorchExporter):
|
|
|
87
90
|
|
|
88
91
|
model_input = to_torch_tensor(next(self.repr_dataset())[0])
|
|
89
92
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
93
|
+
if hasattr(self.model, 'metadata'):
|
|
94
|
+
onnx_bytes = BytesIO()
|
|
95
|
+
torch.onnx.export(self.model,
|
|
96
|
+
model_input,
|
|
97
|
+
onnx_bytes,
|
|
98
|
+
opset_version=self._onnx_opset_version,
|
|
99
|
+
verbose=False,
|
|
100
|
+
input_names=['input'],
|
|
101
|
+
output_names=['output'],
|
|
102
|
+
dynamic_axes={'input': {0: 'batch_size'},
|
|
103
|
+
'output': {0: 'batch_size'}})
|
|
104
|
+
onnx_model = onnx.load_from_string(onnx_bytes.getvalue())
|
|
105
|
+
onnx_model = add_onnx_metadata(onnx_model, self.model.metadata)
|
|
106
|
+
onnx.save_model(onnx_model, self.save_model_path)
|
|
107
|
+
else:
|
|
108
|
+
torch.onnx.export(self.model,
|
|
109
|
+
model_input,
|
|
110
|
+
self.save_model_path,
|
|
111
|
+
opset_version=self._onnx_opset_version,
|
|
112
|
+
verbose=False,
|
|
113
|
+
input_names=['input'],
|
|
114
|
+
output_names=['output'],
|
|
115
|
+
dynamic_axes={'input': {0: 'batch_size'},
|
|
116
|
+
'output': {0: 'batch_size'}})
|
|
99
117
|
|
|
100
118
|
def _enable_onnx_custom_ops_export(self):
|
|
101
119
|
"""
|
|
@@ -40,7 +40,7 @@ if FOUND_TORCH:
|
|
|
40
40
|
repr_dataset: Callable,
|
|
41
41
|
is_layer_exportable_fn: Callable = is_pytorch_layer_exportable,
|
|
42
42
|
serialization_format: PytorchExportSerializationFormat = PytorchExportSerializationFormat.ONNX,
|
|
43
|
-
quantization_format
|
|
43
|
+
quantization_format: QuantizationFormat = QuantizationFormat.MCTQ,
|
|
44
44
|
onnx_opset_version=DEFAULT_ONNX_OPSET_VERSION) -> None:
|
|
45
45
|
"""
|
|
46
46
|
Export a PyTorch quantized model to a torchscript or onnx model.
|
|
@@ -90,7 +90,7 @@ if FOUND_TF:
|
|
|
90
90
|
fw_impl=C.keras.keras_implementation.KerasImplementation())).build_model()
|
|
91
91
|
exportable_model.trainable = False
|
|
92
92
|
|
|
93
|
-
Logger.info("
|
|
93
|
+
Logger.info("\nPlease run your accuracy evaluation on the exported quantized model to verify it's accuracy.\n"
|
|
94
94
|
"Checkout the FAQ and Troubleshooting pages for resolving common issues and improving the quantized model accuracy:\n"
|
|
95
95
|
"FAQ: https://github.com/sony/model_optimization/tree/main/FAQ.md\n"
|
|
96
96
|
"Quantization Troubleshooting: https://github.com/sony/model_optimization/tree/main/quantization_troubleshooting.md")
|
|
@@ -82,7 +82,7 @@ if FOUND_TORCH:
|
|
|
82
82
|
get_activation_quantizer_holder(n,
|
|
83
83
|
fw_impl=C.pytorch.pytorch_implementation.PytorchImplementation())).build_model()
|
|
84
84
|
|
|
85
|
-
Logger.info("
|
|
85
|
+
Logger.info("\nPlease run your accuracy evaluation on the exported quantized model to verify it's accuracy.\n"
|
|
86
86
|
"Checkout the FAQ and Troubleshooting pages for resolving common issues and improving the quantized model accuracy:\n"
|
|
87
87
|
"FAQ: https://github.com/sony/model_optimization/tree/main/FAQ.md\n"
|
|
88
88
|
"Quantization Troubleshooting: https://github.com/sony/model_optimization/tree/main/quantization_troubleshooting.md")
|
|
@@ -93,4 +93,4 @@ if FOUND_TORCH:
|
|
|
93
93
|
else:
|
|
94
94
|
def get_exportable_pytorch_model(*args, **kwargs):
|
|
95
95
|
Logger.critical("PyTorch must be installed to use 'get_exportable_pytorch_model'. "
|
|
96
|
-
"The 'torch' package is missing.") # pragma: no cover
|
|
96
|
+
"The 'torch' package is missing.") # pragma: no cover
|
|
@@ -301,21 +301,23 @@ class KerasGPTQTrainer(GPTQTrainer):
|
|
|
301
301
|
Returns: None
|
|
302
302
|
|
|
303
303
|
"""
|
|
304
|
-
|
|
305
|
-
for
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
304
|
+
with tqdm(range(n_epochs), "Running GPTQ optimization") as epochs_pbar:
|
|
305
|
+
for _ in epochs_pbar:
|
|
306
|
+
with tqdm(data_function(), position=1, leave=False) as data_pbar:
|
|
307
|
+
for data in data_pbar:
|
|
308
|
+
input_data = [d * self.input_scale for d in data]
|
|
309
|
+
|
|
310
|
+
loss_value_step, grads = self.nano_training_step(input_data, in_compute_gradients,
|
|
311
|
+
in_optimizer_with_param, is_training)
|
|
312
|
+
# Run one step of gradient descent by updating
|
|
313
|
+
# the value of the variables to minimize the loss.
|
|
314
|
+
for i, (o, p) in enumerate(in_optimizer_with_param):
|
|
315
|
+
o.apply_gradients(zip(grads[i], p))
|
|
316
|
+
if self.gptq_config.log_function is not None:
|
|
317
|
+
self.gptq_config.log_function(loss_value_step, grads[0], in_optimizer_with_param[0][-1],
|
|
318
|
+
self.compare_points)
|
|
319
|
+
self.loss_list.append(loss_value_step.numpy())
|
|
320
|
+
Logger.debug(f'last loss value: {self.loss_list[-1]}')
|
|
319
321
|
|
|
320
322
|
def update_graph(self):
|
|
321
323
|
"""
|
|
@@ -31,6 +31,7 @@ from model_compression_toolkit.core.runner import core_runner
|
|
|
31
31
|
from model_compression_toolkit.gptq.runner import gptq_runner
|
|
32
32
|
from model_compression_toolkit.core.analyzer import analyzer_model_quantization
|
|
33
33
|
from model_compression_toolkit.target_platform_capabilities.target_platform.targetplatform2framework import TargetPlatformCapabilities
|
|
34
|
+
from model_compression_toolkit.metadata import get_versions_dict
|
|
34
35
|
|
|
35
36
|
LR_DEFAULT = 0.15
|
|
36
37
|
LR_REST_DEFAULT = 1e-4
|
|
@@ -48,6 +49,7 @@ if FOUND_TF:
|
|
|
48
49
|
from model_compression_toolkit.target_platform_capabilities.constants import DEFAULT_TP_MODEL
|
|
49
50
|
from model_compression_toolkit.exporter.model_wrapper import get_exportable_keras_model
|
|
50
51
|
from model_compression_toolkit import get_target_platform_capabilities
|
|
52
|
+
from mct_quantizers.keras.metadata import add_metadata
|
|
51
53
|
|
|
52
54
|
# As from TF2.9 optimizers package is changed
|
|
53
55
|
if version.parse(tf.__version__) < version.parse("2.9"):
|
|
@@ -234,7 +236,10 @@ if FOUND_TF:
|
|
|
234
236
|
fw_impl,
|
|
235
237
|
DEFAULT_KERAS_INFO)
|
|
236
238
|
|
|
237
|
-
|
|
239
|
+
exportable_model, user_info = get_exportable_keras_model(tg_gptq)
|
|
240
|
+
if target_platform_capabilities.tp_model.add_metadata:
|
|
241
|
+
exportable_model = add_metadata(exportable_model, get_versions_dict(target_platform_capabilities))
|
|
242
|
+
return exportable_model, user_info
|
|
238
243
|
|
|
239
244
|
else:
|
|
240
245
|
# If tensorflow is not installed,
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
# ==============================================================================
|
|
15
|
+
from tqdm import tqdm
|
|
15
16
|
from typing import Callable
|
|
16
17
|
|
|
17
18
|
from model_compression_toolkit.gptq import RoundingType, GradientPTQConfig, GradientPTQConfig
|
|
@@ -35,7 +36,7 @@ def get_regularization(gptq_config: GradientPTQConfig, representative_data_gen:
|
|
|
35
36
|
if gptq_config.rounding_type == RoundingType.SoftQuantizer:
|
|
36
37
|
# dry run on the representative dataset to count number of batches
|
|
37
38
|
num_batches = 0
|
|
38
|
-
for _ in representative_data_gen():
|
|
39
|
+
for _ in tqdm(representative_data_gen(), "GPTQ initialization"):
|
|
39
40
|
num_batches += 1
|
|
40
41
|
|
|
41
42
|
return SoftQuantizerRegularization(total_gradient_steps=num_batches * gptq_config.n_epochs)
|
|
@@ -248,22 +248,24 @@ class PytorchGPTQTrainer(GPTQTrainer):
|
|
|
248
248
|
data_function: A callable function that give a batch of samples.
|
|
249
249
|
n_epochs: Number of update iterations of representative dataset.
|
|
250
250
|
"""
|
|
251
|
-
|
|
252
|
-
for
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
251
|
+
with tqdm(range(n_epochs), "Running GPTQ optimization") as epochs_pbar:
|
|
252
|
+
for _ in epochs_pbar:
|
|
253
|
+
with tqdm(data_function(), position=1, leave=False) as data_pbar:
|
|
254
|
+
for data in data_pbar:
|
|
255
|
+
input_data = [d * self.input_scale for d in data]
|
|
256
|
+
input_tensor = to_torch_tensor(input_data)
|
|
257
|
+
y_float = self.float_model(input_tensor) # running float model
|
|
258
|
+
loss_value, grads = self.compute_gradients(y_float, input_tensor)
|
|
259
|
+
# Run one step of gradient descent by updating the value of the variables to minimize the loss.
|
|
260
|
+
for (optimizer, _) in self.optimizer_with_param:
|
|
261
|
+
optimizer.step()
|
|
262
|
+
optimizer.zero_grad()
|
|
263
|
+
if self.gptq_config.log_function is not None:
|
|
264
|
+
self.gptq_config.log_function(loss_value.item(),
|
|
265
|
+
torch_tensor_to_numpy(grads),
|
|
266
|
+
torch_tensor_to_numpy(self.optimizer_with_param[0][-1]))
|
|
267
|
+
self.loss_list.append(loss_value.item())
|
|
268
|
+
Logger.debug(f'last loss value: {self.loss_list[-1]}')
|
|
267
269
|
|
|
268
270
|
def update_graph(self) -> Graph:
|
|
269
271
|
"""
|
|
@@ -31,6 +31,7 @@ from model_compression_toolkit.core.analyzer import analyzer_model_quantization
|
|
|
31
31
|
from model_compression_toolkit.core import CoreConfig
|
|
32
32
|
from model_compression_toolkit.core.common.mixed_precision.mixed_precision_quantization_config import \
|
|
33
33
|
MixedPrecisionQuantizationConfig
|
|
34
|
+
from model_compression_toolkit.metadata import get_versions_dict
|
|
34
35
|
|
|
35
36
|
LR_DEFAULT = 1e-4
|
|
36
37
|
LR_REST_DEFAULT = 1e-4
|
|
@@ -47,6 +48,7 @@ if FOUND_TORCH:
|
|
|
47
48
|
from torch.nn import Module
|
|
48
49
|
from torch.optim import Adam, Optimizer
|
|
49
50
|
from model_compression_toolkit import get_target_platform_capabilities
|
|
51
|
+
from mct_quantizers.pytorch.metadata import add_metadata
|
|
50
52
|
DEFAULT_PYTORCH_TPC = get_target_platform_capabilities(PYTORCH, DEFAULT_TP_MODEL)
|
|
51
53
|
|
|
52
54
|
def get_pytorch_gptq_config(n_epochs: int,
|
|
@@ -202,7 +204,10 @@ if FOUND_TORCH:
|
|
|
202
204
|
fw_impl,
|
|
203
205
|
DEFAULT_PYTORCH_INFO)
|
|
204
206
|
|
|
205
|
-
|
|
207
|
+
exportable_model, user_info = get_exportable_pytorch_model(graph_gptq)
|
|
208
|
+
if target_platform_capabilities.tp_model.add_metadata:
|
|
209
|
+
exportable_model = add_metadata(exportable_model, get_versions_dict(target_platform_capabilities))
|
|
210
|
+
return exportable_model, user_info
|
|
206
211
|
|
|
207
212
|
|
|
208
213
|
else:
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
# ==============================================================================
|
|
15
|
+
from tqdm import tqdm
|
|
15
16
|
from typing import Callable
|
|
16
17
|
|
|
17
18
|
from model_compression_toolkit.gptq import RoundingType, GradientPTQConfig, GradientPTQConfig
|
|
@@ -35,7 +36,7 @@ def get_regularization(gptq_config: GradientPTQConfig, representative_data_gen:
|
|
|
35
36
|
if gptq_config.rounding_type == RoundingType.SoftQuantizer:
|
|
36
37
|
# dry run on the representative dataset to count number of batches
|
|
37
38
|
num_batches = 0
|
|
38
|
-
for _ in representative_data_gen():
|
|
39
|
+
for _ in tqdm(representative_data_gen(), "GPTQ initialization"):
|
|
39
40
|
num_batches += 1
|
|
40
41
|
|
|
41
42
|
return SoftQuantizerRegularization(total_gradient_steps=num_batches * gptq_config.n_epochs)
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Copyright 2024 Sony Semiconductor Israel, Inc. All rights reserved.
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
# ==============================================================================
|
|
15
|
+
|
|
16
|
+
from typing import Dict
|
|
17
|
+
from model_compression_toolkit.constants import MCT_VERSION, TPC_VERSION
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
def get_versions_dict(tpc) -> Dict:
|
|
21
|
+
"""
|
|
22
|
+
|
|
23
|
+
Returns: A dictionary with TPC and MCT versions.
|
|
24
|
+
|
|
25
|
+
"""
|
|
26
|
+
# imported inside to avoid circular import error
|
|
27
|
+
from model_compression_toolkit import __version__ as mct_version
|
|
28
|
+
tpc_version = f'{tpc.name}.{tpc.version}'
|
|
29
|
+
return {MCT_VERSION: mct_version, TPC_VERSION: tpc_version}
|
|
@@ -28,6 +28,7 @@ from model_compression_toolkit.core.common.mixed_precision.mixed_precision_quant
|
|
|
28
28
|
from model_compression_toolkit.target_platform_capabilities.target_platform.targetplatform2framework import TargetPlatformCapabilities
|
|
29
29
|
from model_compression_toolkit.core.runner import core_runner
|
|
30
30
|
from model_compression_toolkit.ptq.runner import ptq_runner
|
|
31
|
+
from model_compression_toolkit.metadata import get_versions_dict
|
|
31
32
|
|
|
32
33
|
if FOUND_TF:
|
|
33
34
|
from model_compression_toolkit.core.keras.default_framework_info import DEFAULT_KERAS_INFO
|
|
@@ -38,6 +39,7 @@ if FOUND_TF:
|
|
|
38
39
|
from model_compression_toolkit.exporter.model_wrapper import get_exportable_keras_model
|
|
39
40
|
|
|
40
41
|
from model_compression_toolkit import get_target_platform_capabilities
|
|
42
|
+
from mct_quantizers.keras.metadata import add_metadata
|
|
41
43
|
DEFAULT_KERAS_TPC = get_target_platform_capabilities(TENSORFLOW, DEFAULT_TP_MODEL)
|
|
42
44
|
|
|
43
45
|
|
|
@@ -164,8 +166,10 @@ if FOUND_TF:
|
|
|
164
166
|
fw_impl,
|
|
165
167
|
fw_info)
|
|
166
168
|
|
|
167
|
-
|
|
168
|
-
|
|
169
|
+
exportable_model, user_info = get_exportable_keras_model(graph_with_stats_correction)
|
|
170
|
+
if target_platform_capabilities.tp_model.add_metadata:
|
|
171
|
+
exportable_model = add_metadata(exportable_model, get_versions_dict(target_platform_capabilities))
|
|
172
|
+
return exportable_model, user_info
|
|
169
173
|
|
|
170
174
|
|
|
171
175
|
else:
|
|
@@ -29,6 +29,7 @@ from model_compression_toolkit.core.runner import core_runner
|
|
|
29
29
|
from model_compression_toolkit.ptq.runner import ptq_runner
|
|
30
30
|
from model_compression_toolkit.core.analyzer import analyzer_model_quantization
|
|
31
31
|
from model_compression_toolkit.core.common.quantization.quantize_graph_weights import quantize_graph_weights
|
|
32
|
+
from model_compression_toolkit.metadata import get_versions_dict
|
|
32
33
|
|
|
33
34
|
|
|
34
35
|
if FOUND_TORCH:
|
|
@@ -38,6 +39,7 @@ if FOUND_TORCH:
|
|
|
38
39
|
from torch.nn import Module
|
|
39
40
|
from model_compression_toolkit.exporter.model_wrapper.pytorch.builder.fully_quantized_model_builder import get_exportable_pytorch_model
|
|
40
41
|
from model_compression_toolkit import get_target_platform_capabilities
|
|
42
|
+
from mct_quantizers.pytorch.metadata import add_metadata
|
|
41
43
|
|
|
42
44
|
DEFAULT_PYTORCH_TPC = get_target_platform_capabilities(PYTORCH, DEFAULT_TP_MODEL)
|
|
43
45
|
|
|
@@ -139,7 +141,10 @@ if FOUND_TORCH:
|
|
|
139
141
|
fw_impl,
|
|
140
142
|
fw_info)
|
|
141
143
|
|
|
142
|
-
|
|
144
|
+
exportable_model, user_info = get_exportable_pytorch_model(graph_with_stats_correction)
|
|
145
|
+
if target_platform_capabilities.tp_model.add_metadata:
|
|
146
|
+
exportable_model = add_metadata(exportable_model, get_versions_dict(target_platform_capabilities))
|
|
147
|
+
return exportable_model, user_info
|
|
143
148
|
|
|
144
149
|
|
|
145
150
|
else:
|
|
@@ -60,15 +60,18 @@ class TargetPlatformModel(ImmutableClass):
|
|
|
60
60
|
|
|
61
61
|
def __init__(self,
|
|
62
62
|
default_qco: QuantizationConfigOptions,
|
|
63
|
+
add_metadata: bool = False,
|
|
63
64
|
name="default_tp_model"):
|
|
64
65
|
"""
|
|
65
66
|
|
|
66
67
|
Args:
|
|
67
68
|
default_qco (QuantizationConfigOptions): Default QuantizationConfigOptions to use for operators that their QuantizationConfigOptions are not defined in the model.
|
|
69
|
+
add_metadata (bool): Whether to add metadata to the model or not.
|
|
68
70
|
name (str): Name of the model.
|
|
69
71
|
"""
|
|
70
72
|
|
|
71
73
|
super().__init__()
|
|
74
|
+
self.add_metadata = add_metadata
|
|
72
75
|
self.name = name
|
|
73
76
|
self.operator_set = []
|
|
74
77
|
assert isinstance(default_qco, QuantizationConfigOptions)
|
|
@@ -191,7 +194,7 @@ class TargetPlatformModel(ImmutableClass):
|
|
|
191
194
|
|
|
192
195
|
"""
|
|
193
196
|
opsets_names = [op.name for op in self.operator_set]
|
|
194
|
-
if
|
|
197
|
+
if len(set(opsets_names)) != len(opsets_names):
|
|
195
198
|
Logger.critical(f'Operator Sets must have unique names.')
|
|
196
199
|
|
|
197
200
|
def get_default_config(self) -> OpQuantizationConfig:
|
|
@@ -29,6 +29,7 @@ from model_compression_toolkit.target_platform_capabilities.target_platform.op_q
|
|
|
29
29
|
from model_compression_toolkit.target_platform_capabilities.target_platform.operators import OperatorsSetBase
|
|
30
30
|
from model_compression_toolkit.target_platform_capabilities.target_platform.target_platform_model import TargetPlatformModel
|
|
31
31
|
from model_compression_toolkit.target_platform_capabilities.target_platform.targetplatform2framework.current_tpc import _current_tpc
|
|
32
|
+
from model_compression_toolkit.constants import MCT_VERSION, TPC_VERSION
|
|
32
33
|
|
|
33
34
|
|
|
34
35
|
class TargetPlatformCapabilities(ImmutableClass):
|
|
@@ -25,11 +25,15 @@ if FOUND_TF:
|
|
|
25
25
|
from model_compression_toolkit.target_platform_capabilities.tpc_models.imx500_tpc.v1.tpc_keras import get_keras_tpc as get_keras_tpc_v1
|
|
26
26
|
from model_compression_toolkit.target_platform_capabilities.tpc_models.imx500_tpc.v1_lut.tpc_keras import get_keras_tpc as get_keras_tpc_v1_lut
|
|
27
27
|
from model_compression_toolkit.target_platform_capabilities.tpc_models.imx500_tpc.v1_pot.tpc_keras import get_keras_tpc as get_keras_tpc_v1_pot
|
|
28
|
+
from model_compression_toolkit.target_platform_capabilities.tpc_models.imx500_tpc.v2.tpc_keras import get_keras_tpc as get_keras_tpc_v2
|
|
29
|
+
from model_compression_toolkit.target_platform_capabilities.tpc_models.imx500_tpc.v2_lut.tpc_keras import get_keras_tpc as get_keras_tpc_v2_lut
|
|
28
30
|
|
|
29
31
|
# Keras: TPC versioning
|
|
30
32
|
keras_tpc_models_dict = {'v1': get_keras_tpc_v1(),
|
|
31
33
|
'v1_lut': get_keras_tpc_v1_lut(),
|
|
32
34
|
'v1_pot': get_keras_tpc_v1_pot(),
|
|
35
|
+
'v2': get_keras_tpc_v2(),
|
|
36
|
+
'v2_lut': get_keras_tpc_v2_lut(),
|
|
33
37
|
LATEST: get_keras_tpc_latest()}
|
|
34
38
|
|
|
35
39
|
###############################
|
|
@@ -42,13 +46,19 @@ if FOUND_TORCH:
|
|
|
42
46
|
get_pytorch_tpc as get_pytorch_tpc_v1
|
|
43
47
|
from model_compression_toolkit.target_platform_capabilities.tpc_models.imx500_tpc.v1_pot.tpc_pytorch import \
|
|
44
48
|
get_pytorch_tpc as get_pytorch_tpc_v1_pot
|
|
45
|
-
from model_compression_toolkit.target_platform_capabilities.tpc_models.imx500_tpc.v1_lut.tpc_pytorch import
|
|
46
|
-
|
|
49
|
+
from model_compression_toolkit.target_platform_capabilities.tpc_models.imx500_tpc.v1_lut.tpc_pytorch import \
|
|
50
|
+
get_pytorch_tpc as get_pytorch_tpc_v1_lut
|
|
51
|
+
from model_compression_toolkit.target_platform_capabilities.tpc_models.imx500_tpc.v2.tpc_pytorch import \
|
|
52
|
+
get_pytorch_tpc as get_pytorch_tpc_v2
|
|
53
|
+
from model_compression_toolkit.target_platform_capabilities.tpc_models.imx500_tpc.v2_lut.tpc_pytorch import \
|
|
54
|
+
get_pytorch_tpc as get_pytorch_tpc_v2_lut
|
|
47
55
|
|
|
48
56
|
# Pytorch: TPC versioning
|
|
49
57
|
pytorch_tpc_models_dict = {'v1': get_pytorch_tpc_v1(),
|
|
50
58
|
'v1_lut': get_pytorch_tpc_v1_lut(),
|
|
51
59
|
'v1_pot': get_pytorch_tpc_v1_pot(),
|
|
60
|
+
'v2': get_pytorch_tpc_v2(),
|
|
61
|
+
'v2_lut': get_pytorch_tpc_v2_lut(),
|
|
52
62
|
LATEST: get_pytorch_tpc_latest()}
|
|
53
63
|
|
|
54
64
|
tpc_dict = {TENSORFLOW: keras_tpc_models_dict,
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# Copyright 2024 Sony Semiconductor Israel, Inc. All rights reserved.
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
# ==============================================================================
|
|
15
|
+
|
|
16
|
+
__version__ = 'v2'
|