From a0ed9452d5c7f897e26788d8dca5164cb6fba023 Mon Sep 17 00:00:00 2001 From: "A. Unique TensorFlower" Date: Tue, 9 Oct 2018 07:54:16 -0700 Subject: Fixing Toco for exporting graphs with strings If the graph contains not constant array with strings it fails because the array's size can't be estimated. PiperOrigin-RevId: 216356162 --- tensorflow/contrib/lite/toco/tooling_util.cc | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'tensorflow') diff --git a/tensorflow/contrib/lite/toco/tooling_util.cc b/tensorflow/contrib/lite/toco/tooling_util.cc index e3f27e9e2a..083a96ad9d 100644 --- a/tensorflow/contrib/lite/toco/tooling_util.cc +++ b/tensorflow/contrib/lite/toco/tooling_util.cc @@ -1237,11 +1237,15 @@ void DedupeConstantArrays(Model* model, size_t min_size) { lhs_array.final_data_type != ArrayDataType::kNone ? lhs_array.final_data_type : lhs_array.data_type; - size_t array_byte_size = - lhs_array.buffer->Length() * ElementSize(final_data_type); - if (array_byte_size < min_size) { - // Too small; skip. - continue; + // Ignore small arrays, don't check string arrays because it is not possible + // to estimate its size. + if (final_data_type != ArrayDataType::kString) { + size_t array_byte_size = + lhs_array.buffer->Length() * ElementSize(final_data_type); + if (array_byte_size < min_size) { + // Too small; skip. + continue; + } } auto next_lhs_array_it = lhs_array_it; -- cgit v1.2.3