UltralyticsAssistant 4 months ago
parent 5e87023724
commit 77274f469a
  1. 30
      ultralytics/engine/exporter.py

@ -1045,11 +1045,10 @@ class Exporter:
check_requirements("mct-nightly") check_requirements("mct-nightly")
import model_compression_toolkit as mct import model_compression_toolkit as mct
import onnx import onnx
from model_compression_toolkit.core import BitWidthConfig
from model_compression_toolkit.core.common.network_editors import NodeNameScopeFilter
from model_compression_toolkit.core.pytorch.pytorch_device_config import get_working_device, set_working_device from model_compression_toolkit.core.pytorch.pytorch_device_config import get_working_device, set_working_device
from sony_custom_layers.pytorch.object_detection.nms import multiclass_nms from sony_custom_layers.pytorch.object_detection.nms import multiclass_nms
from model_compression_toolkit.core.common.network_editors import NodeNameScopeFilter
from model_compression_toolkit.core import BitWidthConfig
set_working_device(str(self.device)) set_working_device(str(self.device))
@ -1098,26 +1097,27 @@ class Exporter:
yield [img] yield [img]
tpc = mct.get_target_platform_capabilities( tpc = mct.get_target_platform_capabilities(
fw_name="pytorch", fw_name="pytorch", target_platform_name="imx500", target_platform_version="v3"
target_platform_name="imx500",
target_platform_version="v3"
) )
# Configure MCT manually for specific layers # Configure MCT manually for specific layers
bit_cfg = BitWidthConfig() bit_cfg = BitWidthConfig()
bit_cfg.set_manual_activation_bit_width( bit_cfg.set_manual_activation_bit_width(
[NodeNameScopeFilter('mul'), [
NodeNameScopeFilter('sub'), NodeNameScopeFilter("mul"),
# NodeNameScopeFilter('sub_1'), NodeNameScopeFilter("sub"),
NodeNameScopeFilter('add_6'), # NodeNameScopeFilter('sub_1'),
# NodeNameScopeFilter('add_7'), NodeNameScopeFilter("add_6"),
# NodeNameScopeFilter('stack') # NodeNameScopeFilter('add_7'),
], 16) # NodeNameScopeFilter('stack')
],
16,
)
config = mct.core.CoreConfig( config = mct.core.CoreConfig(
mixed_precision_config=mct.core.MixedPrecisionQuantizationConfig(num_of_images=10), mixed_precision_config=mct.core.MixedPrecisionQuantizationConfig(num_of_images=10),
quantization_config=mct.core.QuantizationConfig(concat_threshold_update=True), quantization_config=mct.core.QuantizationConfig(concat_threshold_update=True),
bit_width_config=bit_cfg bit_width_config=bit_cfg,
) )
resource_utilization = mct.core.ResourceUtilization(weights_memory=3146176 * 0.76) resource_utilization = mct.core.ResourceUtilization(weights_memory=3146176 * 0.76)

Loading…
Cancel
Save