模型保存用的是fluid.io.save_inference_model接口,加载预测模型的时候对应用的是fluid.io.load_inference_model接口,这两步都没问题,但是在预测过程中:
if __name__ == '__main__':
parser = argparse.ArgumentParser()
parser.add_argument('--model', default='./model')
parser.add_argument('--data', default='./data')
args = parser.parse_args()
conf = TiebaConf()
conf.define_feature(conf.session_wise_features, conf.item_wise_features, conf.labels)
exe = fluid.Executor(fluid.CPUPlace())
inference_scope = fluid.core.Scope()
with fluid.scope_guard(inference_scope):
[inference_program, feed_target_names, fetch_targets] = \
fluid.io.load_inference_model(args.model, exe)
lines = []
fin = open(args.data, 'r')
for line in fin:
lines.append(line)
if len(lines) == conf.batch_size:
network_output = exe.run(inference_program, feed=lines2tensors(lines, conf),
fetch_list=fetch_targets, return_numpy=False)
lines = []
if len(lines) > 0:
network_output = exe.run(inference_program, feed=lines2tensors(lines, conf),
fetch_list=fetch_targets, return_numpy=False)
exe.run的时候会报错:
Traceback (most recent call last):
File "eval.py", line 40, in <module>
fetch_list=fetch_targets, return_numpy=False)
File "/home/zenghongsheng/anaconda2/envs/python27/lib/python2.7/site-packages/paddle/fluid/executor.py", line 657, in run
use_program_cache=use_program_cache)
File "/home/zenghongsheng/anaconda2/envs/python27/lib/python2.7/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 reshape2 error.
Python Call stacks:
File "/home/zenghongsheng/anaconda2/envs/python27/lib/python2.7/site-packages/paddle/fluid/framework.py", line 1774, in append_op
attrs=kwargs.get("attrs", None))
File "/home/zenghongsheng/anaconda2/envs/python27/lib/python2.7/site-packages/paddle/fluid/layer_helper.py", line 43, in append_op
return self.main_program.current_block().append_op(*args, **kwargs)
File "/home/zenghongsheng/anaconda2/envs/python27/lib/python2.7/site-packages/paddle/fluid/layers/nn.py", line 6840, in reshape
"XShape": x_shape})
File "/home/zenghongsheng/baidu/feedgr-ol/ntm/tools/qianmo/mpi/model/tieba/dnn/debug/basic_model.py", line 166, in get_label
target = layers.reshape(target, shape=[-1, 1])
File "/home/zenghongsheng/baidu/feedgr-ol/ntm/tools/qianmo/mpi/model/tieba/dnn/debug/basic_model.py", line 228, in ff_bp
target = self.get_label(slots)
File "fleet_train.py", line 28, in <module>
network_output = dnn.ff_bp(True)
C++ Call stacks:
holder_ should not be null
Tensor not initialized yet when Tensor::type() is called. at [/paddle/paddle/fluid/framework/tensor.h:139]
PaddlePaddle Call Stacks:
0 0x7fb4667b7888p void paddle::platform::EnforceNotMet::Init<std::string>(std::string, char const*, int) + 360
1 0x7fb4667b7bd7p paddle::platform::EnforceNotMet::EnforceNotMet(std::string const&, char const*, int) + 87
2 0x7fb4667b857bp paddle::framework::Tensor::type() const + 107
3 0x7fb466c5a2f6p paddle::operators::ReshapeOp::GetExpectedKernelType(paddle::framework::ExecutionContext const&) const + 102
4 0x7fb467b15d5bp paddle::framework::OperatorWithKernel::ChooseKernel(paddle::framework::RuntimeContext const&, 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 + 235
5 0x7fb467b17218p 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 + 728
6 0x7fb467b17821p 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
7 0x7fb467b127c4p 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&) + 260
8 0x7fb46693998ep paddle::framework::Executor::RunPreparedContext(paddle::framework::ExecutorPrepareContext*, paddle::framework::Scope*, bool, bool, bool) + 206
9 0x7fb46693ca1fp 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
10 0x7fb4667a9b2dp
11 0x7fb4667e6f9ep
12 0x7fb4fd501577p PyEval_EvalFrameEx + 28695
13 0x7fb4fd503a99p PyEval_EvalCodeEx + 2025
14 0x7fb4fd500f68p PyEval_EvalFrameEx + 27144
15 0x7fb4fd503a99p PyEval_EvalCodeEx + 2025
16 0x7fb4fd500f68p PyEval_EvalFrameEx + 27144
17 0x7fb4fd503a99p PyEval_EvalCodeEx + 2025
18 0x7fb4fd503cbap PyEval_EvalCode + 26
19 0x7fb4fd51d01dp
20 0x7fb4fd51e1c8p PyRun_FileExFlags + 120
21 0x7fb4fd51f3e8p PyRun_SimpleFileExFlags + 232
22 0x7fb4fd53167cp Py_Main + 2988
23 0x7fb4fc7c3cddp __libc_start_main + 253
24 0x7fb4fd60207fp
原先以为是因为没有初始化,但是加上初始化的代码(如下)仍报错
exe.run(fluid.default_startup_program())
麻烦帮忙解决一下这个问题,急。
模型保存用的是fluid.io.save_inference_model接口,加载预测模型的时候对应用的是fluid.io.load_inference_model接口,这两步都没问题,但是在预测过程中:
exe.run的时候会报错:
原先以为是因为没有初始化,但是加上初始化的代码(如下)仍报错
麻烦帮忙解决一下这个问题,急。