Skip to content

  • 体验新版
    • 正在加载...
  • 登录
  • PaddlePaddle
  • Paddle
  • Issue
  • #20766

P
Paddle
  • 项目概览

PaddlePaddle / Paddle
大约 2 年 前同步成功

通知 2325
Star 20933
Fork 5424
  • 代码
    • 文件
    • 提交
    • 分支
    • Tags
    • 贡献者
    • 分支图
    • Diff
  • Issue 1423
    • 列表
    • 看板
    • 标记
    • 里程碑
  • 合并请求 543
  • Wiki 0
    • Wiki
  • 分析
    • 仓库
    • DevOps
  • 项目成员
  • Pages
P
Paddle
  • 项目概览
    • 项目概览
    • 详情
    • 发布
  • 仓库
    • 仓库
    • 文件
    • 提交
    • 分支
    • 标签
    • 贡献者
    • 分支图
    • 比较
  • Issue 1,423
    • Issue 1,423
    • 列表
    • 看板
    • 标记
    • 里程碑
  • 合并请求 543
    • 合并请求 543
  • Pages
  • 分析
    • 分析
    • 仓库分析
    • DevOps
  • Wiki 0
    • Wiki
  • 成员
    • 成员
  • 收起侧边栏
  • 动态
  • 分支图
  • 创建新Issue
  • 提交
  • Issue看板
已关闭
开放中
Opened 10月 22, 2019 by saxon_zh@saxon_zhGuest

Invoke operator conv2d_grad error

Created by: ResearchingDexter

  • 版本、环境信息:    1)PaddlePaddle版本:1.5.2    2)CPU/GPU:CUDA10.0和cuDNN7.4    3)系统环境:centos 6.3    4)Python3.6    5)显存信息 12G 运行下面代码,正向没问题,反向会报错
def _norm_initial(loc=0.0,scale=1.0,seed=0):
    return ParamAttr(initializer=Normal(loc,scale,seed))
class FeatureAdaption(object):
    def __init__(self,
                 out_channels:int,
                 kernel_size=3,
                 deformable_groups:int=4
                 ):
        self.out_channels=out_channels
        self.kernel_size=kernel_size
        self.deformable_groups=deformable_groups
        self.offset_attr=_norm_initial(scale=0.1)
        self.adaption_attr=_norm_initial(scale=0.01)
    def __call__(self, x,shape):
        offset_channels=self.kernel_size*self.kernel_size*2
        offset=fluid.layers.conv2d(shape,
                                   offset_channels*self.deformable_groups,
                                   filter_size=1,
                                   param_attr=self.offset_attr,
                                   bias_attr=False)
        # only DCNv2 is supported in the paddlepaddle,so initialize the mask by constant 0.
        _,c,h,w=offset.shape
        #mask=fluid.layers.fill_constant([b,c//2,h,w],dtype='float32',value=1.)
        mask=fluid.layers.fill_constant_batch_size_like(offset,[-1,c//2,h,w],dtype='float32',value=1.)
        out=fluid.layers.deformable_conv(x,offset,mask,
                                         self.out_channels,
                                         filter_size=self.kernel_size,
                                         stride=1,
                                         padding=(self.kernel_size-1)//2,
                                         deformable_groups=self.deformable_groups,
                                         param_attr=self.adaption_attr)
        out=fluid.layers.relu(out)
        return out
if __name__=='__main__':
    feature=FeatureAdaption(256,3,4)
    main_program = fluid.Program()
    start_program = fluid.Program()
    with fluid.program_guard(main_program, start_program):
        x=fluid.layers.data('x',[256,50,50])
        shape=fluid.layers.data('shape',[2,50,50])
        out=feature(x,shape)
        out=fluid.layers.reduce_mean(out)
        optimizer = fluid.optimizer.SGD(0.1)
        optimizer.minimize(out)
    exe=fluid.Executor(fluid.CUDAPlace(0))
    x_np=np.ones((1,256,50,50),'float32')
    shape_np=np.ones((1,2,50,50),'float32')
    exe.run(start_program)
    out=exe.run(main_program,feed={'x':x_np,'shape':shape_np},fetch_list=[out.name])
    print(out)

报错信息

Traceback (most recent call last):
  File "head_test.py", line 172, in <module>
    out=exe.run(main_program,feed={'x':x_np,'shape':shape_np},fetch_list=[out.name])
  File "/home/work/.conda/envs/paddle_10/lib/python3.6/site-packages/paddle/fluid/executor.py", line 657, in run
    use_program_cache=use_program_cache)
  File "/home/work/.conda/envs/paddle_10/lib/python3.6/site-packages/paddle/fluid/executor.py", line 755, in _run
    exe.run(program.desc, scope, 0, True, True, fetch_var_name)
paddle.fluid.core_avx.EnforceNotMet: Invoke operator conv2d_grad error.
Python Call stacks: 
  File "/home/work/.conda/envs/paddle_10/lib/python3.6/site-packages/paddle/fluid/framework.py", line 1778, in append_op
    attrs=kwargs.get("attrs", None))
  File "/home/work/.conda/envs/paddle_10/lib/python3.6/site-packages/paddle/fluid/layer_helper.py", line 43, in append_op
    return self.main_program.current_block().append_op(*args, **kwargs)
  File "/home/work/.conda/envs/paddle_10/lib/python3.6/site-packages/paddle/fluid/layers/nn.py", line 2181, in conv2d
    'fuse_relu_before_depthwise_conv': False
  File "head_test.py", line 143, in __call__
    bias_attr=False)
  File "head_test.py", line 164, in <module>
    out=feature(x,shape)
C++ Call stacks: 
holder_ should not be null
Tensor holds no memory. Call Tensor::mutable_data first. at [/paddle/paddle/fluid/framework/tensor.cc:23]
PaddlePaddle Call Stacks: 
0       0x7fb17c22e278p void paddle::platform::EnforceNotMet::Init<std::string>(std::string, char const*, int) + 360
1       0x7fb17c22e5c7p paddle::platform::EnforceNotMet::EnforceNotMet(std::string const&, char const*, int) + 87
2       0x7fb17e32e589p paddle::framework::Tensor::check_memory_size() const + 185
3       0x7fb17c234ed9p float const* paddle::framework::Tensor::data<float>() const + 25
4       0x7fb17c68142dp paddle::operators::CUDNNConvGradOpKernel<float>::Compute(paddle::framework::ExecutionContext const&) const + 525
5       0x7fb17c682743p std::_Function_handler<void (paddle::framework::ExecutionContext const&), paddle::framework::OpKernelRegistrarFunctor<paddle::platform::CUDAPlace, false, 0ul, paddle::operators::CUDNNConvGradOpKernel<float>, paddle::operators::CUDNNConvGradOpKernel<double>, paddle::operators::CUDNNConvGradOpKernel<paddle::platform::float16> >::operator()(char const*, char const*, int) const::{lambda(paddle::framework::ExecutionContext const&)#1}>::_M_invoke(std::_Any_data const&, paddle::framework::ExecutionContext const&) + 35
6       0x7fb17e2d18f7p paddle::framework::OperatorWithKernel::RunImpl(paddle::framework::Scope const&, boost::variant<paddle::platform::CUDAPlace, paddle::platform::CPUPlace, paddle::platform::CUDAPinnedPlace, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_> const&, paddle::framework::RuntimeContext*) const + 375
7       0x7fb17e2d1cd1p paddle::framework::OperatorWithKernel::RunImpl(paddle::framework::Scope const&, boost::variant<paddle::platform::CUDAPlace, paddle::platform::CPUPlace, paddle::platform::CUDAPinnedPlace, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_> const&) const + 529
8       0x7fb17e2cc863p paddle::framework::OperatorBase::Run(paddle::framework::Scope const&, boost::variant<paddle::platform::CUDAPlace, paddle::platform::CPUPlace, paddle::platform::CUDAPinnedPlace, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_> const&) + 307
9       0x7fb17c3b8dfep paddle::framework::Executor::RunPreparedContext(paddle::framework::ExecutorPrepareContext*, paddle::framework::Scope*, bool, bool, bool) + 398
10      0x7fb17c3bbe9fp paddle::framework::Executor::Run(paddle::framework::ProgramDesc const&, paddle::framework::Scope*, int, bool, bool, std::vector<std::string, std::allocator<std::string> > const&, bool) + 143
11      0x7fb17c21f1fdp
12      0x7fb17c260d56p
13      0x7fb1acd8ac54p _PyCFunction_FastCallDict + 340
14      0x7fb1ace12c0ep
15      0x7fb1ace3575ap _PyEval_EvalFrameDefault + 778
16      0x7fb1ace0be66p
17      0x7fb1ace0ced6p
18      0x7fb1ace12b95p
19      0x7fb1ace3651cp _PyEval_EvalFrameDefault + 4300
20      0x7fb1ace0be66p
21      0x7fb1ace0ced6p
22      0x7fb1ace12b95p
23      0x7fb1ace3651cp _PyEval_EvalFrameDefault + 4300
24      0x7fb1ace0d9b9p PyEval_EvalCodeEx + 809
25      0x7fb1ace0e75cp PyEval_EvalCode + 28
26      0x7fb1ace8e744p
27      0x7fb1ace8eb41p PyRun_FileExFlags + 161
28      0x7fb1ace8ed43p PyRun_SimpleFileExFlags + 451
29      0x7fb1ace92833p Py_Main + 1555
30      0x7fb1acd5c88ep main + 238
31      0x7fb1ac4c6cddp __libc_start_main + 253
32      0x7fb1ace3c160p
指派人
分配到
无
里程碑
无
分配里程碑
工时统计
无
截止日期
无
标识: paddlepaddle/Paddle#20766
渝ICP备2023009037号

京公网安备11010502055752号

网络110报警服务 Powered by GitLab CE v13.7
开源知识
Git 入门 Pro Git 电子书 在线学 Git
Markdown 基础入门 IT 技术知识开源图谱
帮助
使用手册 反馈建议 博客
《GitCode 隐私声明》 《GitCode 服务条款》 关于GitCode
Powered by GitLab CE v13.7