YOLOv5训练时设置640×480图像尺寸报错问题求助
解决YOLOv5训练时设置非正方形图像尺寸报错问题
问题原因
你执行命令时传入--img-size 640 480报错,是因为YOLOv5的train.py中parse_opt函数将--img-size参数定义为单个int类型,只能接收一个数值,无法识别第二个参数480。
解决方法
方法1:修改参数定义(推荐)
打开train.py找到parse_opt函数,将--img-size的参数类型改为支持多值输入:
# 原代码 parser.add_argument('--img-size', type=int, default=640, help='train, val image size (pixels)') # 修改后 parser.add_argument('--img-size', nargs='+', type=int, default=[640, 640], help='train, val image size (pixels)')
修改后,命令中传入--img-size 640 480就能被正确解析,同时代码中后续需要处理这个参数的地方也要对应调整为列表/元组(比如数据加载、模型处理逻辑中使用宽高两个值)。
方法2:适配默认逻辑
如果不想修改代码,可使用正方形尺寸(如--img-size 640),或者检查你的YOLOv5版本是否支持通过其他内置方式设置非正方形尺寸(部分新版本已优化该参数的兼容性)。
验证修改
修改完成后,重新执行训练命令:
python3 /YOLOv5/yolov5/train.py --img-size 640 480 --batch 8 --epochs 300 --data data.yaml --weights yolov5s.pt --cache
内容的提问来源于stack exchange,提问作者reiya
相关产品推荐
相关产品推荐

