首页 > 解决方案 > TensorFlow Lite 模型通常比 TensorFlow 模型大吗?

问题描述

我目前正在使用 TensorFlow 制作手势检测分类模型,并且正在尝试在微控制器上实现它(我一直在修改这个HelloWorld 示例脚本)。创建 TensorFlow 模型,然后将其转换为 TFLite 模型后,模型的大小显着增加:

TensorFlow 模型:4096 字节
TensorFlow Lite 模型:36360 字节

在我在微控制器上实现这个更大的模型之前,我想知道 TF 模型和 TFLite 模型(我认为应该更小)之间大小的显着增加是否可能,或者我是否一定犯了错误转换。

编辑:在下面添加代码;我删除了所有文件并重新运行代码以确保旧模型文件不用于确定大小。

# Convert the model to the TensorFlow Lite format without quantization
converter = tf.lite.TFLiteConverter.from_saved_model(MODEL_TF)
model_no_quant_tflite = converter.convert()

# Save the model to disk
open(MODEL_NO_QUANT_TFLITE, "wb").write(model_no_quant_tflite)

# Calculate size
size_tf = os.path.getsize(MODEL_TF)
size_no_quant_tflite = os.path.getsize(MODEL_NO_QUANT_TFLITE)

# Compare size
pd.DataFrame.from_records(
    [["TensorFlow", f"{size_tf} bytes", ""],
    ["TensorFlow Lite", f"{size_no_quant_tflite} bytes ", f"(reduced by {size_tf - size_no_quant_tflite} bytes)"]],
    columns = ["Model", "Size", ""], index="Model")

标签: pythontensorflowgoogle-colaboratory

解决方案


推荐阅读