mct-nightly 1.8.0.22032023.post333__py3-none-any.whl → 1.8.0.22052023.post408__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {mct_nightly-1.8.0.22032023.post333.dist-info → mct_nightly-1.8.0.22052023.post408.dist-info}/METADATA +4 -3
- {mct_nightly-1.8.0.22032023.post333.dist-info → mct_nightly-1.8.0.22052023.post408.dist-info}/RECORD +294 -284
- model_compression_toolkit/__init__.py +9 -32
- model_compression_toolkit/{core/common/constants.py → constants.py} +2 -6
- model_compression_toolkit/core/__init__.py +14 -0
- model_compression_toolkit/core/analyzer.py +3 -2
- model_compression_toolkit/core/common/__init__.py +0 -1
- model_compression_toolkit/core/common/collectors/base_collector.py +1 -1
- model_compression_toolkit/core/common/collectors/mean_collector.py +1 -1
- model_compression_toolkit/core/common/collectors/min_max_per_channel_collector.py +1 -1
- model_compression_toolkit/core/common/framework_implementation.py +1 -8
- model_compression_toolkit/core/common/framework_info.py +1 -1
- model_compression_toolkit/core/common/fusion/layer_fusing.py +4 -4
- model_compression_toolkit/core/common/graph/base_graph.py +2 -2
- model_compression_toolkit/core/common/graph/base_node.py +57 -1
- model_compression_toolkit/core/common/graph/memory_graph/bipartite_graph.py +1 -1
- model_compression_toolkit/core/common/graph/memory_graph/max_cut_astar.py +1 -1
- model_compression_toolkit/core/common/graph/virtual_activation_weights_node.py +2 -2
- model_compression_toolkit/core/common/memory_computation.py +1 -1
- model_compression_toolkit/core/common/mixed_precision/bit_width_setter.py +3 -5
- model_compression_toolkit/core/common/mixed_precision/kpi_tools/kpi_data.py +3 -4
- model_compression_toolkit/core/common/mixed_precision/kpi_tools/kpi_methods.py +3 -3
- model_compression_toolkit/core/common/mixed_precision/mixed_precision_quantization_config.py +1 -1
- model_compression_toolkit/core/common/mixed_precision/mixed_precision_search_facade.py +3 -2
- model_compression_toolkit/core/common/mixed_precision/mixed_precision_search_manager.py +1 -1
- model_compression_toolkit/core/common/mixed_precision/search_methods/linear_programming.py +1 -1
- model_compression_toolkit/core/common/mixed_precision/sensitivity_evaluation.py +2 -2
- model_compression_toolkit/core/common/mixed_precision/solution_refinement_procedure.py +2 -2
- model_compression_toolkit/core/common/model_collector.py +2 -2
- model_compression_toolkit/core/common/model_validation.py +1 -1
- model_compression_toolkit/core/common/network_editors/actions.py +4 -1
- model_compression_toolkit/core/common/network_editors/edit_network.py +0 -2
- model_compression_toolkit/core/common/quantization/candidate_node_quantization_config.py +1 -1
- model_compression_toolkit/core/common/quantization/filter_nodes_candidates.py +3 -4
- model_compression_toolkit/core/common/quantization/node_quantization_config.py +3 -3
- model_compression_toolkit/core/common/quantization/quantization_config.py +2 -2
- model_compression_toolkit/core/common/quantization/quantization_fn_selection.py +1 -1
- model_compression_toolkit/core/common/quantization/quantization_params_fn_selection.py +2 -2
- model_compression_toolkit/core/common/quantization/quantization_params_generation/error_functions.py +3 -2
- model_compression_toolkit/core/common/quantization/quantization_params_generation/kmeans_params.py +1 -1
- model_compression_toolkit/core/common/quantization/quantization_params_generation/lut_kmeans_params.py +2 -2
- model_compression_toolkit/core/common/quantization/quantization_params_generation/power_of_two_selection.py +2 -2
- model_compression_toolkit/core/common/quantization/quantization_params_generation/qparams_activations_computation.py +3 -3
- model_compression_toolkit/core/common/quantization/quantization_params_generation/qparams_computation.py +1 -1
- model_compression_toolkit/core/common/quantization/quantization_params_generation/qparams_search.py +1 -1
- model_compression_toolkit/core/common/quantization/quantization_params_generation/qparams_weights_computation.py +1 -1
- model_compression_toolkit/core/common/quantization/quantization_params_generation/symmetric_selection.py +2 -2
- model_compression_toolkit/core/common/quantization/quantization_params_generation/uniform_selection.py +2 -2
- model_compression_toolkit/core/common/quantization/quantize_graph_weights.py +4 -4
- model_compression_toolkit/core/common/quantization/quantize_node.py +2 -2
- model_compression_toolkit/core/common/quantization/quantizers/kmeans_quantizer.py +1 -1
- model_compression_toolkit/core/common/quantization/quantizers/lut_kmeans_quantizer.py +1 -1
- model_compression_toolkit/core/common/quantization/quantizers/quantizers_helpers.py +4 -2
- model_compression_toolkit/core/common/quantization/quantizers/uniform_quantizers.py +2 -2
- model_compression_toolkit/core/common/quantization/set_node_quantization_config.py +7 -7
- model_compression_toolkit/core/common/similarity_analyzer.py +2 -2
- model_compression_toolkit/core/common/statistics_correction/apply_bias_correction_to_graph.py +1 -1
- model_compression_toolkit/core/common/statistics_correction/apply_second_moment_correction_to_graph.py +2 -4
- model_compression_toolkit/core/common/statistics_correction/compute_bias_correction_of_graph.py +5 -5
- model_compression_toolkit/core/common/substitutions/apply_substitutions.py +2 -5
- model_compression_toolkit/core/common/substitutions/batchnorm_reconstruction.py +2 -2
- model_compression_toolkit/core/common/substitutions/batchnorm_refusing.py +3 -3
- model_compression_toolkit/core/common/substitutions/linear_collapsing.py +1 -1
- model_compression_toolkit/core/common/substitutions/linear_collapsing_substitution.py +0 -3
- model_compression_toolkit/core/common/substitutions/shift_negative_activation.py +5 -5
- model_compression_toolkit/core/common/substitutions/virtual_activation_weights_composition.py +1 -1
- model_compression_toolkit/core/common/substitutions/weights_activation_split.py +1 -1
- model_compression_toolkit/core/common/visualization/tensorboard_writer.py +1 -1
- model_compression_toolkit/core/keras/back2framework/factory_model_builder.py +1 -1
- model_compression_toolkit/core/keras/back2framework/float_model_builder.py +1 -1
- model_compression_toolkit/core/keras/back2framework/keras_model_builder.py +66 -21
- model_compression_toolkit/core/keras/back2framework/mixed_precision_model_builder.py +1 -1
- model_compression_toolkit/core/keras/back2framework/model_gradients.py +5 -4
- model_compression_toolkit/core/keras/back2framework/quantized_model_builder.py +1 -1
- model_compression_toolkit/core/keras/constants.py +0 -7
- model_compression_toolkit/core/keras/default_framework_info.py +3 -3
- model_compression_toolkit/core/keras/graph_substitutions/substitutions/activation_decomposition.py +1 -1
- model_compression_toolkit/core/keras/graph_substitutions/substitutions/input_scaling.py +1 -1
- model_compression_toolkit/core/keras/graph_substitutions/substitutions/linear_collapsing.py +1 -1
- model_compression_toolkit/core/keras/graph_substitutions/substitutions/multi_head_attention_decomposition.py +3 -4
- model_compression_toolkit/core/keras/graph_substitutions/substitutions/relu_bound_to_power_of_2.py +2 -1
- model_compression_toolkit/core/keras/graph_substitutions/substitutions/remove_relu_upper_bound.py +3 -2
- model_compression_toolkit/core/keras/graph_substitutions/substitutions/residual_collapsing.py +1 -1
- model_compression_toolkit/core/keras/graph_substitutions/substitutions/shift_negative_activation.py +1 -1
- model_compression_toolkit/core/keras/keras_implementation.py +2 -10
- model_compression_toolkit/core/keras/keras_model_validation.py +1 -1
- model_compression_toolkit/core/keras/keras_node_prior_info.py +1 -1
- model_compression_toolkit/core/keras/kpi_data_facade.py +10 -10
- model_compression_toolkit/core/keras/quantizer/fake_quant_builder.py +2 -2
- model_compression_toolkit/core/keras/quantizer/input_layer_quantize_transform.py +1 -1
- model_compression_toolkit/core/keras/quantizer/lut_fake_quant.py +2 -2
- model_compression_toolkit/core/keras/quantizer/mixed_precision/selective_quantize_config.py +1 -1
- model_compression_toolkit/core/keras/reader/common.py +1 -1
- model_compression_toolkit/core/keras/statistics_correction/apply_second_moment_correction.py +1 -1
- model_compression_toolkit/core/pytorch/back2framework/factory_model_builder.py +1 -1
- model_compression_toolkit/core/pytorch/back2framework/float_model_builder.py +1 -1
- model_compression_toolkit/core/pytorch/back2framework/mixed_precision_model_builder.py +1 -1
- model_compression_toolkit/core/pytorch/back2framework/model_gradients.py +15 -8
- model_compression_toolkit/core/pytorch/back2framework/pytorch_model_builder.py +1 -1
- model_compression_toolkit/core/pytorch/back2framework/quantized_model_builder.py +1 -1
- model_compression_toolkit/core/pytorch/constants.py +0 -6
- model_compression_toolkit/core/pytorch/default_framework_info.py +2 -2
- model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/linear_collapsing.py +1 -1
- model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/multi_head_attention_decomposition.py +1 -1
- model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/relu_bound_to_power_of_2.py +3 -2
- model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/reshape_with_static_shapes.py +1 -1
- model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/residual_collapsing.py +1 -1
- model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/shift_negative_activation.py +1 -1
- model_compression_toolkit/core/pytorch/kpi_data_facade.py +9 -9
- model_compression_toolkit/core/pytorch/mixed_precision/mixed_precision_wrapper.py +1 -1
- model_compression_toolkit/core/pytorch/pytorch_implementation.py +6 -12
- model_compression_toolkit/core/pytorch/pytorch_node_prior_info.py +1 -1
- model_compression_toolkit/core/pytorch/quantizer/fake_quant_builder.py +2 -2
- model_compression_toolkit/core/pytorch/quantizer/lut_fake_quant.py +1 -1
- model_compression_toolkit/core/pytorch/reader/graph_builders.py +4 -2
- model_compression_toolkit/core/pytorch/statistics_correction/apply_second_moment_correction.py +1 -1
- model_compression_toolkit/core/runner.py +7 -7
- model_compression_toolkit/exporter/__init__.py +6 -3
- model_compression_toolkit/exporter/model_exporter/fw_agonstic/exporter.py +1 -1
- model_compression_toolkit/exporter/model_exporter/keras/export_serialization_format.py +20 -0
- model_compression_toolkit/exporter/model_exporter/keras/fakely_quant_keras_exporter.py +1 -1
- model_compression_toolkit/exporter/model_exporter/{tflite → keras}/fakely_quant_tflite_exporter.py +1 -1
- model_compression_toolkit/exporter/model_exporter/{tflite → keras}/int8_tflite_exporter.py +1 -1
- model_compression_toolkit/exporter/model_exporter/keras/keras_export_facade.py +60 -22
- model_compression_toolkit/exporter/model_exporter/pytorch/export_serialization_format.py +20 -0
- model_compression_toolkit/exporter/model_exporter/pytorch/fakely_quant_onnx_pytorch_exporter.py +15 -1
- model_compression_toolkit/exporter/model_exporter/pytorch/fakely_quant_torchscript_pytorch_exporter.py +1 -1
- model_compression_toolkit/exporter/model_exporter/pytorch/pytorch_export_facade.py +54 -31
- model_compression_toolkit/exporter/model_wrapper/keras/builder/fully_quantized_model_builder.py +5 -3
- model_compression_toolkit/exporter/model_wrapper/keras/builder/node_to_quantizer.py +5 -3
- model_compression_toolkit/exporter/model_wrapper/keras/validate_layer.py +2 -2
- model_compression_toolkit/exporter/model_wrapper/pytorch/builder/fully_quantized_model_builder.py +3 -2
- model_compression_toolkit/exporter/model_wrapper/pytorch/builder/node_to_quantizer.py +4 -3
- model_compression_toolkit/exporter/model_wrapper/pytorch/validate_layer.py +2 -2
- model_compression_toolkit/gptq/common/gptq_config.py +2 -4
- model_compression_toolkit/gptq/common/gptq_framework_implementation.py +32 -0
- model_compression_toolkit/gptq/common/gptq_graph.py +2 -2
- model_compression_toolkit/gptq/common/gptq_training.py +5 -4
- model_compression_toolkit/gptq/keras/gptq_keras_implementation.py +29 -0
- model_compression_toolkit/gptq/keras/gptq_training.py +41 -14
- model_compression_toolkit/gptq/keras/graph_info.py +4 -0
- model_compression_toolkit/gptq/keras/quantization_facade.py +27 -20
- model_compression_toolkit/gptq/keras/quantizer/__init__.py +1 -0
- model_compression_toolkit/gptq/keras/quantizer/base_keras_gptq_quantizer.py +2 -2
- model_compression_toolkit/gptq/keras/quantizer/quant_utils.py +18 -1
- model_compression_toolkit/gptq/keras/quantizer/soft_rounding/soft_quantizer_reg.py +3 -5
- model_compression_toolkit/gptq/keras/quantizer/soft_rounding/symmetric_soft_quantizer.py +21 -16
- model_compression_toolkit/gptq/keras/quantizer/soft_rounding/uniform_soft_quantizer.py +224 -0
- model_compression_toolkit/gptq/keras/quantizer/ste_rounding/symmetric_ste.py +2 -2
- model_compression_toolkit/gptq/pytorch/gptq_pytorch_implementation.py +29 -0
- model_compression_toolkit/gptq/pytorch/gptq_training.py +1 -1
- model_compression_toolkit/gptq/pytorch/quantization_facade.py +13 -13
- model_compression_toolkit/gptq/pytorch/quantizer/__init__.py +1 -0
- model_compression_toolkit/gptq/pytorch/quantizer/base_pytorch_gptq_quantizer.py +3 -3
- model_compression_toolkit/gptq/pytorch/quantizer/quant_utils.py +18 -4
- model_compression_toolkit/gptq/pytorch/quantizer/soft_rounding/soft_quantizer_reg.py +1 -2
- model_compression_toolkit/gptq/pytorch/quantizer/soft_rounding/symmetric_soft_quantizer.py +13 -5
- model_compression_toolkit/gptq/pytorch/quantizer/soft_rounding/uniform_soft_quantizer.py +194 -0
- model_compression_toolkit/gptq/pytorch/quantizer/ste_rounding/symmetric_ste.py +2 -2
- model_compression_toolkit/gptq/runner.py +3 -2
- model_compression_toolkit/{core/keras/quantization_facade.py → legacy/keras_quantization_facade.py} +11 -12
- model_compression_toolkit/{core/pytorch/quantization_facade.py → legacy/pytorch_quantization_facade.py} +11 -12
- model_compression_toolkit/ptq/__init__.py +3 -0
- model_compression_toolkit/ptq/keras/quantization_facade.py +11 -12
- model_compression_toolkit/ptq/pytorch/quantization_facade.py +8 -8
- model_compression_toolkit/qat/__init__.py +4 -0
- model_compression_toolkit/qat/common/__init__.py +1 -2
- model_compression_toolkit/qat/common/qat_config.py +5 -1
- model_compression_toolkit/qat/keras/quantization_facade.py +34 -28
- model_compression_toolkit/qat/keras/quantizer/base_keras_qat_quantizer.py +2 -2
- model_compression_toolkit/qat/keras/quantizer/quantization_builder.py +31 -4
- model_compression_toolkit/qat/keras/quantizer/ste_rounding/symmetric_ste.py +13 -11
- model_compression_toolkit/qat/keras/quantizer/ste_rounding/uniform_ste.py +9 -9
- model_compression_toolkit/qat/pytorch/quantization_facade.py +9 -9
- model_compression_toolkit/qat/pytorch/quantizer/base_pytorch_qat_quantizer.py +2 -2
- model_compression_toolkit/qat/pytorch/quantizer/ste_rounding/symmetric_ste.py +4 -3
- model_compression_toolkit/qat/pytorch/quantizer/ste_rounding/uniform_ste.py +7 -5
- model_compression_toolkit/quantizers_infrastructure/__init__.py +2 -2
- model_compression_toolkit/{qat/common → quantizers_infrastructure}/constants.py +2 -1
- model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/common/base_inferable_quantizer.py +1 -1
- model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/common/constants.py +5 -0
- model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/common/get_quantizers.py +2 -2
- model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/keras/activation_quantization_holder.py +147 -0
- model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/keras/load_model.py +5 -5
- model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/keras/quantize_wrapper.py +2 -2
- model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/keras/quantizers/activation_inferable_quantizers/activation_lut_pot_inferable_quantizer.py +3 -3
- model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/keras/quantizers/activation_inferable_quantizers/activation_pot_inferable_quantizer.py +3 -3
- model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/keras/quantizers/activation_inferable_quantizers/activation_symmetric_inferable_quantizer.py +2 -2
- model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/keras/quantizers/activation_inferable_quantizers/activation_uniform_inferable_quantizer.py +3 -3
- model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/keras/quantizers/base_keras_inferable_quantizer.py +1 -1
- model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/keras/quantizers/weights_inferable_quantizers/weights_lut_pot_inferable_quantizer.py +2 -2
- model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/keras/quantizers/weights_inferable_quantizers/weights_lut_symmetric_inferable_quantizer.py +2 -2
- model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/keras/quantizers/weights_inferable_quantizers/weights_pot_inferable_quantizer.py +2 -2
- model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/keras/quantizers/weights_inferable_quantizers/weights_symmetric_inferable_quantizer.py +2 -2
- model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/keras/quantizers/weights_inferable_quantizers/weights_uniform_inferable_quantizer.py +2 -2
- model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/keras/validation_functions.py +1 -1
- model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/pytorch/quantize_wrapper.py +3 -5
- model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/pytorch/quantizers/activation_inferable_quantizers/activation_lut_pot_inferable_quantizer.py +2 -3
- model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/pytorch/quantizers/activation_inferable_quantizers/activation_pot_inferable_quantizer.py +2 -2
- model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/pytorch/quantizers/activation_inferable_quantizers/activation_symmetric_inferable_quantizer.py +2 -2
- model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/pytorch/quantizers/activation_inferable_quantizers/activation_uniform_inferable_quantizer.py +2 -2
- model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/pytorch/quantizers/base_lut_symmetric_inferable_quantizer.py +2 -2
- model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/pytorch/quantizers/base_pytorch_inferable_quantizer.py +1 -1
- model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/pytorch/quantizers/base_symmetric_inferable_quantizer.py +2 -2
- model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/pytorch/quantizers/base_uniform_inferable_quantizer.py +2 -2
- model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/pytorch/quantizers/weights_inferable_quantizers/weights_lut_pot_inferable_quantizer.py +2 -2
- model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/pytorch/quantizers/weights_inferable_quantizers/weights_lut_symmetric_inferable_quantizer.py +2 -2
- model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/pytorch/quantizers/weights_inferable_quantizers/weights_pot_inferable_quantizer.py +2 -2
- model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/pytorch/quantizers/weights_inferable_quantizers/weights_symmetric_inferable_quantizer.py +2 -2
- model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/pytorch/quantizers/weights_inferable_quantizers/weights_uniform_inferable_quantizer.py +3 -3
- model_compression_toolkit/quantizers_infrastructure/trainable_infrastructure/common/base_trainable_quantizer.py +9 -9
- model_compression_toolkit/quantizers_infrastructure/trainable_infrastructure/common/get_quantizer_config.py +2 -1
- model_compression_toolkit/quantizers_infrastructure/trainable_infrastructure/common/get_quantizers.py +4 -6
- model_compression_toolkit/quantizers_infrastructure/trainable_infrastructure/common/trainable_quantizer_config.py +1 -1
- model_compression_toolkit/quantizers_infrastructure/trainable_infrastructure/keras/base_keras_quantizer.py +2 -2
- model_compression_toolkit/quantizers_infrastructure/trainable_infrastructure/keras/config_serialization.py +1 -1
- model_compression_toolkit/quantizers_infrastructure/trainable_infrastructure/pytorch/base_pytorch_quantizer.py +2 -2
- model_compression_toolkit/target_platform_capabilities/constants.py +27 -0
- model_compression_toolkit/{core/common → target_platform_capabilities}/target_platform/__init__.py +5 -5
- model_compression_toolkit/{core/common → target_platform_capabilities}/target_platform/current_tp_model.py +1 -1
- model_compression_toolkit/{core/common → target_platform_capabilities}/target_platform/fusing.py +2 -2
- model_compression_toolkit/{core/common → target_platform_capabilities}/target_platform/operators.py +4 -4
- model_compression_toolkit/target_platform_capabilities/target_platform/quantization_format.py +20 -0
- model_compression_toolkit/{core/common → target_platform_capabilities}/target_platform/target_platform_model.py +16 -7
- model_compression_toolkit/{core/common → target_platform_capabilities}/target_platform/target_platform_model_component.py +1 -1
- model_compression_toolkit/{core/common → target_platform_capabilities}/target_platform/targetplatform2framework/__init__.py +5 -5
- model_compression_toolkit/{core/common → target_platform_capabilities}/target_platform/targetplatform2framework/attribute_filter.py +1 -1
- model_compression_toolkit/{core/common → target_platform_capabilities}/target_platform/targetplatform2framework/layer_filter_params.py +33 -35
- model_compression_toolkit/{core/common → target_platform_capabilities}/target_platform/targetplatform2framework/operations_to_layers.py +4 -4
- model_compression_toolkit/{core/common → target_platform_capabilities}/target_platform/targetplatform2framework/target_platform_capabilities.py +9 -30
- model_compression_toolkit/{core/common → target_platform_capabilities}/target_platform/targetplatform2framework/target_platform_capabilities_component.py +1 -1
- model_compression_toolkit/target_platform_capabilities/tpc_models/__init__.py +0 -0
- model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/latest/__init__.py +25 -0
- model_compression_toolkit/{core → target_platform_capabilities}/tpc_models/default_tpc/target_platform_capabilities.py +19 -17
- model_compression_toolkit/{core → target_platform_capabilities}/tpc_models/default_tpc/v1/tp_model.py +7 -1
- model_compression_toolkit/{core → target_platform_capabilities}/tpc_models/default_tpc/v1/tpc_keras.py +2 -2
- model_compression_toolkit/{core → target_platform_capabilities}/tpc_models/default_tpc/v1/tpc_pytorch.py +2 -2
- model_compression_toolkit/{core → target_platform_capabilities}/tpc_models/default_tpc/v2/tp_model.py +7 -1
- model_compression_toolkit/{core → target_platform_capabilities}/tpc_models/default_tpc/v2/tpc_keras.py +2 -2
- model_compression_toolkit/{core → target_platform_capabilities}/tpc_models/default_tpc/v2/tpc_pytorch.py +2 -2
- model_compression_toolkit/{core → target_platform_capabilities}/tpc_models/default_tpc/v3/tp_model.py +7 -1
- model_compression_toolkit/{core → target_platform_capabilities}/tpc_models/default_tpc/v3/tpc_keras.py +2 -2
- model_compression_toolkit/{core → target_platform_capabilities}/tpc_models/default_tpc/v3/tpc_pytorch.py +2 -2
- model_compression_toolkit/{core/tpc_models/default_tpc/v4_lut → target_platform_capabilities/tpc_models/default_tpc/v3_lut}/tp_model.py +7 -2
- model_compression_toolkit/{core → target_platform_capabilities}/tpc_models/default_tpc/v3_lut/tpc_keras.py +2 -2
- model_compression_toolkit/{core → target_platform_capabilities}/tpc_models/default_tpc/v3_lut/tpc_pytorch.py +2 -2
- model_compression_toolkit/{core → target_platform_capabilities}/tpc_models/default_tpc/v4/tp_model.py +7 -1
- model_compression_toolkit/{core/tpc_models/default_tpc/v5 → target_platform_capabilities/tpc_models/default_tpc/v4}/tpc_keras.py +2 -3
- model_compression_toolkit/{core → target_platform_capabilities}/tpc_models/default_tpc/v4/tpc_pytorch.py +2 -2
- model_compression_toolkit/{core/tpc_models/default_tpc/v3_lut → target_platform_capabilities/tpc_models/default_tpc/v4_lut}/tp_model.py +7 -2
- model_compression_toolkit/{core → target_platform_capabilities}/tpc_models/default_tpc/v4_lut/tpc_keras.py +2 -2
- model_compression_toolkit/{core → target_platform_capabilities}/tpc_models/default_tpc/v4_lut/tpc_pytorch.py +2 -2
- model_compression_toolkit/{core → target_platform_capabilities}/tpc_models/default_tpc/v5/tp_model.py +7 -1
- model_compression_toolkit/{core/tpc_models/default_tpc/v4 → target_platform_capabilities/tpc_models/default_tpc/v5}/tpc_keras.py +2 -2
- model_compression_toolkit/{core → target_platform_capabilities}/tpc_models/default_tpc/v5/tpc_pytorch.py +2 -2
- model_compression_toolkit/{core → target_platform_capabilities}/tpc_models/get_target_platform_capabilities.py +6 -8
- model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/__init__.py +14 -0
- model_compression_toolkit/{core → target_platform_capabilities}/tpc_models/imx500_tpc/latest/__init__.py +6 -6
- model_compression_toolkit/{core → target_platform_capabilities}/tpc_models/imx500_tpc/target_platform_capabilities.py +6 -5
- model_compression_toolkit/{core → target_platform_capabilities}/tpc_models/imx500_tpc/v1/tp_model.py +7 -1
- model_compression_toolkit/{core → target_platform_capabilities}/tpc_models/imx500_tpc/v1/tpc_keras.py +2 -2
- model_compression_toolkit/{core → target_platform_capabilities}/tpc_models/imx500_tpc/v1/tpc_pytorch.py +2 -2
- model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/latest/__init__.py +22 -0
- model_compression_toolkit/{core → target_platform_capabilities}/tpc_models/qnnpack_tpc/target_platform_capabilities.py +6 -5
- model_compression_toolkit/{core → target_platform_capabilities}/tpc_models/qnnpack_tpc/v1/tp_model.py +7 -1
- model_compression_toolkit/{core → target_platform_capabilities}/tpc_models/qnnpack_tpc/v1/tpc_keras.py +2 -2
- model_compression_toolkit/{core → target_platform_capabilities}/tpc_models/qnnpack_tpc/v1/tpc_pytorch.py +2 -2
- model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/latest/__init__.py +22 -0
- model_compression_toolkit/{core → target_platform_capabilities}/tpc_models/tflite_tpc/target_platform_capabilities.py +6 -5
- model_compression_toolkit/{core → target_platform_capabilities}/tpc_models/tflite_tpc/v1/tp_model.py +26 -18
- model_compression_toolkit/{core → target_platform_capabilities}/tpc_models/tflite_tpc/v1/tpc_keras.py +3 -3
- model_compression_toolkit/{core → target_platform_capabilities}/tpc_models/tflite_tpc/v1/tpc_pytorch.py +3 -3
- model_compression_toolkit/core/tpc_models/default_tpc/latest/__init__.py +0 -25
- model_compression_toolkit/core/tpc_models/qnnpack_tpc/latest/__init__.py +0 -22
- model_compression_toolkit/core/tpc_models/tflite_tpc/latest/__init__.py +0 -22
- model_compression_toolkit/exporter/model_exporter/tflite/__init__.py +0 -14
- model_compression_toolkit/exporter/model_exporter/tflite/tflite_export_facade.py +0 -73
- {mct_nightly-1.8.0.22032023.post333.dist-info → mct_nightly-1.8.0.22052023.post408.dist-info}/LICENSE.md +0 -0
- {mct_nightly-1.8.0.22032023.post333.dist-info → mct_nightly-1.8.0.22052023.post408.dist-info}/WHEEL +0 -0
- {mct_nightly-1.8.0.22032023.post333.dist-info → mct_nightly-1.8.0.22052023.post408.dist-info}/top_level.txt +0 -0
- /model_compression_toolkit/{core/tpc_models/imx500_tpc → legacy}/__init__.py +0 -0
- /model_compression_toolkit/{core/common/logger.py → logger.py} +0 -0
- /model_compression_toolkit/{core/tpc_models → target_platform_capabilities}/__init__.py +0 -0
- /model_compression_toolkit/{core/common → target_platform_capabilities}/immutable.py +0 -0
- /model_compression_toolkit/{core/common → target_platform_capabilities}/target_platform/op_quantization_config.py +0 -0
- /model_compression_toolkit/{core/common → target_platform_capabilities}/target_platform/targetplatform2framework/current_tpc.py +0 -0
- /model_compression_toolkit/{core → target_platform_capabilities}/tpc_models/default_tpc/__init__.py +0 -0
- /model_compression_toolkit/{core → target_platform_capabilities}/tpc_models/default_tpc/v1/__init__.py +0 -0
- /model_compression_toolkit/{core → target_platform_capabilities}/tpc_models/default_tpc/v2/__init__.py +0 -0
- /model_compression_toolkit/{core → target_platform_capabilities}/tpc_models/default_tpc/v3/__init__.py +0 -0
- /model_compression_toolkit/{core → target_platform_capabilities}/tpc_models/default_tpc/v3_lut/__init__.py +0 -0
- /model_compression_toolkit/{core → target_platform_capabilities}/tpc_models/default_tpc/v4/__init__.py +0 -0
- /model_compression_toolkit/{core → target_platform_capabilities}/tpc_models/default_tpc/v4_lut/__init__.py +0 -0
- /model_compression_toolkit/{core → target_platform_capabilities}/tpc_models/default_tpc/v5/__init__.py +0 -0
- /model_compression_toolkit/{core → target_platform_capabilities}/tpc_models/imx500_tpc/v1/__init__.py +0 -0
- /model_compression_toolkit/{core → target_platform_capabilities}/tpc_models/qnnpack_tpc/__init__.py +0 -0
- /model_compression_toolkit/{core → target_platform_capabilities}/tpc_models/qnnpack_tpc/v1/__init__.py +0 -0
- /model_compression_toolkit/{core → target_platform_capabilities}/tpc_models/tflite_tpc/__init__.py +0 -0
- /model_compression_toolkit/{core → target_platform_capabilities}/tpc_models/tflite_tpc/v1/__init__.py +0 -0
|
@@ -22,9 +22,9 @@ from torch.nn import Dropout, Flatten, Hardtanh
|
|
|
22
22
|
from torch.nn import ReLU, ReLU6, PReLU, SiLU, Sigmoid, Tanh, Hardswish
|
|
23
23
|
from torch.nn.functional import relu, relu6, prelu, silu, hardtanh, hardswish
|
|
24
24
|
|
|
25
|
-
from model_compression_toolkit.
|
|
25
|
+
from model_compression_toolkit.target_platform_capabilities.tpc_models.default_tpc.v3.tp_model import get_tp_model
|
|
26
26
|
import model_compression_toolkit as mct
|
|
27
|
-
from model_compression_toolkit.
|
|
27
|
+
from model_compression_toolkit.target_platform_capabilities.tpc_models.default_tpc.v3 import __version__ as TPC_VERSION
|
|
28
28
|
|
|
29
29
|
tp = mct.target_platform
|
|
30
30
|
|
|
@@ -15,8 +15,10 @@
|
|
|
15
15
|
from typing import List, Tuple
|
|
16
16
|
|
|
17
17
|
import model_compression_toolkit as mct
|
|
18
|
-
from model_compression_toolkit.
|
|
19
|
-
QuantizationMethod
|
|
18
|
+
from model_compression_toolkit.target_platform_capabilities.target_platform import OpQuantizationConfig, \
|
|
19
|
+
TargetPlatformModel, QuantizationMethod
|
|
20
|
+
from model_compression_toolkit.target_platform_capabilities.target_platform.quantization_format import \
|
|
21
|
+
QuantizationFormat
|
|
20
22
|
|
|
21
23
|
tp = mct.target_platform
|
|
22
24
|
|
|
@@ -115,6 +117,9 @@ def generate_tp_model(default_config: OpQuantizationConfig,
|
|
|
115
117
|
# be used for operations that will be attached to this set's label.
|
|
116
118
|
# Otherwise, it will be a configure-less set (used in fusing):
|
|
117
119
|
|
|
120
|
+
# Set quantization format to fakely quant
|
|
121
|
+
generated_tpc.set_quantization_format(QuantizationFormat.FAKELY_QUANT)
|
|
122
|
+
|
|
118
123
|
# May suit for operations like: Dropout, Reshape, etc.
|
|
119
124
|
tp.OperatorsSet("NoQuantization",
|
|
120
125
|
tp.get_default_quantization_config_options().clone_and_edit(
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
# ==============================================================================
|
|
15
15
|
import tensorflow as tf
|
|
16
16
|
from packaging import version
|
|
17
|
-
from model_compression_toolkit.
|
|
17
|
+
from model_compression_toolkit.target_platform_capabilities.tpc_models.default_tpc.v3_lut import __version__ as TPC_VERSION
|
|
18
18
|
|
|
19
19
|
if version.parse(tf.__version__) < version.parse("2.6"):
|
|
20
20
|
from tensorflow.keras.layers import Conv2D, DepthwiseConv2D, Dense, Reshape, ZeroPadding2D, \
|
|
@@ -24,7 +24,7 @@ else:
|
|
|
24
24
|
from keras.layers import Conv2D, DepthwiseConv2D, Dense, Reshape, ZeroPadding2D, \
|
|
25
25
|
Dropout, MaxPooling2D, Activation, ReLU, Add, Subtract, Multiply, PReLU, Flatten, Cropping2D
|
|
26
26
|
|
|
27
|
-
from model_compression_toolkit.
|
|
27
|
+
from model_compression_toolkit.target_platform_capabilities.tpc_models.default_tpc.v3_lut.tp_model import get_tp_model
|
|
28
28
|
import model_compression_toolkit as mct
|
|
29
29
|
|
|
30
30
|
tp = mct.target_platform
|
|
@@ -22,9 +22,9 @@ from torch.nn import Dropout, Flatten, Hardtanh
|
|
|
22
22
|
from torch.nn import ReLU, ReLU6, PReLU, SiLU, Sigmoid, Tanh, Hardswish
|
|
23
23
|
from torch.nn.functional import relu, relu6, prelu, silu, hardtanh, hardswish
|
|
24
24
|
|
|
25
|
-
from model_compression_toolkit.
|
|
25
|
+
from model_compression_toolkit.target_platform_capabilities.tpc_models.default_tpc.v3_lut.tp_model import get_tp_model
|
|
26
26
|
import model_compression_toolkit as mct
|
|
27
|
-
from model_compression_toolkit.
|
|
27
|
+
from model_compression_toolkit.target_platform_capabilities.tpc_models.default_tpc.v3_lut import __version__ as TPC_VERSION
|
|
28
28
|
|
|
29
29
|
tp = mct.target_platform
|
|
30
30
|
|
|
@@ -15,7 +15,10 @@
|
|
|
15
15
|
from typing import List, Tuple
|
|
16
16
|
|
|
17
17
|
import model_compression_toolkit as mct
|
|
18
|
-
from model_compression_toolkit.
|
|
18
|
+
from model_compression_toolkit.target_platform_capabilities.target_platform import OpQuantizationConfig, \
|
|
19
|
+
TargetPlatformModel
|
|
20
|
+
from model_compression_toolkit.target_platform_capabilities.target_platform.quantization_format import \
|
|
21
|
+
QuantizationFormat
|
|
19
22
|
|
|
20
23
|
tp = mct.target_platform
|
|
21
24
|
|
|
@@ -113,6 +116,9 @@ def generate_tp_model(default_config: OpQuantizationConfig,
|
|
|
113
116
|
# be used for operations that will be attached to this set's label.
|
|
114
117
|
# Otherwise, it will be a configure-less set (used in fusing):
|
|
115
118
|
|
|
119
|
+
# Set quantization format to fakely quant
|
|
120
|
+
generated_tpc.set_quantization_format(QuantizationFormat.FAKELY_QUANT)
|
|
121
|
+
|
|
116
122
|
# May suit for operations like: Dropout, Reshape, etc.
|
|
117
123
|
tp.OperatorsSet("NoQuantization",
|
|
118
124
|
tp.get_default_quantization_config_options().clone_and_edit(
|
|
@@ -24,14 +24,13 @@ else:
|
|
|
24
24
|
MaxPooling2D, Activation, ReLU, Add, Subtract, Multiply, PReLU, Flatten, Cropping2D, LeakyReLU, Permute, \
|
|
25
25
|
Conv2DTranspose
|
|
26
26
|
|
|
27
|
-
from model_compression_toolkit.
|
|
27
|
+
from model_compression_toolkit.target_platform_capabilities.tpc_models.default_tpc.v4.tp_model import get_tp_model
|
|
28
28
|
import model_compression_toolkit as mct
|
|
29
|
-
from model_compression_toolkit.
|
|
29
|
+
from model_compression_toolkit.target_platform_capabilities.tpc_models.default_tpc.v4 import __version__ as TPC_VERSION
|
|
30
30
|
|
|
31
31
|
tp = mct.target_platform
|
|
32
32
|
|
|
33
33
|
|
|
34
|
-
|
|
35
34
|
def get_keras_tpc() -> tp.TargetPlatformCapabilities:
|
|
36
35
|
"""
|
|
37
36
|
get a Keras TargetPlatformCapabilities object with default operation sets to layers mapping.
|
|
@@ -23,9 +23,9 @@ from torch.nn import Dropout, Flatten, Hardtanh
|
|
|
23
23
|
from torch.nn import ReLU, ReLU6, PReLU, SiLU, Sigmoid, Tanh, Hardswish, LeakyReLU
|
|
24
24
|
from torch.nn.functional import relu, relu6, prelu, silu, hardtanh, hardswish, leaky_relu
|
|
25
25
|
|
|
26
|
-
from model_compression_toolkit.
|
|
26
|
+
from model_compression_toolkit.target_platform_capabilities.tpc_models.default_tpc.v3.tp_model import get_tp_model
|
|
27
27
|
import model_compression_toolkit as mct
|
|
28
|
-
from model_compression_toolkit.
|
|
28
|
+
from model_compression_toolkit.target_platform_capabilities.tpc_models.default_tpc.v4 import __version__ as TPC_VERSION
|
|
29
29
|
|
|
30
30
|
tp = mct.target_platform
|
|
31
31
|
|
|
@@ -15,8 +15,10 @@
|
|
|
15
15
|
from typing import List, Tuple
|
|
16
16
|
|
|
17
17
|
import model_compression_toolkit as mct
|
|
18
|
-
from model_compression_toolkit.
|
|
19
|
-
QuantizationMethod
|
|
18
|
+
from model_compression_toolkit.target_platform_capabilities.target_platform import OpQuantizationConfig, \
|
|
19
|
+
TargetPlatformModel, QuantizationMethod
|
|
20
|
+
from model_compression_toolkit.target_platform_capabilities.target_platform.quantization_format import \
|
|
21
|
+
QuantizationFormat
|
|
20
22
|
|
|
21
23
|
tp = mct.target_platform
|
|
22
24
|
|
|
@@ -115,6 +117,9 @@ def generate_tp_model(default_config: OpQuantizationConfig,
|
|
|
115
117
|
# be used for operations that will be attached to this set's label.
|
|
116
118
|
# Otherwise, it will be a configure-less set (used in fusing):
|
|
117
119
|
|
|
120
|
+
# Set quantization format to fakely quant
|
|
121
|
+
generated_tpc.set_quantization_format(QuantizationFormat.FAKELY_QUANT)
|
|
122
|
+
|
|
118
123
|
# May suit for operations like: Dropout, Reshape, etc.
|
|
119
124
|
tp.OperatorsSet("NoQuantization",
|
|
120
125
|
tp.get_default_quantization_config_options().clone_and_edit(
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
# ==============================================================================
|
|
15
15
|
import tensorflow as tf
|
|
16
16
|
from packaging import version
|
|
17
|
-
from model_compression_toolkit.
|
|
17
|
+
from model_compression_toolkit.target_platform_capabilities.tpc_models.default_tpc.v4_lut import __version__ as TPC_VERSION
|
|
18
18
|
|
|
19
19
|
if version.parse(tf.__version__) < version.parse("2.6"):
|
|
20
20
|
from tensorflow.keras.layers import Conv2D, DepthwiseConv2D, Dense, Reshape, ZeroPadding2D, Dropout, \
|
|
@@ -25,7 +25,7 @@ else:
|
|
|
25
25
|
MaxPooling2D, Activation, ReLU, Add, Subtract, Multiply, PReLU, Flatten, Cropping2D, LeakyReLU, Permute, \
|
|
26
26
|
Conv2DTranspose
|
|
27
27
|
|
|
28
|
-
from model_compression_toolkit.
|
|
28
|
+
from model_compression_toolkit.target_platform_capabilities.tpc_models.default_tpc.v4_lut.tp_model import get_tp_model
|
|
29
29
|
import model_compression_toolkit as mct
|
|
30
30
|
|
|
31
31
|
tp = mct.target_platform
|
|
@@ -23,9 +23,9 @@ from torch.nn import Dropout, Flatten, Hardtanh
|
|
|
23
23
|
from torch.nn import ReLU, ReLU6, PReLU, SiLU, Sigmoid, Tanh, Hardswish, LeakyReLU
|
|
24
24
|
from torch.nn.functional import relu, relu6, prelu, silu, hardtanh, hardswish, leaky_relu
|
|
25
25
|
|
|
26
|
-
from model_compression_toolkit.
|
|
26
|
+
from model_compression_toolkit.target_platform_capabilities.tpc_models.default_tpc.v4_lut.tp_model import get_tp_model
|
|
27
27
|
import model_compression_toolkit as mct
|
|
28
|
-
from model_compression_toolkit.
|
|
28
|
+
from model_compression_toolkit.target_platform_capabilities.tpc_models.default_tpc.v4_lut import __version__ as TPC_VERSION
|
|
29
29
|
|
|
30
30
|
tp = mct.target_platform
|
|
31
31
|
|
|
@@ -15,7 +15,10 @@
|
|
|
15
15
|
from typing import List, Tuple
|
|
16
16
|
|
|
17
17
|
import model_compression_toolkit as mct
|
|
18
|
-
from model_compression_toolkit.
|
|
18
|
+
from model_compression_toolkit.target_platform_capabilities.target_platform import OpQuantizationConfig, \
|
|
19
|
+
TargetPlatformModel
|
|
20
|
+
from model_compression_toolkit.target_platform_capabilities.target_platform.quantization_format import \
|
|
21
|
+
QuantizationFormat
|
|
19
22
|
|
|
20
23
|
tp = mct.target_platform
|
|
21
24
|
|
|
@@ -113,6 +116,9 @@ def generate_tp_model(default_config: OpQuantizationConfig,
|
|
|
113
116
|
# be used for operations that will be attached to this set's label.
|
|
114
117
|
# Otherwise, it will be a configure-less set (used in fusing):
|
|
115
118
|
|
|
119
|
+
# Set quantization format to fakely quant
|
|
120
|
+
generated_tpc.set_quantization_format(QuantizationFormat.FAKELY_QUANT)
|
|
121
|
+
|
|
116
122
|
# May suit for operations like: Dropout, Reshape, etc.
|
|
117
123
|
tp.OperatorsSet("NoQuantization",
|
|
118
124
|
tp.get_default_quantization_config_options().clone_and_edit(
|
|
@@ -24,9 +24,9 @@ else:
|
|
|
24
24
|
MaxPooling2D, Activation, ReLU, Add, Subtract, Multiply, PReLU, Flatten, Cropping2D, LeakyReLU, Permute, \
|
|
25
25
|
Conv2DTranspose
|
|
26
26
|
|
|
27
|
-
from model_compression_toolkit.
|
|
27
|
+
from model_compression_toolkit.target_platform_capabilities.tpc_models.default_tpc.v4.tp_model import get_tp_model
|
|
28
28
|
import model_compression_toolkit as mct
|
|
29
|
-
from model_compression_toolkit.
|
|
29
|
+
from model_compression_toolkit.target_platform_capabilities.tpc_models.default_tpc.v4 import __version__ as TPC_VERSION
|
|
30
30
|
|
|
31
31
|
tp = mct.target_platform
|
|
32
32
|
|
|
@@ -23,9 +23,9 @@ from torch.nn import Dropout, Flatten, Hardtanh
|
|
|
23
23
|
from torch.nn import ReLU, ReLU6, PReLU, SiLU, Sigmoid, Tanh, Hardswish, LeakyReLU
|
|
24
24
|
from torch.nn.functional import relu, relu6, prelu, silu, hardtanh, hardswish, leaky_relu
|
|
25
25
|
|
|
26
|
-
from model_compression_toolkit.
|
|
26
|
+
from model_compression_toolkit.target_platform_capabilities.tpc_models.default_tpc.v3.tp_model import get_tp_model
|
|
27
27
|
import model_compression_toolkit as mct
|
|
28
|
-
from model_compression_toolkit.
|
|
28
|
+
from model_compression_toolkit.target_platform_capabilities.tpc_models.default_tpc.v4 import __version__ as TPC_VERSION
|
|
29
29
|
|
|
30
30
|
tp = mct.target_platform
|
|
31
31
|
|
|
@@ -13,19 +13,17 @@
|
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
# ==============================================================================
|
|
15
15
|
|
|
16
|
-
from model_compression_toolkit.
|
|
16
|
+
from model_compression_toolkit.target_platform_capabilities.target_platform import TargetPlatformCapabilities
|
|
17
17
|
|
|
18
|
-
from model_compression_toolkit.
|
|
18
|
+
from model_compression_toolkit.target_platform_capabilities.tpc_models.default_tpc.target_platform_capabilities import \
|
|
19
19
|
tpc_dict as default_tpc_dict
|
|
20
|
-
from model_compression_toolkit.
|
|
20
|
+
from model_compression_toolkit.target_platform_capabilities.tpc_models.imx500_tpc.target_platform_capabilities import \
|
|
21
21
|
tpc_dict as imx500_tpc_dict
|
|
22
|
-
from model_compression_toolkit.
|
|
22
|
+
from model_compression_toolkit.target_platform_capabilities.tpc_models.tflite_tpc.target_platform_capabilities import \
|
|
23
23
|
tpc_dict as tflite_tpc_dict
|
|
24
|
-
from model_compression_toolkit.
|
|
24
|
+
from model_compression_toolkit.target_platform_capabilities.tpc_models.qnnpack_tpc.target_platform_capabilities import \
|
|
25
25
|
tpc_dict as qnnpack_tpc_dict
|
|
26
|
-
from model_compression_toolkit.
|
|
27
|
-
QNNPACK_TP_MODEL
|
|
28
|
-
from model_compression_toolkit.core.common.constants import LATEST
|
|
26
|
+
from model_compression_toolkit.target_platform_capabilities.constants import DEFAULT_TP_MODEL, IMX500_TP_MODEL, TFLITE_TP_MODEL, QNNPACK_TP_MODEL, LATEST
|
|
29
27
|
|
|
30
28
|
tpc_dict = {DEFAULT_TP_MODEL: default_tpc_dict,
|
|
31
29
|
IMX500_TP_MODEL: imx500_tpc_dict,
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# Copyright 2023 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
|
+
# ==============================================================================
|
|
@@ -12,13 +12,13 @@
|
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
# ==============================================================================
|
|
15
|
-
from model_compression_toolkit.
|
|
16
|
-
from model_compression_toolkit.
|
|
15
|
+
from model_compression_toolkit.constants import FOUND_TF, FOUND_TORCH
|
|
16
|
+
from model_compression_toolkit.target_platform_capabilities.tpc_models.imx500_tpc.v1.tp_model import get_tp_model, generate_tp_model, \
|
|
17
17
|
get_op_quantization_configs
|
|
18
18
|
if FOUND_TF:
|
|
19
|
-
from model_compression_toolkit.
|
|
20
|
-
from model_compression_toolkit.
|
|
19
|
+
from model_compression_toolkit.target_platform_capabilities.tpc_models.imx500_tpc.v1.tpc_keras import get_keras_tpc as get_keras_tpc_latest
|
|
20
|
+
from model_compression_toolkit.target_platform_capabilities.tpc_models.imx500_tpc.v1.tpc_keras import generate_keras_tpc
|
|
21
21
|
if FOUND_TORCH:
|
|
22
|
-
from model_compression_toolkit.
|
|
22
|
+
from model_compression_toolkit.target_platform_capabilities.tpc_models.imx500_tpc.v1.tpc_pytorch import get_pytorch_tpc as \
|
|
23
23
|
get_pytorch_tpc_latest
|
|
24
|
-
from model_compression_toolkit.
|
|
24
|
+
from model_compression_toolkit.target_platform_capabilities.tpc_models.imx500_tpc.v1.tpc_pytorch import generate_pytorch_tpc
|
|
@@ -13,15 +13,16 @@
|
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
# ==============================================================================
|
|
15
15
|
|
|
16
|
-
from model_compression_toolkit.
|
|
16
|
+
from model_compression_toolkit.constants import FOUND_TF, FOUND_TORCH, TENSORFLOW, PYTORCH
|
|
17
|
+
from model_compression_toolkit.target_platform_capabilities.constants import LATEST
|
|
17
18
|
|
|
18
19
|
###############################
|
|
19
20
|
# Build Tensorflow TPC models
|
|
20
21
|
###############################
|
|
21
22
|
keras_tpc_models_dict = None
|
|
22
23
|
if FOUND_TF:
|
|
23
|
-
from model_compression_toolkit.
|
|
24
|
-
from model_compression_toolkit.
|
|
24
|
+
from model_compression_toolkit.target_platform_capabilities.tpc_models.imx500_tpc.latest import get_keras_tpc_latest
|
|
25
|
+
from model_compression_toolkit.target_platform_capabilities.tpc_models.imx500_tpc.v1.tpc_keras import get_keras_tpc as get_keras_tpc_v1
|
|
25
26
|
|
|
26
27
|
# Keras: TPC versioning
|
|
27
28
|
keras_tpc_models_dict = {'v1': get_keras_tpc_v1(),
|
|
@@ -32,8 +33,8 @@ if FOUND_TF:
|
|
|
32
33
|
###############################
|
|
33
34
|
pytorch_tpc_models_dict = None
|
|
34
35
|
if FOUND_TORCH:
|
|
35
|
-
from model_compression_toolkit.
|
|
36
|
-
from model_compression_toolkit.
|
|
36
|
+
from model_compression_toolkit.target_platform_capabilities.tpc_models.imx500_tpc.latest import get_pytorch_tpc_latest
|
|
37
|
+
from model_compression_toolkit.target_platform_capabilities.tpc_models.imx500_tpc.v1.tpc_pytorch import \
|
|
37
38
|
get_pytorch_tpc as get_pytorch_tpc_v1
|
|
38
39
|
|
|
39
40
|
# Pytorch: TPC versioning
|
model_compression_toolkit/{core → target_platform_capabilities}/tpc_models/imx500_tpc/v1/tp_model.py
RENAMED
|
@@ -15,7 +15,10 @@
|
|
|
15
15
|
from typing import List, Tuple
|
|
16
16
|
|
|
17
17
|
import model_compression_toolkit as mct
|
|
18
|
-
from model_compression_toolkit.
|
|
18
|
+
from model_compression_toolkit.target_platform_capabilities.target_platform import OpQuantizationConfig, \
|
|
19
|
+
TargetPlatformModel
|
|
20
|
+
from model_compression_toolkit.target_platform_capabilities.target_platform.quantization_format import \
|
|
21
|
+
QuantizationFormat
|
|
19
22
|
|
|
20
23
|
tp = mct.target_platform
|
|
21
24
|
|
|
@@ -113,6 +116,9 @@ def generate_tp_model(default_config: OpQuantizationConfig,
|
|
|
113
116
|
# be used for operations that will be attached to this set's label.
|
|
114
117
|
# Otherwise, it will be a configure-less set (used in fusing):
|
|
115
118
|
|
|
119
|
+
# Set quantization format to fakely quant
|
|
120
|
+
generated_tpc.set_quantization_format(QuantizationFormat.FAKELY_QUANT)
|
|
121
|
+
|
|
116
122
|
# May suit for operations like: Dropout, Reshape, etc.
|
|
117
123
|
tp.OperatorsSet("NoQuantization",
|
|
118
124
|
tp.get_default_quantization_config_options().clone_and_edit(
|
|
@@ -24,9 +24,9 @@ else:
|
|
|
24
24
|
MaxPooling2D, Activation, ReLU, Add, Subtract, Multiply, PReLU, Flatten, Cropping2D, LeakyReLU, Permute, \
|
|
25
25
|
Conv2DTranspose
|
|
26
26
|
|
|
27
|
-
from model_compression_toolkit.
|
|
27
|
+
from model_compression_toolkit.target_platform_capabilities.tpc_models.imx500_tpc.v1.tp_model import get_tp_model
|
|
28
28
|
import model_compression_toolkit as mct
|
|
29
|
-
from model_compression_toolkit.
|
|
29
|
+
from model_compression_toolkit.target_platform_capabilities.tpc_models.imx500_tpc.v1 import __version__ as TPC_VERSION
|
|
30
30
|
|
|
31
31
|
tp = mct.target_platform
|
|
32
32
|
|
|
@@ -23,9 +23,9 @@ from torch.nn import Dropout, Flatten, Hardtanh
|
|
|
23
23
|
from torch.nn import ReLU, ReLU6, PReLU, SiLU, Sigmoid, Tanh, Hardswish, LeakyReLU
|
|
24
24
|
from torch.nn.functional import relu, relu6, prelu, silu, hardtanh, hardswish, leaky_relu
|
|
25
25
|
|
|
26
|
-
from model_compression_toolkit.
|
|
26
|
+
from model_compression_toolkit.target_platform_capabilities.tpc_models.imx500_tpc.v1.tp_model import get_tp_model
|
|
27
27
|
import model_compression_toolkit as mct
|
|
28
|
-
from model_compression_toolkit.
|
|
28
|
+
from model_compression_toolkit.target_platform_capabilities.tpc_models.imx500_tpc.v1 import __version__ as TPC_VERSION
|
|
29
29
|
|
|
30
30
|
tp = mct.target_platform
|
|
31
31
|
|
model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/latest/__init__.py
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Copyright 2022 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
|
+
from model_compression_toolkit.constants import FOUND_TF, FOUND_TORCH
|
|
16
|
+
from model_compression_toolkit.target_platform_capabilities.tpc_models.qnnpack_tpc.v1.tp_model import get_tp_model, generate_tp_model, get_op_quantization_configs
|
|
17
|
+
if FOUND_TF:
|
|
18
|
+
from model_compression_toolkit.target_platform_capabilities.tpc_models.qnnpack_tpc.v1.tpc_keras import get_keras_tpc as get_keras_tpc_latest
|
|
19
|
+
from model_compression_toolkit.target_platform_capabilities.tpc_models.qnnpack_tpc.v1.tpc_keras import generate_keras_tpc
|
|
20
|
+
if FOUND_TORCH:
|
|
21
|
+
from model_compression_toolkit.target_platform_capabilities.tpc_models.qnnpack_tpc.v1.tpc_pytorch import get_pytorch_tpc as get_pytorch_tpc_latest
|
|
22
|
+
from model_compression_toolkit.target_platform_capabilities.tpc_models.qnnpack_tpc.v1.tpc_pytorch import generate_pytorch_tpc
|
|
@@ -13,7 +13,8 @@
|
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
# ==============================================================================
|
|
15
15
|
|
|
16
|
-
from model_compression_toolkit.
|
|
16
|
+
from model_compression_toolkit.constants import FOUND_TF, FOUND_TORCH, TENSORFLOW, PYTORCH
|
|
17
|
+
from model_compression_toolkit.target_platform_capabilities.constants import LATEST
|
|
17
18
|
|
|
18
19
|
|
|
19
20
|
###############################
|
|
@@ -21,8 +22,8 @@ from model_compression_toolkit.core.common.constants import FOUND_TF, FOUND_TORC
|
|
|
21
22
|
###############################
|
|
22
23
|
keras_tpc_models_dict = None
|
|
23
24
|
if FOUND_TF:
|
|
24
|
-
from model_compression_toolkit.
|
|
25
|
-
from model_compression_toolkit.
|
|
25
|
+
from model_compression_toolkit.target_platform_capabilities.tpc_models.qnnpack_tpc.v1.tpc_keras import get_keras_tpc as get_keras_tpc_v1
|
|
26
|
+
from model_compression_toolkit.target_platform_capabilities.tpc_models.qnnpack_tpc.latest import get_keras_tpc_latest
|
|
26
27
|
|
|
27
28
|
# Keras: TPC versioning
|
|
28
29
|
keras_tpc_models_dict = {'v1': get_keras_tpc_v1(),
|
|
@@ -33,9 +34,9 @@ if FOUND_TF:
|
|
|
33
34
|
###############################
|
|
34
35
|
pytorch_tpc_models_dict = None
|
|
35
36
|
if FOUND_TORCH:
|
|
36
|
-
from model_compression_toolkit.
|
|
37
|
+
from model_compression_toolkit.target_platform_capabilities.tpc_models.qnnpack_tpc.v1.tpc_pytorch import \
|
|
37
38
|
get_pytorch_tpc as get_pytorch_tpc_v1
|
|
38
|
-
from model_compression_toolkit.
|
|
39
|
+
from model_compression_toolkit.target_platform_capabilities.tpc_models.qnnpack_tpc.latest import get_pytorch_tpc_latest
|
|
39
40
|
|
|
40
41
|
# Pytorch: TPC versioning
|
|
41
42
|
pytorch_tpc_models_dict = {'v1': get_pytorch_tpc_v1(),
|
|
@@ -15,7 +15,10 @@
|
|
|
15
15
|
from typing import List, Tuple
|
|
16
16
|
|
|
17
17
|
import model_compression_toolkit as mct
|
|
18
|
-
from model_compression_toolkit.
|
|
18
|
+
from model_compression_toolkit.target_platform_capabilities.target_platform import OpQuantizationConfig, \
|
|
19
|
+
TargetPlatformModel
|
|
20
|
+
from model_compression_toolkit.target_platform_capabilities.target_platform.quantization_format import \
|
|
21
|
+
QuantizationFormat
|
|
19
22
|
|
|
20
23
|
tp = mct.target_platform
|
|
21
24
|
|
|
@@ -120,4 +123,7 @@ def generate_tp_model(default_config: OpQuantizationConfig,
|
|
|
120
123
|
tp.Fusing([conv, relu])
|
|
121
124
|
tp.Fusing([linear, relu])
|
|
122
125
|
|
|
126
|
+
# Set quantization format to fakely quant
|
|
127
|
+
generated_tpc.set_quantization_format(QuantizationFormat.FAKELY_QUANT)
|
|
128
|
+
|
|
123
129
|
return generated_tpc
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
import tensorflow as tf
|
|
16
16
|
|
|
17
17
|
from packaging import version
|
|
18
|
-
from model_compression_toolkit.
|
|
18
|
+
from model_compression_toolkit.target_platform_capabilities.tpc_models.qnnpack_tpc.v1 import __version__ as TPC_VERSION
|
|
19
19
|
|
|
20
20
|
if version.parse(tf.__version__) < version.parse("2.6"):
|
|
21
21
|
from tensorflow.keras.layers import Conv2D, DepthwiseConv2D, Conv2DTranspose, Dense, BatchNormalization, ReLU, \
|
|
@@ -23,7 +23,7 @@ if version.parse(tf.__version__) < version.parse("2.6"):
|
|
|
23
23
|
else:
|
|
24
24
|
from keras.layers import Conv2D, DepthwiseConv2D, Conv2DTranspose, Dense, BatchNormalization, ReLU, Activation
|
|
25
25
|
|
|
26
|
-
from model_compression_toolkit.
|
|
26
|
+
from model_compression_toolkit.target_platform_capabilities.tpc_models.qnnpack_tpc.v1.tp_model import get_tp_model
|
|
27
27
|
import model_compression_toolkit as mct
|
|
28
28
|
|
|
29
29
|
tp = mct.target_platform
|
|
@@ -16,9 +16,9 @@ import torch
|
|
|
16
16
|
from torch.nn import Conv2d, Linear, BatchNorm2d, ConvTranspose2d, Hardtanh, ReLU, ReLU6
|
|
17
17
|
from torch.nn.functional import relu, relu6, hardtanh
|
|
18
18
|
|
|
19
|
-
from model_compression_toolkit.
|
|
19
|
+
from model_compression_toolkit.target_platform_capabilities.tpc_models.qnnpack_tpc.v1.tp_model import get_tp_model
|
|
20
20
|
import model_compression_toolkit as mct
|
|
21
|
-
from model_compression_toolkit.
|
|
21
|
+
from model_compression_toolkit.target_platform_capabilities.tpc_models.qnnpack_tpc.v1 import __version__ as TPC_VERSION
|
|
22
22
|
|
|
23
23
|
tp = mct.target_platform
|
|
24
24
|
|
model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/latest/__init__.py
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Copyright 2022 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
|
+
from model_compression_toolkit.constants import FOUND_TF, FOUND_TORCH
|
|
16
|
+
from model_compression_toolkit.target_platform_capabilities.tpc_models.tflite_tpc.v1.tp_model import get_tp_model, generate_tp_model, get_op_quantization_configs
|
|
17
|
+
if FOUND_TF:
|
|
18
|
+
from model_compression_toolkit.target_platform_capabilities.tpc_models.tflite_tpc.v1.tpc_keras import get_keras_tpc as get_keras_tpc_latest
|
|
19
|
+
from model_compression_toolkit.target_platform_capabilities.tpc_models.tflite_tpc.v1.tpc_keras import generate_keras_tpc
|
|
20
|
+
if FOUND_TORCH:
|
|
21
|
+
from model_compression_toolkit.target_platform_capabilities.tpc_models.tflite_tpc.v1.tpc_pytorch import get_pytorch_tpc as get_pytorch_tpc_latest
|
|
22
|
+
from model_compression_toolkit.target_platform_capabilities.tpc_models.tflite_tpc.v1.tpc_pytorch import generate_pytorch_tpc
|
|
@@ -13,7 +13,8 @@
|
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
# ==============================================================================
|
|
15
15
|
|
|
16
|
-
from model_compression_toolkit.
|
|
16
|
+
from model_compression_toolkit.constants import FOUND_TF, FOUND_TORCH, TENSORFLOW, PYTORCH
|
|
17
|
+
from model_compression_toolkit.target_platform_capabilities.constants import LATEST
|
|
17
18
|
|
|
18
19
|
|
|
19
20
|
###############################
|
|
@@ -21,8 +22,8 @@ from model_compression_toolkit.core.common.constants import FOUND_TF, FOUND_TORC
|
|
|
21
22
|
###############################
|
|
22
23
|
keras_tpc_models_dict = None
|
|
23
24
|
if FOUND_TF:
|
|
24
|
-
from model_compression_toolkit.
|
|
25
|
-
from model_compression_toolkit.
|
|
25
|
+
from model_compression_toolkit.target_platform_capabilities.tpc_models.tflite_tpc.v1.tpc_keras import get_keras_tpc as get_keras_tpc_v1
|
|
26
|
+
from model_compression_toolkit.target_platform_capabilities.tpc_models.tflite_tpc.latest import get_keras_tpc_latest
|
|
26
27
|
|
|
27
28
|
# Keras: TPC versioning
|
|
28
29
|
keras_tpc_models_dict = {'v1': get_keras_tpc_v1(),
|
|
@@ -33,9 +34,9 @@ if FOUND_TF:
|
|
|
33
34
|
###############################
|
|
34
35
|
pytorch_tpc_models_dict = None
|
|
35
36
|
if FOUND_TORCH:
|
|
36
|
-
from model_compression_toolkit.
|
|
37
|
+
from model_compression_toolkit.target_platform_capabilities.tpc_models.tflite_tpc.v1.tpc_pytorch import \
|
|
37
38
|
get_pytorch_tpc as get_pytorch_tpc_v1
|
|
38
|
-
from model_compression_toolkit.
|
|
39
|
+
from model_compression_toolkit.target_platform_capabilities.tpc_models.tflite_tpc.latest import get_pytorch_tpc_latest
|
|
39
40
|
|
|
40
41
|
# Pytorch: TPC versioning
|
|
41
42
|
pytorch_tpc_models_dict = {'v1': get_pytorch_tpc_v1(),
|
model_compression_toolkit/{core → target_platform_capabilities}/tpc_models/tflite_tpc/v1/tp_model.py
RENAMED
|
@@ -15,8 +15,12 @@
|
|
|
15
15
|
from typing import List, Tuple
|
|
16
16
|
|
|
17
17
|
import model_compression_toolkit as mct
|
|
18
|
-
from model_compression_toolkit.
|
|
19
|
-
|
|
18
|
+
from model_compression_toolkit.target_platform_capabilities.target_platform import OpQuantizationConfig, \
|
|
19
|
+
TargetPlatformModel
|
|
20
|
+
from model_compression_toolkit.target_platform_capabilities.target_platform.op_quantization_config import \
|
|
21
|
+
QuantizationMethod
|
|
22
|
+
from model_compression_toolkit.target_platform_capabilities.target_platform.quantization_format import \
|
|
23
|
+
QuantizationFormat
|
|
20
24
|
|
|
21
25
|
tp = mct.target_platform
|
|
22
26
|
|
|
@@ -65,7 +69,7 @@ def get_op_quantization_configs() -> Tuple[OpQuantizationConfig, List[OpQuantiza
|
|
|
65
69
|
weights_multiplier_nbits=None
|
|
66
70
|
)
|
|
67
71
|
|
|
68
|
-
mixed_precision_cfg_list = []
|
|
72
|
+
mixed_precision_cfg_list = [] # No mixed precision
|
|
69
73
|
|
|
70
74
|
return eight_bits, mixed_precision_cfg_list
|
|
71
75
|
|
|
@@ -106,28 +110,28 @@ def generate_tp_model(default_config: OpQuantizationConfig,
|
|
|
106
110
|
# differently. For more details:
|
|
107
111
|
# https://www.tensorflow.org/lite/performance/quantization_spec#int8_quantized_operator_specifications
|
|
108
112
|
tp.OperatorsSet("NoQuantization",
|
|
109
|
-
|
|
110
|
-
|
|
113
|
+
tp.get_default_quantization_config_options().clone_and_edit(
|
|
114
|
+
quantization_preserving=True))
|
|
111
115
|
|
|
112
116
|
fc = tp.OperatorsSet("FullyConnected",
|
|
113
|
-
|
|
114
|
-
|
|
117
|
+
tp.get_default_quantization_config_options().clone_and_edit(
|
|
118
|
+
weights_per_channel_threshold=False))
|
|
115
119
|
|
|
116
120
|
tp.OperatorsSet("L2Normalization",
|
|
117
|
-
|
|
118
|
-
|
|
121
|
+
tp.get_default_quantization_config_options().clone_and_edit(
|
|
122
|
+
fixed_zero_point=0, fixed_scale=1 / 128))
|
|
119
123
|
tp.OperatorsSet("LogSoftmax",
|
|
120
|
-
|
|
121
|
-
|
|
124
|
+
tp.get_default_quantization_config_options().clone_and_edit(
|
|
125
|
+
fixed_zero_point=127, fixed_scale=16 / 256))
|
|
122
126
|
tp.OperatorsSet("Tanh",
|
|
123
|
-
|
|
124
|
-
|
|
127
|
+
tp.get_default_quantization_config_options().clone_and_edit(
|
|
128
|
+
fixed_zero_point=0, fixed_scale=1 / 128))
|
|
125
129
|
tp.OperatorsSet("Softmax",
|
|
126
|
-
|
|
127
|
-
|
|
130
|
+
tp.get_default_quantization_config_options().clone_and_edit(
|
|
131
|
+
fixed_zero_point=-128, fixed_scale=1 / 256))
|
|
128
132
|
tp.OperatorsSet("Logistic",
|
|
129
|
-
|
|
130
|
-
|
|
133
|
+
tp.get_default_quantization_config_options().clone_and_edit(
|
|
134
|
+
fixed_zero_point=-128, fixed_scale=1 / 256))
|
|
131
135
|
|
|
132
136
|
conv2d = tp.OperatorsSet("Conv2d")
|
|
133
137
|
kernel = tp.OperatorSetConcat(conv2d, fc)
|
|
@@ -140,7 +144,8 @@ def generate_tp_model(default_config: OpQuantizationConfig,
|
|
|
140
144
|
bias_add = tp.OperatorsSet("BiasAdd")
|
|
141
145
|
add = tp.OperatorsSet("Add")
|
|
142
146
|
squeeze = tp.OperatorsSet("Squeeze",
|
|
143
|
-
|
|
147
|
+
qc_options=tp.get_default_quantization_config_options().clone_and_edit(
|
|
148
|
+
quantization_preserving=True))
|
|
144
149
|
# ------------------- #
|
|
145
150
|
# Fusions
|
|
146
151
|
# ------------------- #
|
|
@@ -152,4 +157,7 @@ def generate_tp_model(default_config: OpQuantizationConfig,
|
|
|
152
157
|
tp.Fusing([batch_norm, activations_to_fuse])
|
|
153
158
|
tp.Fusing([batch_norm, add, activations_to_fuse])
|
|
154
159
|
|
|
160
|
+
# Set quantization format to int8
|
|
161
|
+
generated_tpc.set_quantization_format(QuantizationFormat.INT8)
|
|
162
|
+
|
|
155
163
|
return generated_tpc
|