Paddle3D icon indicating copy to clipboard operation
Paddle3D copied to clipboard

在SMOKE的配置文件中,我改了input_size 到1920,1080后,会报错如下。(保持原input_size时能正常训练)请问是为什么

Open stevenk12 opened this issue 3 years ago • 2 comments

Traceback (most recent call last):
  File "/project/train/src_repo/Paddle3D/tools/train.py", line 181, in <module>
    main(args)
  File "/project/train/src_repo/Paddle3D/tools/train.py", line 176, in main
    trainer.train()
  File "/project/train/src_repo/Paddle3D/paddle3d/apis/trainer.py", line 219, in train
    self.cur_iter)
  File "/project/train/src_repo/Paddle3D/paddle3d/apis/pipeline.py", line 27, in training_step
    outputs = model(sample)
  File "/usr/local/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py", line 917, in __call__
    return self._dygraph_call_func(*inputs, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py", line 907, in _dygraph_call_func
    outputs = self.forward(*inputs, **kwargs)
  File "/project/train/src_repo/Paddle3D/paddle3d/models/detection/smoke/smoke.py", line 72, in forward
    features = self.backbone(images)
  File "/usr/local/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py", line 917, in __call__
    return self._dygraph_call_func(*inputs, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py", line 907, in _dygraph_call_func
    outputs = self.forward(*inputs, **kwargs)
  File "/project/train/src_repo/Paddle3D/paddle3d/models/backbones/dla.py", line 73, in forward
    x = self.base(x)
  File "/usr/local/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py", line 917, in __call__
    return self._dygraph_call_func(*inputs, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py", line 907, in _dygraph_call_func
    outputs = self.forward(*inputs, **kwargs)
  File "/project/train/src_repo/Paddle3D/paddle3d/models/backbones/dla.py", line 180, in forward
    x = getattr(self, 'level{}'.format(i))(x)
  File "/usr/local/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py", line 917, in __call__
    return self._dygraph_call_func(*inputs, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py", line 907, in _dygraph_call_func
    outputs = self.forward(*inputs, **kwargs)
  File "/project/train/src_repo/Paddle3D/paddle3d/models/backbones/dla.py", line 379, in forward
    x1 = self.tree1(x, residual)
  File "/usr/local/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py", line 917, in __call__
    return self._dygraph_call_func(*inputs, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py", line 907, in _dygraph_call_func
    outputs = self.forward(*inputs, **kwargs)
  File "/project/train/src_repo/Paddle3D/paddle3d/models/backbones/dla.py", line 379, in forward
    x1 = self.tree1(x, residual)
  File "/usr/local/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py", line 917, in __call__
    return self._dygraph_call_func(*inputs, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py", line 907, in _dygraph_call_func
    outputs = self.forward(*inputs, **kwargs)
  File "/project/train/src_repo/Paddle3D/paddle3d/models/backbones/dla.py", line 278, in forward
    out += residual
  File "/usr/local/lib/python3.7/site-packages/paddle/fluid/dygraph/math_op_patch.py", line 264, in __impl__
    return math_op(self, other_var, 'axis', axis)
ValueError: (InvalidArgument) Broadcast dimension mismatch. Operands could not be broadcast together with the shape of X = [8, 256, 68, 120] and the shape of Y = [8, 256, 67, 120]. Received [68] in X is not equal to [67] in Y at i:2.
  [Hint: Expected x_dims_array[i] == y_dims_array[i] || x_dims_array[i] <= 1 || y_dims_array[i] <= 1 == true, but received x_dims_array[i] == y_dims_array[i] || x_dims_array[i] <= 1 || y_dims_array[i] <= 1:0 != true:1.] (at /data/jenkins_workspace/workspace/paddle_release/paddle/fluid/operators/elementwise/elementwise_op_function.h:240)
  [operator < elementwise_add > error]

stevenk12 avatar Sep 23 '22 04:09 stevenk12

麻烦问一下,是不是input_size的长宽只能是16的倍数

stevenk12 avatar Sep 23 '22 04:09 stevenk12

@stevenk12 感谢反馈,这个问题看起来应该是我们dlanet在处理上下采样时没处理好,这个问题我们后续修复下

nepeplwu avatar Sep 26 '22 02:09 nepeplwu