mindyolo自定义数据集模型训练报错
MindYOLO使用自定义coco2017数据集训练错误 配置ubuntu系统、CUDA11.6、MindSpore 2.2.14、MindYOLO 0.3.0。训练指令错误日志。
·
问题描述:
MindYOLO使用自定义coco2017数据集训练错误 配置
ubuntu系统、CUDA11.6、MindSpore 2.2.14、MindYOLO 0.3.0。
训练指令
python train.py --config /home/xiaoyao/mindyolo-master/mydata.yaml --epochs=20 --iou_thres=0.6 --conf_thres=0.25
错误日志
Traceback (most recent call last):
File "/home/xiaoyao/mindyolo-master/train.py", line 331, in <module>
train(args)
File "/home/xiaoyao/mindyolo-master/train.py", line 286, in train
trainer.train(
File "/home/xiaoyao/mindyolo-master/mindyolo/utils/trainer_factory.py", line 153, in train
for i, data in enumerate(loader):
File "/home/xiaoyao/anaconda3/envs/mind/lib/python3.9/site-packages/mindspore/dataset/engine/iterators.py", line 152, in __next__
data = self._get_next()
File "/home/xiaoyao/anaconda3/envs/mind/lib/python3.9/site-packages/mindspore/dataset/engine/iterators.py", line 277, in _get_next
raise err
File "/home/xiaoyao/anaconda3/envs/mind/lib/python3.9/site-packages/mindspore/dataset/engine/iterators.py", line 260, in _get_next
return {k: self._transform_md_to_output(t) for k, t in self._iterator.GetNextAsMap().items()}
RuntimeError: Exception thrown from user defined Python function in dataset.
------------------------------------------------------------------
- Python Call Stack:
------------------------------------------------------------------
Traceback (most recent call last):
File "/home/xiaoyao/anaconda3/envs/mind/lib/python3.9/site-packages/mindspore/dataset/engine/datasets_user_defined.py", line 101, in _cpp_sampler_fn
val = dataset[i]
File "/home/xiaoyao/mindyolo-master/mindyolo/data/dataset.py", line 313, in __getitem__
sample = getattr(self, func_name)(sample, **_trans)
File "/home/xiaoyao/mindyolo-master/mindyolo/data/dataset.py", line 1076, in label_pad
cls_pad[:min(nL, padding_size)] = cls[:min(nL, padding_size)]
ValueError: could not broadcast input array from shape (14,) into shape (14,1)
------------------------------------------------------------------
- Dataset Pipeline Error Message:
------------------------------------------------------------------
[ERROR] Execute user Python code failed, check 'Python Call Stack' above.
------------------------------------------------------------------
- C++ Call Stack: (For framework developers)
------------------------------------------------------------------
mindspore/ccsrc/minddata/dataset/engine/datasetops/source/generator_op.cc(259).
解决方法:
这个是shape广播的错误,之前也有人碰到过。应该是数据处理中numpy相关操作使用不当造成的, 可能是版本更新的过程中,numpy之类的python库兼容出现了问题,或者报错代码处的numpy库使用不严谨造成的,可以把报错处的那行代码改成如下代码试试:
cls_pad[:min(nL, padding_size)] = np.expand_dims(cls[:min(nL, padding_size)], axis=1)
更多推荐
所有评论(0)