yolov7训练数据帮助文档

  

yolov7训练数据帮助文档_第1张图片

网络演示

  • 融入Huggingface 空间使用渐变。试用网络演示

表现

可可女士

模型 测试尺寸 美联社测试 AP 50测试 AP 75测试 批处理 1 fps 批次 32 平均时间
YOLOv7 640 51.4% 69.7% 55.9% 161帧/秒 2.8毫秒
YOLOv7-X 640 53.1% 71.2% 57.8% 114帧/秒 4.3毫秒
YOLOv7-W6 1280 54.9% 72.6% 60.1% 84帧/秒 7.6毫秒
YOLOv7-E6 1280 56.0% 73.5% 61.2% 56帧/秒 12.3毫秒
YOLOv7-D6 1280 56.6% 74.0% 61.8% 44帧/秒 15.0毫秒
YOLOv7-E6E 1280 56.8% 74.4% 62.1% 36帧/秒 18.7毫秒

安装

Docker 环境(推荐)

扩张

测试

yolov7.pt yolov7x.pt yolov7-w6.pt yolov7-e6.pt yolov7-d6.pt yolov7-e6e.pt

python test.py --data data/coco.yaml --img 640 --batch 32 --conf 0.001 --iou 0.65 --device 0 --weights yolov7.pt --name yolov7_640_val

你会得到结果:

 Average Precision  (AP) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.51206
 Average Precision  (AP) @[ IoU=0.50      | area=   all | maxDets=100 ] = 0.69730
 Average Precision  (AP) @[ IoU=0.75      | area=   all | maxDets=100 ] = 0.55521
 Average Precision  (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.35247
 Average Precision  (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.55937
 Average Precision  (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.66693
 Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=  1 ] = 0.38453
 Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets= 10 ] = 0.63765
 Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.68772
 Average Recall     (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.53766
 Average Recall     (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.73549
 Average Recall     (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.83868

要测量准确性,请将 Pycocotools 的 COCO 注释下载到./coco/annotations/instances_val2017.json

训练

数据准备

bash scripts/get_coco.sh
  • 下载 MS COCO 数据集图像(train、val、test)和标签。如果您之前使用过不同版本的YOLO,我们强烈建议您删除train2017.cacheval2017.cache文件,并重新下载标签

单 GPU 训练

# train p5 models
python train.py --workers 8 --device 0 --batch-size 32 --data data/coco.yaml --img 640 640 --cfg cfg/training/yolov7.yaml --weights '' --name yolov7 --hyp data/hyp.scratch.p5.yaml

# train p6 models
python train_aux.py --workers 8 --device 0 --batch-size 16 --data data/coco.yaml --img 1280 1280 --cfg cfg/training/yolov7-w6.yaml --weights '' --name yolov7-w6 --hyp data/hyp.scratch.p6.yaml

多 GPU 训练

# train p5 models
python -m torch.distributed.launch --nproc_per_node 4 --master_port 9527 train.py --workers 8 --device 0,1,2,3 --sync-bn --batch-size 128 --data data/coco.yaml --img 640 640 --cfg cfg/training/yolov7.yaml --weights '' --name yolov7 --hyp data/hyp.scratch.p5.yaml

# train p6 models
python -m torch.distributed.launch --nproc_per_node 8 --master_port 9527 train_aux.py --workers 8 --device 0,1,2,3,4,5,6,7 --sync-bn --batch-size 128 --data data/coco.yaml --img 1280 1280 --cfg cfg/training/yolov7-w6.yaml --weights '' --name yolov7-w6 --hyp data/hyp.scratch.p6.yaml

迁移学习

yolov7_training.pt yolov7x_training.pt yolov7-w6_training.pt yolov7-e6_training.pt yolov7-d6_training.pt yolov7-e6e_training.pt

自定义数据集的单 GPU 微调

# finetune p5 models
python train.py --workers 8 --device 0 --batch-size 32 --data data/custom.yaml --img 640 640 --cfg cfg/training/yolov7-custom.yaml --weights 'yolov7_training.pt' --name yolov7-custom --hyp data/hyp.scratch.custom.yaml

# finetune p6 models
python train_aux.py --workers 8 --device 0 --batch-size 16 --data data/custom.yaml --img 1280 1280 --cfg cfg/training/yolov7-w6-custom.yaml --weights 'yolov7-w6_training.pt' --name yolov7-w6-custom --hyp data/hyp.scratch.custom.yaml

重新参数化

请参阅重新参数化.ipynb

推理

视频上:

python detect.py --weights yolov7.pt --conf 0.25 --img-size 640 --source yourvideo.mp4

上图:

python detect.py --weights yolov7.pt --conf 0.25 --img-size 640 --source inference/images/horses.jpg

 

出口

Pytorch 到 CoreML(以及 MacOS/iOS 上的推理) 

使用 NMS(和推理)从 Pytorch 到 ONNX 

python export.py --weights yolov7-tiny.pt --grid --end2end --simplify \
        --topk-all 100 --iou-thres 0.65 --conf-thres 0.35 --img-size 640 640 --max-wh 640

使用 NMS(和推理)从 Pytorch 到 TensorRT 

wget https://github.com/WongKinYiu/yolov7/releases/download/v0.1/yolov7-tiny.pt
python export.py --weights ./yolov7-tiny.pt --grid --end2end --simplify --topk-all 100 --iou-thres 0.65 --conf-thres 0.35 --img-size 640 640
git clone https://github.com/Linaom1214/tensorrt-python.git
python ./tensorrt-python/export.py -o yolov7-tiny.onnx -e yolov7-tiny-nms.trt -p fp16

Pytorch 到 TensorRT 的另一种方式 

扩张

测试:Python 3.7.13,Pytorch 1.12.0+cu113

你可能感兴趣的:(yolo,python,windows)