MLBEDSW-3927: Fix wrong compression ratio
Change-Id: I06feeb98fb48badf06097f377a9504e6f4eeae91
Signed-off-by: Diqing Zhong <diqing.zhong@arm.com>
diff --git a/ethosu/vela/tensor_allocation.py b/ethosu/vela/tensor_allocation.py
index 1e5eb85..0a7da5d 100644
--- a/ethosu/vela/tensor_allocation.py
+++ b/ethosu/vela/tensor_allocation.py
@@ -202,12 +202,6 @@
else:
sg.memory_used_per_type[mem_type] += total_sz
- if mem_area == arch.fast_storage_mem_area:
- for tens in lrs.ranges:
- if tens.purpose == TensorPurpose.Weights:
- nng.total_compressed_weights += tens.storage_size()
- nng.total_original_weights += tens.elements() * tens.element_size()
-
print_allocation(lrs, mem_area, mem_type_set, sg, verbose_allocation)
if mem_area == MemArea.Sram:
@@ -217,10 +211,9 @@
if sg == nng.get_root_subgraph():
nng.memory_used = sg.memory_used
- if mem_area == arch.fast_storage_mem_area:
- try:
- nng.weights_compression_ratio = nng.total_compressed_weights / nng.total_original_weights
- except ZeroDivisionError:
- nng.weights_compression_ratio = 0.0
+ try:
+ nng.weights_compression_ratio = nng.total_compressed_weights / nng.total_original_weights
+ except ZeroDivisionError:
+ nng.weights_compression_ratio = 0.0
return True
diff --git a/ethosu/vela/weight_compressor.py b/ethosu/vela/weight_compressor.py
index 188b16a..60ca846 100644
--- a/ethosu/vela/weight_compressor.py
+++ b/ethosu/vela/weight_compressor.py
@@ -521,6 +521,9 @@
compress_weights(
arch, nng, tens, op.type.npu_block_type, ps.block_config[-1], ofm_depth_step, op.get_dilation_h_w()
)
+ nng.total_compressed_weights += tens.weight_compressed_offsets[-1]
+ nng.total_original_weights += tens.elements() * tens.element_size()
+
# Update source tensor
if needs_dma:
src_tens = tens.get_dma_src_tensor()