Aprendizaje de yolo-v5 (uso de yolo-v5 para el registro de errores de detección de casco)

Errores comunes

Problemas encontrados al ejecutar YOLOv5_runtimeerror: una vista de una variable hoja que requiere el blog-CSDN de blog de Pysonmi

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

1. Problema de explosión de gradiente

Motivo del error

Este error se debe al uso de una vista de variable de nodo hoja que requiere un gradiente al realizar una operación in situ. En PyTorch, si una variable requiere un gradiente, su vista también hereda esta propiedad. La operación en el lugar consiste en operar la variable en el lugar, es decir, modificar directamente el valor de la variable, lo que provocará la pérdida o inconsistencia de la información del gradiente.

Solución

El método más simple y básico es buscar el archivo yolo.py en la carpeta de modelos y agregarlo con torch.no_grad() en la página 149: como se muestra a continuación:

2. Memoria GPU insuficiente

Solución:

3. Conflicto entre dispositivos informáticos tensoriales

El modelo y los datos se colocan en la GPU respectivamente, y los datos y el modelo se imprimen en la GPU. De hecho, la memoria de video de la GPU está ocupada durante el tiempo de ejecución, pero este error aún se informa.

Solución:

Lo vi accidentalmente aquí y se resolvió. Se resolvió fácilmente. Gracias cctv, gracias csdn y gracias a este gran tipo.

fuente:

yolov5_obb error collection_ while-blog de L-blog CSDN

4. Conversión de dispositivos informáticos tensoriales

No se puede convertir el tensor de tipo de dispositivo cuda:0 a numpy. Utilice Tensor.cpu() para copiar el tensor a la memoria del host primero.

Solución:

5. buena prueba de resultados de entrenamiento

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

Supongo que te gusta

Origin blog.csdn.net/cangqiongxiaoye/article/details/132135325
Recomendado
Clasificación