将模型导出至 TFLite¶
TensorFlow Lite 是一个轻量级框架,用于在资源受限的设备(如手机、嵌入式系统和物联网设备)上部署机器学习模型。TFLite 设计的目的是在这些计算能力、内存和功耗有限的设备上高效地优化和运行模型。TensorFlow Lite 模型以一种特殊的高效便携格式表示,文件扩展名为 .tflite。
🤗 Optimum 提供了将 🤗 Transformers 模型导出到 TFLite 的功能,通过 exporters.tflite 模块实现。支持的模型架构列表请参阅 🤗 Optimum 文档。
要将模型导出到 TFLite,请安装所需的依赖项:
In [ ]:
pip install optimum[exporters-tf]
要查看所有可用的参数,可以参考 🤗 Optimum 文档,或在命令行中查看帮助信息:
In [ ]:
optimum-cli export tflite --help
例如,要从 🤗 Hub 导出 google-bert/bert-base-uncased 模型的检查点,可以运行以下命令:
In [ ]:
optimum-cli export tflite --model google-bert/bert-base-uncased --sequence_length 128 bert_tflite/
你应该会看到日志显示进度,并指出生成的 model.tflite 文件保存的位置,如下所示:
导出成功,但有警告:参考模型和 TFLite 导出模型的输出之间的最大绝对差异不在设定的容差范围内 1e-05:
- logits: 最大差异 = 5.817413330078125e-05。 导出的模型已保存在:bert_tflite
上述示例展示了如何从 🤗 Hub 导出模型。如果要导出本地模型,首先确保模型的权重和分词器文件都保存在同一目录下(local_path)。使用 CLI 时,将 local_path 传递给 model 参数,而不是 🤗 Hub 上的检查点名称。