Skip to content

8卡ddp增加batch_size,精度值严重下降 #80

Open
@ccssu

Description

@ccssu

Multi-GPU Training ultralytics/yolov5#475

问题描述

增加 batch_size ,在300个epoch训练下,mAP_0.5:0.95 精度值下降了2.4750000000000014

数据表如下所示:

gpu batch_size cfg metrics/mAP_0.5, metrics/mAP_0.5:0.95,
目标 2 64 yolov5n.yaml 45.6 27.7
实验01 8 256 yolov5n.yaml 44.132 26.936
实验02 8 512 yolov5n.yaml 40.69, 24.461,

趋势图:
image

注意:

  • 实验01 启动指令 python -m oneflow.distributed.launch --nproc_per_node 8 train.py --data data/coco.yaml --weights ' ' --cfg models/yolov5n.yaml --batch 256
  • 实验02 启动指令 python -m oneflow.distributed.launch --nproc_per_node 8 train.py --data data/coco.yaml --weights ' ' --cfg models/yolov5n.yaml --batch 512

复现实验数据

  1. 在oneflow最新master分支即可
  2. one-yolov5 请切换到 recurrence_batch_have_an_impact_on_mAP
  3. 不在a100机器 请修改 data/coco.yaml文件中数据集路径 path: /data/detection_datasets/coco # dataset root dir
  4. 实验01 启动指令 python -m oneflow.distributed.launch --nproc_per_node 8 train.py --data data/coco.yaml --weights ' ' --cfg models/yolov5n.yaml --batch 256
  5. 实验02 启动指令 python -m oneflow.distributed.launch --nproc_per_node 8 train.py --data data/coco.yaml --weights ' ' --cfg models/yolov5n.yaml --batch 512

实验环境

  • 两次实验使用的为同一oneflow版本 同一 one-yolov5代码
  • oneflow版本:2deed1b849 (HEAD -> fuse_get_ciou_result )
  • one-yolov5版本: 33d2e89 (HEAD -> main)
  • 机器: a100

Metadata

Metadata

Assignees

No one assigned

    Labels

    questionFurther information is requested

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions