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

如何将Teachable Machine训练的PoseNet模型转为TFLite格式?

手动将Teachable Machine PoseNet模型转换为TFLite格式(适配Flutter)

我之前正好解决过这个问题——Teachable Machine确实拿掉了PoseNet模型直接导出TFLite的功能,但咱们可以通过几步手动转换搞定,完全能适配Flutter应用,具体步骤如下:

  • 第一步:导出TensorFlow.js格式的PoseNet模型
    打开你的Teachable Machine项目,进入「Export Model」选项,选择「TensorFlow.js」下载压缩包。解压后你会得到model.json和一系列权重分片文件(比如group1-shard1ofX.bin),把它们放在同一个本地文件夹里。

  • 第二步:安装转换所需的工具
    确保你本地有Python环境,然后通过pip安装依赖:

    pip install tensorflow tensorflowjs
    
  • 第三步:将TFJS模型转成TensorFlow SavedModel
    打开终端,切换到刚才解压模型的文件夹,运行这条命令:

    tensorflowjs_converter --input_format=tfjs_layers_model --output_format=tf_saved_model ./model.json ./saved_model
    

    执行完成后,当前目录会生成一个saved_model文件夹,里面是标准的TensorFlow SavedModel格式文件。

  • 第四步:把SavedModel转换成TFLite模型
    这里用Python脚本更灵活,创建一个convert_to_tflite.py文件,内容如下:

    import tensorflow as tf
    
    # 加载SavedModel
    converter = tf.lite.TFLiteConverter.from_saved_model('./saved_model')
    # 开启默认优化(可选,能减小模型体积并提升运行速度)
    converter.optimizations = [tf.lite.Optimize.DEFAULT]
    # 执行转换
    tflite_model = converter.convert()
    
    # 保存最终的TFLite模型
    with open('pose_classifier.tflite', 'wb') as f:
        f.write(tflite_model)
    

    然后运行脚本:

    python convert_to_tflite.py
    

    跑完之后,你就能得到pose_classifier.tflite文件,这就是可以直接在Flutter里用的模型了。

  • Flutter适配小提示

    • 推荐使用tflite_flutter插件加载模型,它对多平台的支持更稳定。
    • 输入图像的尺寸要和你在Teachable Machine训练时的尺寸保持一致(默认是256x256),并且要把像素值归一化到0-1区间,和训练时的预处理逻辑对齐。

内容的提问来源于stack exchange,提问作者nikJ

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 07:28:44