PaddleDetection
PaddleDetection copied to clipboard
导出dino_swin失败
问题确认 Search before asking
- [X] 我已经搜索过问题,但是没有找到解答。I have searched the question and found no related answer.
请提出你的问题 Please ask your question
命令:python tools/export_model.py -c configs/dianwang/dino/dino_swin_coco.yml --output_dir=./inference_model_dianwang_0708_dinoSwin -o weights=output_dianwang_dino_swin_0707/dino_swin_coco/best_model
报错:
Traceback (most recent call last):
File "/data/qilibin/project/PaddleDetection/tools/export_model.py", line 116, in
File "/data/qilibin/project/PaddleDetection/ppdet/modeling/architectures/meta_arch.py", line 59, in forward
if self.training:
File "/data/qilibin/project/PaddleDetection/ppdet/modeling/architectures/meta_arch.py", line 69, in forward
for inp in inputs_list:
File "/data/qilibin/project/PaddleDetection/ppdet/modeling/architectures/meta_arch.py", line 76, in forward
outs.append(self.get_pred())
File "/data/qilibin/project/PaddleDetection/ppdet/modeling/architectures/detr.py", line 116, in get_pred
return self._forward()
File "/data/qilibin/project/PaddleDetection/ppdet/modeling/architectures/detr.py", line 79, in _forward
body_feats = self.backbone(self.inputs)
File "/data/qilibin/project/PaddleDetection/ppdet/modeling/backbones/swin_transformer.py", line 722, in forward
x = self.patch_embed(x['image'])
File "/data/qilibin/project/PaddleDetection/ppdet/modeling/backbones/swin_transformer.py", line 551, in forward
if W % self.patch_size[1] != 0:
File "/data/qilibin/project/PaddleDetection/ppdet/modeling/backbones/swin_transformer.py", line 552, in forward
# assert [H, W] == self.img_size[:2], "Input image size ({H}*{W}) doesn't match model ({}*{}).".format(H, W, self.img_size[0], self.img_size[1])
if W % self.patch_size[1] != 0:
x = F.pad(x, [0, self.patch_size[1] - W % self.patch_size[1], 0, 0])
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ <--- HERE
if H % self.patch_size[0] != 0:
x = F.pad(x, [0, 0, 0, self.patch_size[0] - H % self.patch_size[0]])
File "/home/qilibin/miniconda3/envs/paddle/lib/python3.9/site-packages/paddle/nn/functional/common.py", line 1728, in pad
helper.append_op(
File "/home/qilibin/miniconda3/envs/paddle/lib/python3.9/site-packages/paddle/fluid/layer_helper.py", line 45, in append_op
return self.main_program.current_block().append_op(*args, **kwargs)
File "/home/qilibin/miniconda3/envs/paddle/lib/python3.9/site-packages/paddle/fluid/framework.py", line 4040, in append_op
op = Operator(
File "/home/qilibin/miniconda3/envs/paddle/lib/python3.9/site-packages/paddle/fluid/framework.py", line 3012, in __init__
self._update_desc_attr(attr_name, attr_val)
File "/home/qilibin/miniconda3/envs/paddle/lib/python3.9/site-packages/paddle/fluid/framework.py", line 3362, in _update_desc_attr
self._update_desc_plain_attr(name, val)
File "/home/qilibin/miniconda3/envs/paddle/lib/python3.9/site-packages/paddle/fluid/framework.py", line 3386, in _update_desc_plain_attr
desc._set_int32s_attr(name, val)
TypeError: _set_int32s_attr(): incompatible function arguments. The following argument types are supported:
1. (self: paddle.fluid.libpaddle.OpDesc, arg0: str, arg1: List[int]) -> None
Invoked with: <paddle.fluid.libpaddle.OpDesc object at 0x7f77800d8330>, 'paddings', [0, var tmp_6 : LOD_TENSOR.shape(1,).dtype(int32).stop_gradient(False), 0, 0, 0, 0]
paddle什么版本
2.4.2.post117
https://github.com/PaddlePaddle/Paddle/issues/52392,使用这个方式可以解决你的问题,但是我用swin做主干网络的Cascade RCNN网络导出后无法推理 报错如下: File "H:\lrp\PaddleDetection-release-2.6\deploy\python\infer.py", line 206, in predict self.predictor.run() ValueError: (InvalidArgument) Shape of Input(Paddings) should be equal to [6], but received [10]. [Hint: Expected paddings.size() == 6, but received paddings.size():10 != 6:6.] (at ..\paddle\phi\infermeta\unary.cc:2548) [operator < pad3d > error]
@lyuwenyu 请问这个如何解决
用最新的试一下,,pad不应该有问题啊