嗨,我已经使用自定义数据集训练了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)
我得到了大小为85 MB的tflite模型,并构建了一个大小为113 MB的apk文件,并使用以下命令对模型进行了量化
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
它为我提供了一个大小为21 MB的tflite模型,当我使用此量化模型来构建apk时,它会生成一个大小为135 MB的apk文件。
我的问题是
为什么我使用量化模型时apk文件的大小增加了?
如何减少使用tflite模型构建的apk大小?
答案 0 :(得分:0)
我认为您已经忘记从APK中删除原始模型。因此,您实际上是在将量化模型和浮动模型构建到APK中。