yolo-v5学习(使用yolo-v5进行安全帽检测错误记录)

常见错误

跑YOLOv5遇到的问题_runtimeerror: a view of a leaf variable that requi_Pysonmi的博客-CSDN博客

python train.py --img 640 --batch 16 --epochs 10 --data ./data/custom_data.yaml --cfg ./models/custom_yolov5.yaml --weights ./weights/yolov5s.pt

1、梯度爆炸问题

yolo-v5学习(使用yolo-v5进行安全帽检测错误记录)_第1张图片

报错原因

这个错误是由于在执行in-place操作时,使用了一个需要梯度的叶节点变量视图(view)。在PyTorch中,如果一个变量需要梯度,那么它的视图也会继承这个属性。而in-place操作是对变量进行原地操作,即直接修改变量的值,这样会导致梯度信息的丢失或不一致。

解决方法

最简单粗暴的方法是找到models文件夹下的yolo.py文件,在第149下面添加with torch.no_grad(): 如下图:

yolo-v5学习(使用yolo-v5进行安全帽检测错误记录)_第2张图片

2、gpu内存不足

解决办法:

yolo-v5学习(使用yolo-v5进行安全帽检测错误记录)_第3张图片

3、张量计算设备冲突

模型和数据都分别放入了GPU中,将数据和模型打印出来也在GPU上、运行时GPU的显存确实有被占但依然报这个错误。

yolo-v5学习(使用yolo-v5进行安全帽检测错误记录)_第4张图片

解决办法:

yolo-v5学习(使用yolo-v5进行安全帽检测错误记录)_第5张图片

无意在这里看到的,刚好解决了,真是随便解决了,感谢cctv,感谢csdn,感谢这位大佬

yolo-v5学习(使用yolo-v5进行安全帽检测错误记录)_第6张图片

yolo-v5学习(使用yolo-v5进行安全帽检测错误记录)_第7张图片

来源:

yolov5_obb报错合集_while-L的博客-CSDN博客

4、张量计算设备转换

can't convert cuda:0 device type tensor to numpy. Use Tensor.cpu() to copy the tensor to host memory first.

yolo-v5学习(使用yolo-v5进行安全帽检测错误记录)_第8张图片

解决办法:

yolo-v5学习(使用yolo-v5进行安全帽检测错误记录)_第9张图片

5、nice,训练结果测试

yolo-v5学习(使用yolo-v5进行安全帽检测错误记录)_第10张图片

python detect.py --source ./inference/test/02.jpg --weight ./weights/helmet_head_person_s.pt

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