示例Paddle/python/paddle/fluid/tests/book/test_label_semantic_roles.py在给crf层添加正则项后CUDA下报错
Created by: jshower
如题,使用示例Paddle/python/paddle/fluid/tests/book/test_label_semantic_roles.py,我发现在给crf层添加正则项后,会出现下面这个报错。 修改是在第167行,修改后的crf层也就是如下 crf_cost = fluid.layers.linear_chain_crf( input=feature_out, label=target, param_attr=fluid.ParamAttr( name='crfw', learning_rate=mix_hidden_lr, regularizer=fluid.regularizer.L2DecayRegularizer(regularization_coeff=0.1))) 辛苦追查一下原因。
======================================================================
ERROR: test_cuda (__main__.TestLabelSemanticRoles)
----------------------------------------------------------------------
Traceback (most recent call last):
File "test_label_semantic_roles.py", line 355, in test_cuda
main(use_cuda=True)
File "test_label_semantic_roles.py", line 348, in main
train(use_cuda, save_dirname, is_local)
File "test_label_semantic_roles.py", line 249, in train
train_loop(fluid.default_main_program())
File "test_label_semantic_roles.py", line 221, in train_loop
fetch_list=[avg_cost] + chunk_evaluator.metrics)
File "/usr/local/lib/python2.7/dist-packages/paddle/fluid/executor.py", line 349, in run
self.executor.run(program_cache.desc, scope, 0, True, True)
EnforceNotMet: var crfw@GRAD is both input and output, does not support transform at [/paddle_gpu/Paddle/paddle/fluid/framework/operator.cc:535]
PaddlePaddle Call Stacks:
0 0x7fc35502f48cp paddle::platform::EnforceNotMet::EnforceNotMet(std::__exception_ptr::exception_ptr, char const*, int) + 572
1 0x7fc355c2a18fp paddle::framework::OperatorWithKernel::RunImpl(paddle::framework::Scope const&, boost::variant<paddle::platform::CUDAPlace, paddle::platform::CPUPlace, 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_, boost::detail::variant::void_> const&) const + 2783
2 0x7fc3550e04a5p paddle::framework::Executor::RunPreparedContext(paddle::framework::ExecutorPrepareContext*, paddle::framework::Scope*, bool, bool) + 1781
3 0x7fc3550e1a5fp paddle::framework::Executor::Run(paddle::framework::ProgramDesc const&, paddle::framework::Scope*, int, bool, bool) + 63
4 0x7fc35504bfc3p void pybind11::cpp_function::initialize<pybind11::cpp_function::initialize<void, paddle::framework::Executor, paddle::framework::ProgramDesc const&, paddle::framework::Scope*, int, bool, bool, pybind11::name, pybind11::is_method, pybind11::sibling>(void (paddle::framework::Executor::*)(paddle::framework::ProgramDesc const&, paddle::framework::Scope*, int, bool, bool), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(paddle::framework::Executor*, paddle::framework::ProgramDesc const&, paddle::framework::Scope*, int, bool, bool)#1}, void, paddle::framework::Executor*, paddle::framework::ProgramDesc const&, paddle::framework::Scope*, int, bool, bool, pybind11::name, pybind11::is_method, pybind11::sibling>(pybind11::cpp_function::initialize<void, paddle::framework::Executor, paddle::framework::ProgramDesc const&, paddle::framework::Scope*, int, bool, bool, pybind11::name, pybind11::is_method, pybind11::sibling>(void (paddle::framework::Executor::*)(paddle::framework::ProgramDesc const&, paddle::framework::Scope*, int, bool, bool), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(paddle::framework::Executor*, paddle::framework::ProgramDesc const&, paddle::framework::Scope*, int, bool, bool)#1}&&, void (*)(paddle::framework::Executor*, paddle::framework::ProgramDesc const&, paddle::framework::Scope*, int, bool, bool), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::function_call&)#3}::_FUN(pybind11::detail::function_call) + 579
5 0x7fc355049d04p pybind11::cpp_function::dispatcher(_object*, _object*, _object*) + 1236
6 0x4c37edp PyEval_EvalFrameEx + 31165
7 0x4b9ab6p PyEval_EvalCodeEx + 774
8 0x4c16e7p PyEval_EvalFrameEx + 22711
9 0x4b9ab6p PyEval_EvalCodeEx + 774
10 0x4c1e6fp PyEval_EvalFrameEx + 24639
11 0x4b9ab6p PyEval_EvalCodeEx + 774
12 0x4c16e7p PyEval_EvalFrameEx + 22711
13 0x4b9ab6p PyEval_EvalCodeEx + 774
14 0x4c16e7p PyEval_EvalFrameEx + 22711
15 0x4c136fp PyEval_EvalFrameEx + 21823
16 0x4b9ab6p PyEval_EvalCodeEx + 774
17 0x4d55f3p
18 0x4a577ep PyObject_Call + 62
19 0x4bed3dp PyEval_EvalFrameEx + 12045
20 0x4b9ab6p PyEval_EvalCodeEx + 774
21 0x4d54b9p
22 0x4eebeep
23 0x4a577ep PyObject_Call + 62
24 0x548253p
25 0x4c15bfp PyEval_EvalFrameEx + 22415
26 0x4b9ab6p PyEval_EvalCodeEx + 774
27 0x4d55f3p
28 0x4a577ep PyObject_Call + 62
29 0x4bed3dp PyEval_EvalFrameEx + 12045
30 0x4b9ab6p PyEval_EvalCodeEx + 774
31 0x4d54b9p
32 0x4eebeep
33 0x4a577ep PyObject_Call + 62
34 0x548253p
35 0x4c15bfp PyEval_EvalFrameEx + 22415
36 0x4b9ab6p PyEval_EvalCodeEx + 774
37 0x4d55f3p
38 0x4a577ep PyObject_Call + 62
39 0x4bed3dp PyEval_EvalFrameEx + 12045
40 0x4b9ab6p PyEval_EvalCodeEx + 774
41 0x4d54b9p
42 0x4eebeep
43 0x4a577ep PyObject_Call + 62
44 0x548253p
45 0x4c15bfp PyEval_EvalFrameEx + 22415
46 0x4c136fp PyEval_EvalFrameEx + 21823
47 0x4c136fp PyEval_EvalFrameEx + 21823
48 0x4b9ab6p PyEval_EvalCodeEx + 774
49 0x4d54b9p
50 0x4eebeep
51 0x4ee7f6p
52 0x4aa9abp
53 0x4c15bfp PyEval_EvalFrameEx + 22415
54 0x4b9ab6p PyEval_EvalCodeEx + 774
55 0x4eb30fp
56 0x4e5422p PyRun_FileExFlags + 130
57 0x4e3cd6p PyRun_SimpleFileExFlags + 390
58 0x493ae2p Py_Main + 1554
59 0x7fc3a0aad830p __libc_start_main + 240
60 0x4933e9p _start + 41
----------------------------------------------------------------------