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

重训练的TFLite目标检测模型在Unity调用时如何匹配输入输出解决报错

TFLite重训练目标检测模型Unity调用输出张量报错问题

这是我首次尝试重新训练TensorFlow目标检测模型,后续我将使用C#在Unity中调用该模型。
我已验证公开的coco_ssd_mobilenet_quant.tflite量化模型可在项目中完全正常运行。
我参考TensorFlow Lite官方Model Maker目标检测教程重训练了结构相近的模型,训练全程无异常报错。
我在Unity中加载新训练的模型时,Invoke方法可以正常运行,但获取输出张量失败,具体报错如下:

Exception TensorFlow Lite operation failed. TensorFlowLite.Interpreter.GetOutputTensorData (System.Int32 outputTensorIndex, System.Array outputTensorData)

触发报错的代码行是:

interpreter.GetOutputTensorData(0, outputs0);

我初步猜测是模型导出环节存在问题,因此我将两个模型都在Netron中打开并截图,可通过对比两个模型的输入输出结构定位问题:

  • 可正常运行的模型截图:
    可在解释器中正常运行的模型
  • 无法正常运行的新模型截图:
    无法在解释器中正常运行的模型
    我可以看到两个模型的输入输出量化方式、格式、排布都存在明显差异,希望可以通过调整tflite模型导出配置,或是调整Unity中的模型调用逻辑解决该问题。
    我未对原有Single Shot Detector的C#调用代码做任何修改。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 01:15:10