只要实战、不讲理论、一文读懂
版权: 本文由【墨理学AI】认真原创、各位大佬、一文读懂、敬请查阅 声明: 作为全网 AI 范畴 干货最多的博主之一,❤️ 不负光阴不负卿 ❤️
环境建立
- 服务器:ubuntu1~18.04 Quadro RTX 5000 16G
- CUDA 内核驱动是 cuda10.2 版别的驱动
- 友谊提示:本文运用代码版别位 2021 年的Git仓库代码,教程仅供参考
- 代码传送门: https://github.com/ultralytics/yolov5
最新当时环境建立办法【2021-8-19】
conda create -n torchYolo python=3.8.0
conda activate torchYolo
pip install -r requirements.txt
# export requirements 【模型转化需要装置】
pip install coremltools onnx scikit-learn
测验
运用 预练习 模型进行测验: 【2020-09-25 版别代码测验办法】
python detect.py --source ./inference/images/ --weights ./pretrain/yolov5x.pt --conf 0.4
测验检测效果示例如下:
- 可以发现,模型越大,检测越准确(目标数值变大);
【2021-8-19】弥补更新,当时版别作者代码一直在更新【测验指令相应也有改变】
显卡推理测验 Quadro RTX 5000【2021-8-19版别代码测验】
该部分随官方代码更新弥补
对 coco/images/val2017 进行测验
python detect.py --source data/coco/images/val2017
GPU 占用 1217MiB
# 输出如下
...
image 4998/5000 /home/moli/project/projectBy/ten/objectDetect/coco/images/val2017/000000581482.jpg: 448x640 1 clock, Done. (0.008s)
image 4999/5000 /home/moli/project/projectBy/ten/objectDetect/coco/images/val2017/000000581615.jpg: 640x480 1 toilet, Done. (0.008s)
image 5000/5000 /home/moli/project/projectBy/ten/objectDetect/coco/images/val2017/000000581781.jpg: 480x640 22 bananas, 3 oranges, Done. (0.008s)
Results saved to runs/detect/exp3
Done. (121.517s)
# 速度
FPS = 5000 / 121.517 = 41.146 帧 / 秒
对 视频检测测验 3840 * 2160 分辨率 | 29.97 帧 / 秒
python detect.py --source data/videos/
GPU 占用 1217MiB
# 输出如下
...
video 1/1 (3622/3622) /home/moli/data/videos/5p2b_01A1.m4v: 384x640 5 persons, 1 sports ball, Done. (0.008s)
Results saved to runs/detect/exp2
Done. (384.598s)
# 速度
FPS = 3622 / 384.598 = 9.417 帧 / 秒
yolov5s.pt 转化 得到 yolov5s.onnx
python export.py --weights yolov5s.pt --img 640 --batch 1 --include onnx
# 输出如下
export: weights=yolov5s.pt, img_size=[640], batch_size=1, device=cpu, include=['onnx'], half=False, inplace=False, train=False, optimize=False, dynamic=False, simplify=False, opset=12
YOLOv5 v5.0-375-gd1182c4 torch 1.9.0+cu102 CPU
Fusing layers...
Model Summary: 224 layers, 7266973 parameters, 0 gradients
PyTorch: starting from yolov5s.pt (14.8 MB)
ONNX: starting export with onnx 1.10.1...
ONNX: run --dynamic ONNX model inference with: 'python detect.py --weights yolov5s.onnx'
Export complete (2.88s)
运转 yolov5s.onnx 进行测验
python detect.py --weights yolov5s.onnx
detect: weights=['yolov5s.onnx'], source=data/images, imgsz=[640, 640], conf_thres=0.25, iou_thres=0.45, max_det=1000, device=, view_img=False, save_txt=False, save_conf=False, save_crop=False, nosave=False, classes=None, agnostic_nms=False, augment=False, visualize=False, update=False, project=runs/detect, name=exp, exist_ok=False, line_thickness=3, hide_labels=False, hide_conf=False, half=False, tfl_int8=False
YOLOv5 v5.0-375-gd1182c4 torch 1.9.0+cu102 CUDA:0 (Quadro RTX 5000, 16125.3125MB)
image 1/2 /home/moli/project/project21Next/modelTrans/ncnnLearn/yolov5/data/images/bus.jpg: 640x640 4 class0s, 1 class5, Done. (0.620s)
image 2/2 /home/moli/project/project21Next/modelTrans/ncnnLearn/yolov5/data/images/zidane.jpg: 640x640 2 class0s, 2 class27s, Done. (0.369s)
Results saved to runs/detect/exp
Done. (4.562s)
官方coco128 数据集练习 + 测验
下载 coco128 数据集、并解压:
curl -L -o tmp.zip https://github.com/ultralytics/yolov5/releases/download/v1.0/coco128.zip && unzip -q tmp.zip && rm tmp.zip # download dataset
练习:
服务器网络畅通,则直接执行如下指令,会主动下载 coco128 数据集,并开端练习:
python train.py --img 640 --batch 16 --epochs 5 --data ./data/coco128.yaml --cfg ./models/yolov5s.yaml --weights ''
测验:(这一步效果是什么???)
python test.py --data coco128.yaml --img 640 --conf 0.001
运用练习得到的模型进行测验:
python detect.py --source ./inference/images/ --weights ./runs/exp0/weights/best.pt --conf 0.4
测验并生成数据对应的检测成果文本文件 –save-txt
python detect.py --source ./inference/images/ --weights ./runs/exp0/weights/best.pt --conf 0.4 --save-txt
总结: –save-txt 检测成果txt ;调查 上一过程 ./inference/output/ 目录下生成的文件,发现如下
定制数据集练习
Train Custom Data:直接参考官方
官方示例,过程简述如下:
6. 运用 yolov5s.pt 预练习模型 对 coco128 进行 300 epochs 练习
time python train.py --img 640 --batch 16 --epochs 300 --data ./data/coco128.yaml --cfg ./models/yolov5s.yaml --weights ./pretrain/yolov5s.pt --device 1
- 练习时长: 20分钟
- 生成成果目录: yolov5-master/runs
- 300 epochs 练习 得到的 results.png 如下:
墨理学AI
作为全网 AI 范畴 干货最多的博主之一,❤️ 不负光阴不负卿 ❤️ ❤️ 假如文章对你有帮助、点赞、谈论鼓舞博主的每一分认真创作