跑预估时出错:Check failed: idx < height_ (1 vs. 1)
Created by: AoZhang
错误日志如下:
[INFO 2016-12-30 16:27:47,058 networks.py:1145] The input order is [word, label]
[INFO 2016-12-30 16:27:47,058 networks.py:1152] The output order is [word, label, __fc_layer_3__]
I1230 16:27:47.066862 7230 Trainer.cpp:149] trainer: in testing mode
I1230 16:27:47.066907 7230 Trainer.cpp:156] trainer mode: Testing
I1230 16:27:47.142230 7230 PyDataProvider2.cpp:257] loading dataprovider dataprovider::predict_process
I1230 16:27:47.143563 7230 GradientMachine.cpp:123] Loading parameters from ./output/pass-00029
F1230 16:27:54.450764 7230 Matrix.cpp:3391] Check failed: idx < height_ (1 vs. 1)
*** Check failure stack trace: ***
@ 0xec7d7c google::LogMessage::Fail()
@ 0xec7cd4 google::LogMessage::SendToLog()
@ 0xec7769 google::LogMessage::Flush()
@ 0xeca52a google::LogMessageFatal::~LogMessageFatal()
@ 0x811468 paddle::CpuMatrix::printOneRow()
@ 0x757deb paddle::Tester::printOutput()
@ 0x7587b0 paddle::Tester::testOneBatch()
@ 0x7593d7 paddle::Tester::testOneBatchById()
@ 0x7596e7 paddle::Tester::testOnePass()
@ 0x759add paddle::Tester::test()
@ 0x58ee87 main
@ 0x7ff413f34bd5 __libc_start_main
@ 0x59ad49 (unknown)
dataprovider和配置文件跟训练基本一致,预估的配置里改了几个地方:
- batch_size改成1了
- 输出部分 outputs([word, label, output])
预估的启动命令:
model=./output/pass-00029
paddle train \
--config ./predictor_config.py \
--init_model_path=$model \
--job=test \
--use_gpu=false\
--config_args=is_predict=1 \
--predict_output_dir=./output.predict