在ubuntu上部署PaddleDetection验证无法通过
收藏
- 【问题描述】:
当前ubuntu上安装了 paddlepaddle 2.3.0 和 paddledet 2.4.0。然后在运行测试代码时出现问题。
python ppdet/modeling/tests/test_architectures.py
W0625 13:03:12.700165 17438 gpu_context.cc:278] Please NOTE: device: 0, GPU Compute Capability: 8.6, Driver API Version: 11.7, Runtime API Version: 10.2
W0625 13:03:12.702124 17438 gpu_context.cc:306] device: 0, cuDNN Version: 7.6.
....E..
======================================================================
ERROR: test_trainer (__main__.TestPicoDet)
----------------------------------------------------------------------
Traceback (most recent call last):
File "ppdet/modeling/tests/test_architectures.py", line 37, in test_trainer
trainer = ppdet.engine.Trainer(cfg, mode='test')
File "/home/nansu/PaddleDetection/ppdet/engine/trainer.py", line 102, in __init__
self.model = create(cfg.architecture)
File "/home/nansu/PaddleDetection/ppdet/core/workspace.py", line 246, in create
cls_kwargs.update(cls.from_config(config, **kwargs))
File "/home/nansu/PaddleDetection/ppdet/modeling/architectures/picodet.py", line 55, in from_config
head = create(cfg['head'], **kwargs)
File "/home/nansu/PaddleDetection/ppdet/core/workspace.py", line 283, in create
return cls(**cls_kwargs)
File "/home/nansu/PaddleDetection/ppdet/modeling/heads/pico_head.py", line 471, in __init__
cell_offset=cell_offset, )
File "/home/nansu/PaddleDetection/ppdet/modeling/heads/gfl_head.py", line 240, in __init__
self.distribution_project = Integral(self.reg_max)
File "/home/nansu/PaddleDetection/ppdet/modeling/heads/gfl_head.py", line 71, in __init__
paddle.linspace(0, self.reg_max, 1))
File "/home/nansu/anaconda3/lib/python3.7/site-packages/paddle/fluid/layers/tensor.py", line 1574, in linspace
dtype)
ValueError: (InvalidArgument) The num of linspace op should be larger than 0, but received num is 0
[Hint: Expected num > 0, but received num:0 <= 0:0.] (at /paddle/paddle/phi/kernels/gpu/linspace_kernel.cu:70)
[operator < linspace > error]
----------------------------------------------------------------------
Ran 7 tests in 142.766s
FAILED (errors=1)
下面是定位问题所在的代码:
line 71
def __init__(self, reg_max=16):
super(Integral, self).__init__()
self.reg_max = reg_max
print('1','\n')
print(self.reg_max,'\n')
print('1','\n')
self.register_buffer('project',
paddle.linspace(0, self.reg_max, self.reg_max + 1))
line 1574
if _in_legacy_dygraph():
return _C_ops.linspace(tensor_start, tensor_stop, tensor_num, 'dtype',
dtype)
- 【尝试过的方案】:
1、将
paddle.linspace(0, self.reg_max, self.reg_max + 1)
修改为
paddle.linspace(0, self.reg_max, self.reg_max + 1,‘float32’)
无效
2、通过print将reg_max输出,结果如下:
W0625 13:07:55.061535 18050 gpu_context.cc:306] device: 0, cuDNN Version: 7.6.
..1
16
1
..1
7
1
E..
======================================================================
0
收藏
请登录后评论
要不?不验证了?直接用一下试试?
你好,这个问题解决了么?我也遇上了