使用终端训练YOLOv5模型报错,原命令为:
"python train.py --img 640 --batch 1 --epochs 25 --data "C:\Users\GRT\PycharmProjects\yolov5-7.0\animal_training\dataset.yaml
" --weights "C:\Users\GRT\PycharmProjects\yolov5-7.0\MyFunction\yolov5s.pt" --device 0
问题点:
"C:\Users\GRT\PycharmProjects\yolov5-7.0\MyFunction\yolov5s.pt"这一行代码带有双引号
解决方法:
把双引号去掉就可以了
C:\Users\GRT\PycharmProjects\yolov5-7.0\MyFunction\yolov5s.pt
完整指令代码:
"python train.py --img 640 --batch 1 --epochs 25 --data "C:\Users\GRT\PycharmProjects\yolov5-7.0\animal_training\dataset.yaml
" --weights C:\Users\GRT\PycharmProjects\yolov5-7.0\MyFunction\yolov5s.pt --device 0
疑问
在没有添加"--device 0"的时候,使用cpu训练带双引号是没问题的,但加上了"--device 0" 这一代码之后使用cuda训练就报这个错误,在网上也有看到有的人说把单引号改成双引号,有的说把双引号改成单引号,我都试了,最后把所有引号都去掉就可以正常运行,所以遇到这个问题,见仁见智吧
后续
把"--device 0" 位置调整一下就不会出现心上错误
"python train.py --img 640 --batch 1 --epochs 25 --device 0 --data "C:\Users\GRT\PycharmProjects\yolov5-7.0\animal_training\dataset.yaml" --weights "C:\Users\GRT\PycharmProjects\yolov5-7.0\MyFunction\yolov5s.pt"
代码这样写不会报错!