recurrent_op bug
Created by: dzhwinter
run benchmark scripts, get the log as bellow.
Traceback (most recent call last):
File "paddle/understand_sentiment_lstm.py", line 170, in <module>
run_benchmark(lstm_model, args)
File "paddle/understand_sentiment_lstm.py", line 137, in run_benchmark
adam_optimizer.minimize(avg_cost)
File "/usr/local/lib/python2.7/dist-packages/paddle/v2/fluid/optimizer.py", line 200, in minimize
params_grads = append_backward_ops(loss, parameter_list, no_grad_set)
File "/usr/local/lib/python2.7/dist-packages/paddle/v2/fluid/backward.py", line 35, in append_backward_ops
param_grad_map = loss.block.program.append_backward(loss, no_grad_set)
File "/usr/local/lib/python2.7/dist-packages/paddle/v2/fluid/framework.py", line 603, in append_backward
self.to_string(False)))
paddle.v2.fluid.core.EnforceNotMet: Cannot find the gradient variable initial_states@GRAD at [/paddle/Paddle/paddle/operators/recurrent_op.cc:604]
PaddlePaddle Call Stacks:
0 0x7f0e29e72b17p paddle::platform::EnforceNotMet::EnforceNotMet(std::__exception_ptr::exception_ptr, char const*, int) + 727
1 0x7f0e2a4ed567p paddle::operators::RecurrentGradOpShapeInference::operator()(paddle::framework::InferShapeContext*) const + 1863
2 0x7f0e2a4ed8c2p std::_Function_handler<void (paddle::framework::InferShapeContext*), paddle::framework::details::OpInfoFiller<paddle::operators::RecurrentGradOpShapeInference, (paddle::framework::details::OpInfoFillType)4>::operator()(char const*, paddle::framework::OpInfo*) const::{lambda(paddle::framework::InferShapeContext*)#1}>::_M_invoke(std::_Any_data const&, paddle::framework::InferShapeContext*&&) + 50
3 0x7f0e29f0d235p paddle::framework::OpDescBind::InferShape(paddle::framework::BlockDescBind const&) const + 1045
4 0x7f0e29efc173p
5 0x7f0e29f0344cp paddle::framework::AppendBackward(paddle::framework::ProgramDescBind&, paddle::framework::VarDescBind const&, std::unordered_set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) + 3196
6 0x7f0e29eac251p
7 0x7f0e29e8706dp pybind11::cpp_function::dispatcher(_object*, _object*, _object*) + 1229
8 0x4cada2p PyEval_EvalFrameEx + 28066
9 0x4c2765p PyEval_EvalCodeEx + 597
10 0x4ca099p PyEval_EvalFrameEx + 24729
11 0x4c2765p PyEval_EvalCodeEx + 597
12 0x4ca099p PyEval_EvalFrameEx + 24729
13 0x4c2765p PyEval_EvalCodeEx + 597
14 0x4ca099p PyEval_EvalFrameEx + 24729
15 0x4c2765p PyEval_EvalCodeEx + 597