-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Description
paddleseg 版本commit 5e6cab5 (HEAD -> release/2.3,
执行下列操作
python3 contrib/CityscapesSOTA/predict.py
--config contrib/CityscapesSOTA/configs/mscale_ocr_cityscapes_autolabel_mapillary.yml
--model_path model/model.pdparams
--image_path data/input2.jpg
--save_dir output/result
2021-12-27 18:07:40 [INFO] Start to predict...
/usr/lib/python3/dist-packages/apport/report.py:13: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
import fnmatch, glob, traceback, errno, sys, atexit, locale, imp, stat
Traceback (most recent call last):
File "contrib/CityscapesSOTA/predict.py", line 183, in
main(args)
File "contrib/CityscapesSOTA/predict.py", line 164, in main
predict(
File "/home/wayne/PaddleSeg/paddleseg/core/predict.py", line 111, in predict
pred = infer.inference(
File "/home/wayne/PaddleSeg/paddleseg/core/infer.py", line 232, in inference
logits = model(im)
File "/usr/local/lib/python3.8/dist-packages/paddle/fluid/dygraph/layers.py", line 902, in call
outputs = self.forward(*inputs, **kwargs)
File "/home/wayne/PaddleSeg/contrib/CityscapesSOTA/models/mscale_ocrnet.py", line 44, in forward
return self.nscale_forward(x, self.n_scales)
File "/home/wayne/PaddleSeg/contrib/CityscapesSOTA/models/mscale_ocrnet.py", line 140, in nscale_forward
pred = scale_as(pred, cls_out, self.align_corners)
File "/home/wayne/PaddleSeg/contrib/CityscapesSOTA/models/mscale_ocrnet.py", line 198, in scale_as
x_scaled = nn.functional.interpolate(
File "/usr/local/lib/python3.8/dist-packages/paddle/nn/functional/common.py", line 355, in interpolate
out_shape[i] = dim.numpy()[0]
TypeError: 'tuple' object does not support item assignment_
系统环境
Paddle version: 2.1.3
Paddle With CUDA: True
OS: Ubuntu 20.04
Python version: 3.8.10
CUDA version: 11.2.152
Build cuda_11.2.r11.2/compiler.29618528_0
cuDNN version: None.None.None
Nvidia driver version: 460.91.03
复现命令
我使用CPU执行,GPU显存不够
python3 contrib/CityscapesSOTA/predict.py
--config contrib/CityscapesSOTA/configs/mscale_ocr_cityscapes_autolabel_mapillary.yml
--model_path model/model.pdparams
--image_path data/input2.jpg
--save_dir output/result
建议
/usr/local/lib/python3.8/dist-packages/paddle/nn/functional/common.py
Change from
<
......
358 if in_dygraph_mode():
359 if isinstance(out_shape, Variable):
360 out_shape = list(out_shape.numpy())
361 for i, dim in enumerate(out_shape):
362 if isinstance(dim, Variable):
363 out_shape[i] = dim.numpy()[0]
.....
to
<
......
if in_dygraph_mode():
if isinstance(out_shape, Variable):
out_shape = list(out_shape.numpy())
else:
out_shape = list(out_shape)
for i, dim in enumerate(out_shape):
if isinstance(dim, Variable):
out_shape[i] = dim.numpy()[0]
.....
修改之后可以正确跑通
"if isinstance(out_shape, Variable):
out_shape = list(out_shape.numpy())"
这两句代码仅仅对"out_shape" 预判断为 Vaiable进行处理, 忽视了其他类型