当yolo增加一些模块的时候训练完第一轮进行验证的时候就报错
RuntimeError: Input type (torch.cuda.FloatTensor) and weight type (torch.cuda.HalfTensor) should be the same
主要是混合精度的问题
解决方案:
1、把amp=False
2、到ultralytics/engine/validator.py文件里面 crtl+f搜索half
将
self.args.half = self.device.type != 'cpu' # force FP16 val during training
注释掉,然后增加一个
self.args.half =False
然后重新训练就ok了,如果跑其他的再改回去