test_layers fails on LayerNorm
收藏
0
收藏
全部评论(2)
@bingyanghuang @yihuaxu
能不能帮忙看下?是否和LayerNorm的优化有关系
从log上来看,可能是由于LayerNormKernel::Compute()会调用Tensor::numel()函数出的错。
625: W1106 08:31:12.826431 8561 init.cc:205] @ 0x7f35bffd1344 paddle::framework::product()
625: W1106 08:31:12.827142 8561 init.cc:205] @ 0x7f35bec53a0a paddle::operators::LayerNormKernel<>::Compute()
int64_t Tensor::numel() const { return product(dims_); }
PADDLE_ENFORCE_EQ(mean->numel(), left);
PADDLE_ENFORCE_EQ(var->numel(), left);
PADDLE_ENFORCE_EQ(scale->numel(), right);
PADDLE_ENFORCE_EQ(bias->numel(), right);
Debug后发现当scale或是bias为空时会出现问题
(gdb) p scale
$1 = (const paddle::framework::Tensor *) 0x0
(gdb) p var
$2 = (paddle::framework::Tensor *) 0x268a9b8
(gdb) p bias
$3 = (const paddle::framework::Tensor *) 0x0
(gdb) p mean
$4 = (paddle::framework::Tensor *) 0x25e3bd8
0
请登录后评论
Error
How to reproduce
Intel(R) Xeon(R) CPU E5-2620 v2 @ 2.10GHz
orIntel(R) Xeon(R) CPU E5-2620 v3
cmake .. -DWITH_GPU=OFF -DWITH_MKLDNN=ON -DCMAKE_BUILD_TYPE=Release -DWITH_TESTING=ON
ctest -R test_layers -V