File "D:\YOLOv5\train.py", line 73, in train model = Model(opt.cfg or ckpt['model'].yaml, ch=3, nc=nc).to(device) # create
时间: 2023-04-09 14:04:31 浏览: 295
这是一个 Python 代码中的错误提示,意思是在 D 盘的 YOLOv5 文件夹下的 train.py 文件的第 73 行出现了错误。具体错误是在训练模型时,创建了一个 Model 对象,但是在创建时出现了问题,可能是由于配置文件(opt.cfg)或者之前保存的模型文件(ckpt['model'].yaml)有误导致的。同时,代码中还指定了输入图片的通道数为 3(ch=3),输出类别数为 nc。最后,模型被移动到了指定的设备上(device)。
相关问题
Traceback (most recent call last): File "train.py", line 616, in <module> train(hyp, opt, device, tb_writer) File "train.py", line 88, in train model = Model(opt.cfg or ckpt['model'].yaml, ch=3, nc=nc, anchors=hyp.get('anchors')).to(device) # create File "D:\yolov7\yolov7-main\models\yolo.py", line 532, in __init__ self.model, self.save = parse_model(deepcopy(self.yaml), ch=[ch]) # model, savelist File "D:\yolov7\yolov7-main\models\yolo.py", line 809, in parse_model m_ = nn.Sequential(*[m(*args) for _ in range(n)]) if n > 1 else m(*args) # module TypeError: __init__() takes from 3 to 4 positional arguments but 5 were given
这个错误的意思是在 `yolo.py` 文件的 `__init__()` 函数中,有一个 `m()` 函数的参数数量不正确。它期望接收 3 到 4 个位置参数,但实际上给了 5 个参数。因此,你需要检查你的代码并确保在调用 `m()` 函数时,传递的参数数量是正确的。你可以检查 `train.py` 文件中的 `train()` 函数,特别是在调用 `Model()` 函数时是否有传递正确的参数。
File "train.py", line 616, in <module> train(hyp, opt, device, tb_writer) File "train.py", line 88, in train model = Model(opt.cfg or ckpt['model'].yaml, ch=3, nc=nc, anchors=hyp.get('anchors')).to(device) # create File "D:\yolov7\yolov7-main\models\yolo.py", line 532, in __init__ self.model, self.save = parse_model(deepcopy(self.yaml), ch=[ch]) # model, savelist File "D:\yolov7\yolov7-main\models\yolo.py", line 808, in parse_model m_ = nn.Sequential(*[m(*args) for _ in range(n)]) if n > 1 else m(*args) # module TypeError: __init__() takes from 3 to 4 positional arguments but 5 were given
这是一个 TypeError 错误,意味着在调用 `yolo.py` 中的 `__init__()` 函数时传入的参数数量不正确。根据代码,`parse_model()` 函数在调用 `__init__()` 函数时传入了 5 个参数,但是该函数只接受 3 或 4 个位置参数。
你需要检查传入 `__init__()` 函数的参数数量是否正确,并确保每个参数都正确传递。可能需要查看 `parse_model()` 函数的实现,以确定哪个参数不正确。
阅读全文