ARTICLE DETAIL

资讯详情

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

BMW-YOLOv4-Training-Automation REST API 完整参考:7 个端点玩转训练监控与实时推理

BMW-YOLOv4-Training-Automation REST API 完整参考:7 个端点玩转训练监控与实时推理 BMW-YOLOv4-Training-Automation REST API 完整参考7 个端点玩转训练监控与实时推理【免费下载链接】BMW-YOLOv4-Training-AutomationThis repository allows you to get started with training a state-of-the-art Deep Learning model with little to no configuration needed! You provide your labeled dataset or label your dataset using our BMW-LabelTool-Lite and you can start the training right away and monitor it in many different ways like TensorBoard or a custom REST API and GUI. NoCode training with YOLOv4 and YOLOV3 has never been so easy.项目地址: https://gitcode.com/gh_mirrors/bm/BMW-YOLOv4-Training-Automation想要零配置启动 YOLOv4 训练又希望实时掌握训练进度、随时用最新权重做目标检测推理BMW-YOLOv4-Training-Automation 提供的REST API正是为此而生。这套基于 FastAPI 构建的接口训练一启动便自动开启内置 Swagger 交互文档只需浏览器即可完成训练监控与实时推理。本文为你逐一拆解全部 7 个端点从 batch 输出查询、subdivision 状态获取到配置文件读取、验证集效果对比和自定义图片预测帮你彻底玩转这套 YOLO 训练自动化工具。这套 REST API 是什么BMW-YOLOv4-Training-Automation 是 BMW InnovationLab 开源的 YOLO 训练自动化框架同时兼容 YOLOv4 与 YOLOv3。它把准备数据集 → 自动改写 cfg → 计算 anchors → 启动训练整条链路封装成一条命令而 REST API 则是训练过程中面向开发者的一扇窗以结构化 JSON 返回 darknet 的训练日志替代人工盯终端用最新保存的权重对任意图片做实时推理提供 Swagger UI接口可读、可测、可对接。核心实现位于 src/api.py工具函数训练状态检测、进程存活判断在 src/api_utils.py默认监听8000 端口。如何快速启动 REST API无需单独安装服务API 随训练自动拉起。训练脚本 src/train_darknet.py 中检测到配置开启后会自动执行uvicorn api:app启动接口。你只需要复制配置文件模板config/train_config.json.template为train_config.json将training.custom_api.enable设为true默认开启port设为 8000可自定义运行./run_docker_linux_gpu.sh启动训练。浏览器访问http://localhost:8000/即可看到 Swagger 文档所有端点都可以直接Try it out测试。7 个端点逐一详解全部端点按功能分为三组训练监控4 个、配置查询1 个、推理服务2 个。一、训练监控端点Batch 输出查询训练日志按 batch一批图片与 subdivision子批次两级粒度输出API 提供最新与全量两种视角。GET /summary获取最近一次 batch 输出返回最近一次迭代的 JSON 摘要包含 loss、avg 等关键指标是训练中最常用的体检接口。响应结构固定为{success, start_time, data}其中start_time是训练启动时间来自环境变量TRAIN_START_TIMEdata为解析后的日志。GET /summaries获取全部 batch 输出历史一次性返回到目前为止所有 batch 的摘要列表适合绘制 loss 曲线或事后分析。内部读取summaries.txt的全部行并逐行解析为 JSON 数组。二、训练监控端点Subdivision 状态查询darknet 会把一次 batch 拆成多个 subdivision 逐步输出这两个端点粒度更细。GET /status获取最近一次 subdivision 输出返回最新一条 subdivision 状态帮助定位训练卡顿发生在哪个子批次。底层读取status.txt的最后一行。GET /statuses获取全部 subdivision 输出返回全量 subdivision 状态列表可用于排查某一步骤 loss 异常跳变等细粒度问题。三、配置查询端点GET /config获取训练配置文件返回本次训练实际使用的train_config.json完整内容包含类别列表、batch_size、max_batches、学习率、GPU 等全部参数。多机协作或复盘训练时这个端点能快速确认当时到底用了什么配置。四、推理服务端点GET /validate验证集效果对比从测试集中自动挑选一张图片用最新保存的权重推理并生成预测图 真值图的左右拼图返回左侧为模型预测右侧为 ground truth。训练过程中每次保存*_last.weights时都会自动更新这张对比图是观察模型收敛效果最直观的方式。YOLOv4 实时推理结果示例POST /predict 返回带检测框的预测图片POST /predict上传图片实时推理最常用的实时推理端点。以 multipart 表单上传一张图片image字段服务端自动定位*_last.weights、对应的.data与.cfg文件调用 darknetdetector test完成检测并返回标注好边界框的图片。实现细节若尚未有保存的权重会返回提示信息没有预测上传的图片会被保存到predictions/目录其中data/labels符号链接自 darknet 的标签目录用于正确绘制类别名。常见使用场景与技巧场景一训练中快速验证模型训练进行到一半想知道当前效果直接POST /predict上传测试图片或用GET /validate查看自动生成的对比图无需中断训练。场景二对接 TensorBoard 与可视化监控除了 REST API项目还支持 TensorBoard默认 6006 端口与 AlexeyAB 的 web_ui默认 8090 端口。训练过程中的 loss 与 mAP 曲线、每次权重保存时的预测图都会写入 TensorBoard三个监控通道互不干扰API 适合程序化对接TensorBoard 适合趋势分析web_ui 适合实时画面预览。场景三判断训练是否异常REST API 内部通过check_error()检测训练进程状态训练尚未开始返回提示消息训练正常结束返回训练已完成及权重保存路径提示进程被杀死返回 400 状态码与错误信息可据此快速排查yolo_events.log日志。常见问题端口被占用修改train_config.json中training.custom_api.port即可返回 400 训练被终止检查显存是否溢出可尝试调大 subdivisions 或减小图片尺寸predict 返回没有预测说明还没有生成*_last.weights等待模型保存第一个 checkpoint 后再试。结语BMW-YOLOv4-Training-Automation 的 REST API 用 7 个精心设计的端点把训练监控与实时推理两大高频需求打包成开箱即用的服务4 个端点覆盖 batch/subdivision 两级的训练日志查询1 个端点随时回读训练配置2 个端点完成验证与推理。配合 Swagger 文档与 TensorBoard无论是新手入门 YOLO 训练还是进阶玩家做自动化实验管理都能即开即用、快速上手。现在就复制config/train_config.json.template开启你的 YOLOv4 训练自动化之旅吧【免费下载链接】BMW-YOLOv4-Training-AutomationThis repository allows you to get started with training a state-of-the-art Deep Learning model with little to no configuration needed! You provide your labeled dataset or label your dataset using our BMW-LabelTool-Lite and you can start the training right away and monitor it in many different ways like TensorBoard or a custom REST API and GUI. NoCode training with YOLOv4 and YOLOV3 has never been so easy.项目地址: https://gitcode.com/gh_mirrors/bm/BMW-YOLOv4-Training-Automation创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表