Квантованная tflite модель имеет apk большего размера, чем неквантованная

Привет, я обучил модель классификации inceptionV3 с пользовательским набором данных и получил retrained.pb и retrained_labels.txt. Я хочу использовать модель в мобильном телефоне, и я преобразовал модель, используя следующий код

import tensorflow as tf
graph_def_file = "retrained_graph.pb"
input_arrays = ["Mul"]
output_arrays = ["final_result"]
converter = tf.lite.TFLiteConverter.from_frozen_graph(
  graph_def_file,input_arrays,output_arrays)
tflite_model = converter.convert()
open("converted_model.tflite", "wb").write(tflite_model)

Я получил модель tflite размером 85 МБ и построил файл apk размером 113 МБ, и я провел квантование модели с помощью следующей команды

tflite_convert \
  --output_file=foo.tflite \
  --graph_def_file=retrained_graph.pb \
  --inference_type=QUANTIZED_UINT8 \
  --input_arrays=Mul \
  --output_arrays=final_result \
  --mean_values=128 \
  --std_dev_values=127 \
  --default_ranges_min=0 \
  --default_ranges_max=6 

Он дает мне tflite-модель размером 21 МБ, и когда я использую эту квантованную модель для создания apk, она генерирует файл apk размером 135 МБ.

Мои вопросы

  1. Почему размер файла apk увеличивается при использовании квантованной модели?

  2. Как уменьшить размер apk, созданный с помощью модели tflite?


person Jennings    schedule 20.12.2018    source источник


Ответы (1)


Думаю, вы забыли удалить из APK оригинальную модель. Таким образом, вы фактически создаете квантованную модель И модель с плавающей запятой в APK.

person suharshs    schedule 07.02.2019