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

如何将Yolov5 TFLite模型输出改为float32?能否获取4个该类型模型?

解决方法

1. 将Yolov5导出的TFLite模型输出改为float32类型

Yolov5默认导出的float32格式TFLite模型输出应为float32,若你的模型输出是int32,大概率是开启了量化导出导致的,可通过以下两种方式修正:

  • 通过导出命令强制指定格式:
    运行export.py时,明确关闭INT8和FP16量化,强制以纯float32格式导出,执行命令:

    python export.py --weights yolov5s.pt --include tflite --int8 False --fp16 False
    

    此命令会生成输出层为float32类型的TFLite模型。

  • 手动修改模型输出 dtype:
    若命令行参数无效,可直接修改Yolov5的模型代码。在models/yolo.py的Detect类forward函数末尾,将所有输出张量强制转换为float32:

    return [x.float() for x in out]  # 把模型所有输出转为float32类型
    

    修改后重新执行导出命令即可。

2. 导出4个float32类型的TFLite模型

如果需要的是Yolov5的4个不同版本(如s/m/l/x),分别对对应权重文件执行上述导出流程即可:

  • 导出yolov5s的float32 TFLite:
    python export.py --weights yolov5s.pt --include tflite --int8 False --fp16 False
    
  • 导出yolov5m的float32 TFLite:
    python export.py --weights yolov5m.pt --include tflite --int8 False --fp16 False
    
  • 导出yolov5l的float32 TFLite:
    python export.py --weights yolov5l.pt --include tflite --int8 False --fp16 False
    
  • 导出yolov5x的float32 TFLite:
    python export.py --weights yolov5x.pt --include tflite --int8 False --fp16 False
    
    执行完成后,你将得到4个独立的float32类型TFLite模型文件。

若需要同一个基础模型的4种配置变体,只需调整导出时的参数(如--img-size设置不同输入尺寸),重复上述导出步骤即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 11:45:33