Errores comunes
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