README
20200817, yolov5发布了3.0,精度来到了49.2,加上多尺度tta后 50.8

安装
感觉这个issue, v3.0的release指向的分支有问题,所以保险起见
git clone git@github.com:ultralytics/yolov5.git
git reset --hard 916d4aa
下载weights
bash weights/download_weights.sh
不要用github里面的release来下载,太慢,用这个比较快
文件布局
yolov5的文件布局我不习惯,比如data里面放yaml, coco路径和yolov5同级,有点别扭,我改了一下,在yolov5下新建coco文件夹,如下,
coco
|-- data.yaml
`-- model.yaml
model.yaml就是yolov5x.yaml,data.yaml改了一下路径

然后进入
data/scripts,运行
bash get_coco.sh
会得到data/coco这个文件夹,和data.yaml对应上了
test
python test.py --data coco/data.yaml --weights weights/yolov5x.pt --img 640 --conf 0.001 --save-json
可以复现49.2的map,挺好
水下检测实战
python train.py --cfg underwater/model.yaml --data underwater/data.yaml --epochs 100 --weights weights/yolov5x.pt --batch-size 8
5260张 train 2*2080ti, 显存2*9300mb,6min/epoch,设置的100epoch差不多是10h,有点久
map 0.5, map50 0.847,但是同数据的universe 0.523 0.858, cas 64 4d 0.536 0.867,可能是尺度小了点,
在超算上试一下
python train.py --cfg underwater/model.yaml --data underwater/data.yaml --epochs 100 --weights weights/yolov5x.pt --batch-size 8 --cache-images
2V100(16G) 加上 cache也是6min/epoch,此时是bs8 * 2,换成bs 16 看看速度会不会加快,换成了bs 16 速度是4min/epoch,还可以,
bs4 1024 2gpu, 10min/epoch
换成4V100 bs 6,6不是4的倍数,报了错,改成了4*bs4 ,还是10min/epoch,总共跑了18h,map 0.503,搞了一点点,map50最高是0.845,欸,垃圾
trouble shooting
进度条给的map低了点
是的, 根据issue yolov5 test.py里面的评估有点问题,加上--save-json调用pycocotools来评估就可以了