2 Commits
Author SHA1 Message Date
Shaun ZhouandClaude Opus 5 c2bd5301b4 feat(deploy): 模型归档统一为 film_<边长>_<时间戳>
之前 160 的 OpenVINO 导出直接从 current.pt 导,文件名不带边长也不带时间戳,
同时留着 128 和 160 两套时分不清谁是谁,软链接又会被下次训练改写。

- 新增 scripts/export_openvino.py:把权重归档成 film_<边长>_<时间戳>.pt 并导出
  同名的 OpenVINO 目录。边长从 checkpoint 读、时间戳从训练目录名取,所以同一次
  训练无论何时归档名字都一样,也不会出现文件名与实际输入尺寸对不上。
- 重训脚本第 5 步自动归档;训练目录与切片数据集的名字也带上边长。
- openvino_predict.py 的示例路径跟着更新。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-30 15:11:45 +08:00
Shaun ZhouandClaude Opus 5 ada67466d4 feat(deploy): 不依赖 ultralytics 的 OpenVINO 推理脚本
只用 openvino + numpy + PIL,可以直接拷到部署设备上跑(连同 engine/tiling.py 与
engine/detection.py 三个文件)。

自己解码原始输出:前 4 行是像素 xywh、可能越界要裁剪,其余每行一个类别的分数且已过
sigmoid;导出的 metadata.yaml 里 end2end=false,必须自己做 NMS——实测同一个目标会出
3 个候选框。灰度图自动补成三通道。

图片已经是模型输入尺寸时直接推理;大于输入尺寸时加 --tile-size 自行切片再拼回。
给了 --labels 还会统计逐类 TP/FP/FN。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-24 17:50:53 +08:00