尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

BMW-YOLOv4-Training-Automation 完全指南:宝马开源的零代码 YOLOv4/YOLOv3 目标检测训练神器

BMW-YOLOv4-Training-Automation 完全指南:宝马开源的零代码 YOLOv4/YOLOv3 目标检测训练神器 BMW-YOLOv4-Training-Automation 完全指南宝马开源的零代码 YOLOv4/YOLOv3 目标检测训练神器【免费下载链接】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想要训练一个属于自己的目标检测模型却总是被复杂的 darknet 配置、编译环境和调参流程劝退BMW-YOLOv4-Training-Automation正是为此而生的零代码 YOLOv4/YOLOv3 目标检测训练自动化工具。这个由宝马创新实验室开源的仓库基于 AlexeyAB 的 darknet 深度封装让你只需准备一份标注好的数据集就能一键启动训练并通过 REST API、TensorBoard 等多种方式实时监控训练过程。本文将从零开始带你用最少的配置完成一次完整的目标检测模型训练。为什么选它零代码目标检测训练的三大优势零配置启动不需要手动编写 darknet 的.cfg、.data、.names文件所有 YOLO 训练配置由项目自动生成。YOLOv3 / YOLOv4 双兼容一套流程同时支持经典 YOLOv3 与更强的 YOLOv4还能使用yolov3-tiny等轻量变体。可视化监控全家桶内置 Swagger API、TensorBoard 与 AlexeyAB Web UI 三种监控方式训练进度一目了然。整个训练流水线的核心逻辑集中在 src/train.py 与 src/main.py 中入口通过 src/factory.py 读取配置文件后启动训练代码结构清晰方便二次定制。快速开始环境准备与一键安装步骤项目推荐在 Ubuntu 18.04 上运行并已深度集成 Docker环境搭建只需两步脚本chmod x scripts/install_dependencies.sh source scripts/install_dependencies.sh chmod x scripts/install_docker.sh source scripts/install_docker.sh若使用 GPU 训练还需提前装好 NVIDIA 驱动与 nvidia-docker。依赖与 Docker 的安装细节分别见 scripts/install_dependencies.sh 和 scripts/install_docker.sh。环境就绪后先构建 Docker 镜像。GPU 机器执行sudo docker build -f docker/Dockerfile -t darknet_yolov4_gpu:1 \ --build-arg GPU1 --build-arg CUDNN1 --build-arg CUDNN_HALF0 --build-arg OPENCV1 .纯 CPU 机器则把GPU0 CUDNN0并命名darknet_yolov4_cpu:1想启用多核 CPU 训练追加--build-arg OPENMP1即可。构建参数定义在 docker/Dockerfile镜像内已打包 darknet 全部依赖。最快配置方法train_config.json 参数详解训练的核心是train_config.json项目提供了开箱即用的模板 config/train_config.json.template。复制一份去掉.template后缀按需修改三个区块即可data 区块声明类别名称classes与训练集划分比例train_ratio默认 0.8 即 80% 训练 / 20% 测试。model 区块指定模型框架与名称model_name可选yolov4、yolov3、yolov3-tiny、批大小、max_batches、输入尺寸默认 416×416等关键超参。YOLOv4 特有的mosaic、blur数据增强开关也在这里开启。training 区块配置 GPU 编号、是否计算 mAP以及 API / TensorBoard / Web UI 的开关与端口。每个字段的详细含义都写在了 JSON Schema 文件 config/train_config_schema.json 中哪怕不懂 darknet 也能照葫芦画瓢。数据集准备零基础也能完成标注与整理项目自带示例数据集 sample_dataset里面有大量带标注的训练图片。以其中一张为例内容是仓库场景中的红色手推车类别 Dolly和轮子类别 Wheels目标边界清晰非常适合初学者练手。数据集目录只需按如下结构摆放dataset/ ├── images/ # 图片文件 ├── labels/yolo/ # 同名 .txt 标签YOLO 格式 └── train_config.json标签文件可使用宝马自家的 BMW-LabelTool-Lite 标注工具生成。如果未提供train.txt/test.txt项目会自动按train_ratio划分训练与测试集省心省力。一键启动训练GPU 与 CPU 的完整命令给脚本加上执行权限后直接运行即可chmod x *.sh ./run_docker_linux_gpu.sh # GPU 版 # 或 ./run_docker_linux_cpu.sh # CPU 版脚本会询问两个问题数据集的绝对路径和容器名称同时也是训练输出的前缀。输入后训练立即开始随时可用CTRLC停止。两个脚本都会自动读取train_config.json中的端口配置并映射到宿主机见 run_docker_linux_gpu.sh。3 种训练监控方式实时掌握模型状态训练期间你可以同时使用三种监控手段1. 自定义 REST API端口 8000Swagger 界面提供GET /status获取训练日志、GET /config读取配置、POST /predict用最新权重测试自定义图片等接口结构化 JSON 输出方便集成。2. TensorBoard端口 6006loss 曲线与 mAP 曲线实时绘制一眼看出模型收敛情况是判断训练质量最直观的方式。3. AlexeyAB Web UI端口 8090在配置中把training/web_ui/enable设为true即可通过浏览器界面查看检测效果。训练完成后可以用内置 API 对测试图片进行推理绿色框即模型识别出的目标![BMW YOLO 目标检测模型预测结果可视化](https://raw.gitcode.com/gh_mirrors/bm/BMW-YOLOv4-Training-Automation/raw/c8d591c043fc8276616626d927ac01a28abbd240/gifs/3. Prediction 1.gif?utm_sourcegitcode_repo_files)训练产物与权重文件解读所有输出保存在trainings/容器名_开始时间/目录下结构一目了然config/自动生成的obj.data、obj.names和yolov4.cfgweights/按迭代数保存的检查点yolov4_best.weights为最优模型yolov4_last.weights为最新模型yolo_events.log完整训练日志常见问题排查与调优技巧训练中avg出现nan说明训练异常可尝试调低学习率如 YOLOv4 降至 0.00065。报错Out of memory把subdivisions提高到 16、32 或 64或减小输入尺寸。训练秒退无报错降低batch_size和subdivisions。多 GPU 训练出nan调小学习率并检查gpus字段配置。总结BMW-YOLOv4-Training-Automation 把原本需要数周学习成本的 darknet 训练流程压缩到了「一份 JSON 两条命令」无论是 AI 初学者还是想快速验证业务模型的工程师都能以极低门槛完成 YOLOv4/YOLOv3 目标检测训练。克隆仓库后git clone https://gitcode.com/gh_mirrors/bm/BMW-YOLOv4-Training-Automation照着本文流程走一遍你也能拥有自己的目标检测模型。【免费下载链接】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),仅供参考
返回列表