ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

3 步把视觉模型搬上边缘设备:FiftyOne 边缘部署前的最后工作台

3 步把视觉模型搬上边缘设备:FiftyOne 边缘部署前的最后工作台 3 步把视觉模型搬上边缘设备FiftyOne 边缘部署前的最后工作台【免费下载链接】fiftyoneRefine high-quality datasets and visual AI models项目地址: https://gitcode.com/GitHub_Trending/fi/fiftyone视觉模型边缘部署第一次上板翻车的概率很高。FiftyOne 是做数据集整理与视觉模型评估的开源工具这篇文章不把它装到板子上而是让它当出货前的最后一道工作台把数据减脂、把精度量清楚、把设备读得懂的格式导出来。先澄清一个误区FiftyOne 不上板不少资料会教你在边缘设备上装一个轻量版没必要。FiftyOne 依赖本地数据库和完整的应用栈在树莓派这类设备上它是负担不是工具。分工很清楚FiftyOne 留在开发环境上板的是它的产出物——减过脂的数据集、量过精度的模型、可读格式的目录。开发机上先装好Python 版本要求见 pyproject.tomlpip install fiftyone给数据减脂从 5 万张到 1000 张设备存储有限训练集也得跟着有限。四个动作先看真实体量。媒体文件占多少盘导出来之前最好知道很多人以为自己的数据集不大导完发现十几个 GB。用视图切子集别手拷文件。FiftyOne 的视图是活的查询切完随时能改、能迭代原数据集不动。先查重再谈体积。同一场景连拍 30 张留 3 张就够。官方的去重基于图像 embedding建议先在小集上试跑全量再上embedding 算错重抽样本很浪费。挑出坏样本。边缘侧标注错误比样本少更致命把低置信度预测和漏检样本翻一遍再修。下面这段先量体量、再切一个千样本子集作为后面所有测试的基础import fiftyone as fo dataset fo.load_dataset(my_dataset) print(dataset.stats(include_mediaTrue)) # 看媒体文件占多少盘 small dataset.take(1000) # 切出代表性子集精度回归evaluate_detections 先在桌上跑一遍关键在于上板前把精度量出来。开发机上的指标是边缘侧的上限桌上达不到别指望板子上超常发挥。模型可以直接从模型库拉。名字以 manifest 里的字段为准比如 YOLOv8s 对应yolov8s-coco-torch以官方文档为准import fiftyone.zoo as foz model foz.load_zoo_model(yolov8s-coco-torch) dataset model.apply_model(dataset) # 结果写入 predictions 字段 results dataset.evaluate_detections(predictions, ground_truth) results.print_report()评估逻辑在 fiftyone/utils/eval/ 里支持框、mask、多边形、关键点。自己的模型也一样把推理结果写进样本的标签字段再跑同一套调用。好消息是这步可以反复用调了阈值、换了输入分辨率重跑一次就有前后对比。这份回归基线在板子上基本没条件手工做。导出设备读得懂的格式边缘框架不认 FiftyOne 的内部结构它认 COCO、YOLO 或 TensorFlow 对象检测的目录约定。一行搞定转换dataset.export( export_diredge_dataset, dataset_typefo.types.COCODetectionDataset, )边缘侧跑 YOLO 系框架就换fo.types.YOLOv5Dataset完整格式列表在 fiftyone/types/ 里。导完对一下样本数和文件数。标注都在导出目录里但样本数对不上设备端根本没法配对。容易翻车的三处在边缘侧装 FiftyOne。依赖重定位就是开发环境的工作台板子上跑的是产出物不是工具本身。猜模型名。博客里写yolov8sfiftyone/zoo/ 的 manifest 里写的是yolov8s-coco-torch名字以 manifest 为准。评估阈值不一致。evaluate_detections的 iou 默认 0.5设备端 NMS 阈值若是 0.65就用同样的口径评估不然指标好看、上板打脸。盲信减脂后的子集。随机 1000 张可能整类丢失稀有类别切分前后都看一下类别分布再走。出货前再做一次的事对最终那份减脂后的数据集重跑一次print_report()把数字记下来。边缘部署当天指标掉在哪一点你能说清楚来源就发货说不清楚问题就不在部署。FiftyOne 的分工是把要出货的模型变成量过的模型。至于板子扛不扛得住最终由芯片算力和内存说了算——这部分工具链救不了你。【免费下载链接】fiftyoneRefine high-quality datasets and visual AI models项目地址: https://gitcode.com/GitHub_Trending/fi/fiftyone创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表