You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将.safetensors模型转为TensorFlow Lite并导入Firebase ML?

解决Safetensors模型导入Firebase ML的问题

你的代码存在的问题

  • tf.saved_model.load无法直接加载.safetensors格式文件,该API仅支持TensorFlow原生的SavedModel格式
  • 代码末尾存在拼写错误:f.write(tflite_mo)应为f.write(tflite_model),且代码块未完整闭合

正确的解决步骤

Firebase ML支持TensorFlow Lite(.tflite)格式模型,需先将safetensors模型转换为TensorFlow兼容格式,再转成TFLite格式。

1. 安装依赖库

先安装处理模型转换所需的工具包:

pip install safetensors transformers tensorflow torch

2. 加载Safetensors模型并导出为TensorFlow SavedModel

Safetensors多属于Hugging Face Transformers生态的模型格式,先通过Transformers库加载模型,再转换为TensorFlow兼容的SavedModel:

from transformers import AutoModel, AutoConfig
import tensorflow as tf

# 替换为你的模型文件夹路径(需包含.safetensors文件和config.json等配置文件)
model_dir = "path/to/your/model/directory"

# 加载模型配置与safetensors权重
config = AutoConfig.from_pretrained(model_dir)
model = AutoModel.from_pretrained(model_dir, config=config, from_tf=False)

# 转换为TensorFlow Keras模型
tf_model = tf.keras.Model(inputs=model.inputs, outputs=model.outputs)

# 保存为SavedModel格式
tf_model.save("saved_model_dir")

3. 转换为TensorFlow Lite格式

使用TensorFlow Lite转换器处理SavedModel:

# 加载SavedModel并执行转换
converter = tf.lite.TFLiteConverter.from_saved_model("saved_model_dir")
tflite_model = converter.convert()

# 保存最终的TFLite模型
with open("converted_model.tflite", "wb") as f:
    f.write(tflite_model)

4. 上传至Firebase ML

将生成的converted_model.tflite文件上传至Firebase ML控制台,按照平台指引完成模型部署即可。

额外注意事项

  • 若模型用于特定任务(如图像分类、文本生成),建议使用对应任务的专用AutoModel类(如AutoModelForImageClassification),确保输出符合任务需求
  • 转换时若遇到算子不兼容问题,可启用TFLite的选择性TF算子支持:
converter.target_spec.supported_ops = [
    tf.lite.OpsSet.TFLITE_BUILTINS,
    tf.lite.OpsSet.SELECT_TF_OPS
]

内容的提问来源于stack exchange,提问作者Ufuk Köşker

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 16:18:29