yolov8训练检测模型时出现下述问题
Traceback (most recent call last):
File “D:\dyh\ultralytics\111_v8_train_detect_kong_盟威.py”, line 15, in
model.train(data=r’D:\dyh\ultralytics\kong.yaml’,
File “D:\dyh\ultralytics\ultralytics\engine\model.py”, line 601, in train
self.trainer.train()
File “D:\dyh\ultralytics\ultralytics\engine\trainer.py”, line 208, in train
self._do_train(world_size)
File “D:\dyh\ultralytics\ultralytics\engine\trainer.py”, line 376, in _do_train
self.loss, self.loss_items = self.model(batch)
File “C:\Users\dyh.conda\envs\mw\lib\site-packages\torch\nn\modules\module.py”, line 1532, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
File “C:\Users\dyh.conda\envs\mw\lib\site-packages\torch\nn\modules\module.py”, line 1541, in _call_impl
return forward_call(*args, **kwargs)
File “D:\dyh\ultralytics\ultralytics\nn\tasks.py”, line 82, in forward
return self.loss(x, *args, **kwargs)
File “D:\dyh\ultralytics\ultralytics\nn\tasks.py”, line 261, in loss
return self.criterion(preds, batch)
File “D:\dyh\ultralytics\ultralytics\utils\loss.py”, line 263, in call
pred_distri, pred_scores = torch.cat([xi.view(feats[0].shape[0], self.no, -1) for xi in feats], 2).split(
File “D:\dyh\ultralytics\ultralytics\utils\loss.py”, line 263, in
pred_distri, pred_scores = torch.cat([xi.view(feats[0].shape[0], self.no, -1) for xi in feats], 2).split(
RuntimeError: shape ‘[65, 65, -1]’ is invalid for input of size 1064960
根据报错点进去,发现损失计算部分来到了分割的损失函数这里,肯定是有问题的
最后发现是当前目录下有一个ultralytics文件夹,是之前放的,下图有的导包的那一行,点进去之后进到了当前目录下的ultralytics文件夹,而不是采用的pip安装好的ultralytics。
解决:将ultralytics文件夹改个名字,这样导包的时候就会去找虚拟环境下的ultralytics而不是当前文件夹下的ultralytics。

更多推荐
所有评论(0)