Open zwhua006 opened 2 years ago
@zwhua006 感谢反馈,看着是https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.3/ppdet/modeling/assigners/simota_assigner.py#L77 报错,我们尽快排查下原因。
@zwhua006 请问下PaddlePaddle 的版本是低于2.1.2吗?PicoDet模型模型训练要求最低Paddle版本为2.1.2
的确是这个原因,我刚刚排查发现了,感谢您
进行迁移学习的时候,训练自己的数据集加载预训练权重后训练报错 [11/04 23:20:44] ppdet.utils.checkpoint INFO: Finish loading model weights: /project/train/src_repo/PaddleDetection/weights/picodet_l_640_coco.pdparams Traceback (most recent call last): File "tools/train.py", line 171, in
main()
File "tools/train.py", line 167, in main
run(FLAGS, cfg)
File "tools/train.py", line 127, in run
trainer.train(FLAGS.eval)
File "/project/train/src_repo/PaddleDetection/ppdet/engine/trainer.py", line 393, in train
outputs = model(data)
File "/usr/local/lib/python3.6/dist-packages/paddle/fluid/dygraph/layers.py", line 898, in call
outputs = self.forward(*inputs, *kwargs)
File "/project/train/src_repo/PaddleDetection/ppdet/modeling/architectures/meta_arch.py", line 54, in forward
out = self.get_loss()
File "/project/train/src_repo/PaddleDetection/ppdet/modeling/architectures/picodet.py", line 79, in get_loss
loss_gfl = self.head.get_loss(head_outs, self.inputs)
File "/project/train/src_repo/PaddleDetection/ppdet/modeling/heads/simota_head.py", line 393, in get_loss
flatten_bboxes.detach(), gt_box, gt_labels)
File "/project/train/src_repo/PaddleDetection/ppdet/modeling/heads/simota_head.py", line 55, in multi_apply
return tuple(map(list, zip(map_results)))
File "/project/train/src_repo/PaddleDetection/ppdet/modeling/heads/simota_head.py", line 131, in _get_target_single
F.sigmoid(cls_preds), centors, decoded_bboxes, gt_bboxes, gt_labels)
File "/project/train/src_repo/PaddleDetection/ppdet/modeling/assigners/simota_assigner.py", line 186, in call
priors, gt_bboxes)
File "/project/train/src_repo/PaddleDetection/ppdet/modeling/assigners/simota_assigner.py", line 77, in get_in_gt_and_in_center_info
is_in_gts_all = is_in_gts.sum(axis=1) > 0
File "/usr/local/lib/python3.6/dist-packages/paddle/tensor/math.py", line 743, in sum
'reduce_all', reduce_all_flag)
RuntimeError: (NotFound) Operator reduce_sum does not have kernel for data_type[bool]:data_layout[ANY_LAYOUT]:place[CUDAPlace(0)]:library_type[PLAIN].
[Hint: Expected kernel_iter != kernels.end(), but received kernel_iter == kernels.end().] (at /paddle/paddle/fluid/imperative/prepared_operator.cc:135)
[operator < reduce_sum > error]
只是将coco detection.yml中类别数目改为2,同时更改了类名,然后修改了picodet_l_640_coco.yml的pretrained weights.如果不加载coco预训练权重的话,没有这个错误