预测的时候, sparse_binary_vector 遇到 DataProviderConverter 出错
Created by: linrongyi
bow 模型使用 sparse_binary_vector, 在执行预测的时候出错了, 复现过程
import sys
#import numpy as np
from py_paddle import swig_paddle
from py_paddle import DataProviderConverter
from paddle.trainer.PyDataProvider2 import sparse_non_value_slot, sparse_binary_vector
from paddle.trainer.PyDataProviderWrapper import DenseSlot, IndexSlot, SparseNonValueSlot
from paddle.trainer.config_parser import parse_config
swig_paddle.initPaddle("--use_gpu=0")
converter = DataProviderConverter([sparse_binary_vector(10000)])
instance = converter([[ [1034]] ])
出现的错误是
I1105 11:41:50.446784 9461 Util.cpp:144] commandline: --use_gpu=0
I1105 11:41:50.446880 9461 Util.cpp:113] Calling runInitFunctions
I1105 11:41:50.447175 9461 Util.cpp:126] Call runInitFunctions done.
F1105 11:41:50.447324 9461 CpuSparseMatrix.cpp:59] Check failed: newNnz <= newHeight * newWidth (1 vs. 0)
*** Check failure stack trace: ***
@ 0x7f1c4dc9ea3d google::LogMessage::Fail()
@ 0x7f1c4dca2ed7 google::LogMessage::SendToLog()
@ 0x7f1c4dca0d39 google::LogMessage::Flush()
@ 0x7f1c4dca103d google::LogMessageFatal::~LogMessageFatal()
@ 0x7f1c4e58bb5a paddle::CpuSparseMatrix::resize()
@ 0x7f1c4e58bdda paddle::CpuSparseMatrix::CpuSparseMatrix()
@ 0x7f1c4e562b8b paddle::Matrix::createSparseMatrix()
@ 0x7f1c4e76868d Matrix::createSparse()
@ 0x7f1c4e3af7ee _wrap_Matrix_createSparse
@ 0x7f1c559633a3 PyEval_EvalFrameEx
@ 0x7f1c55965130 PyEval_EvalCodeEx
@ 0x7f1c559634a1 PyEval_EvalFrameEx
@ 0x7f1c55963c56 PyEval_EvalFrameEx
@ 0x7f1c55965130 PyEval_EvalCodeEx
@ 0x7f1c559634a1 PyEval_EvalFrameEx
@ 0x7f1c55965130 PyEval_EvalCodeEx
@ 0x7f1c558f1181 function_call
@ 0x7f1c558c90f3 PyObject_Call
@ 0x7f1c558dbf7f instancemethod_call
@ 0x7f1c558c90f3 PyObject_Call
@ 0x7f1c5591fbd4 slot_tp_call
@ 0x7f1c558c90f3 PyObject_Call
@ 0x7f1c55962887 PyEval_EvalFrameEx
@ 0x7f1c55965130 PyEval_EvalCodeEx
@ 0x7f1c55965242 PyEval_EvalCode
@ 0x7f1c5597f62c run_mod
@ 0x7f1c5597f700 PyRun_FileExFlags
@ 0x7f1c55980c0c PyRun_SimpleFileExFlags
@ 0x7f1c559924cc Py_Main
@ 0x318ae1ecdd (unknown)
Current Layer forward/backward stack is
*** Aborted at 1478317310 (unix time) try "date -d @1478317310" if you are using GNU date ***
Current Layer forward/backward stack is
PC: @ 0x318ae328a5 (unknown)
Current Layer forward/backward stack is
*** SIGABRT (@0x1f5000024f5) received by PID 9461 (TID 0x7f1c5586c700) from PID 9461; stack trace: ***
Current Layer forward/backward stack is
@ 0x318b20f500 (unknown)
Current Layer forward/backward stack is
@ 0x318ae328a5 (unknown)
Current Layer forward/backward stack is
@ 0x318ae34085 (unknown)
Current Layer forward/backward stack is
@ 0x7f1c4dcab246 google::FindSymbol()
Current Layer forward/backward stack is
@ 0x7f1c4dcab9bc google::SymbolizeAndDemangle()
Current Layer forward/backward stack is
@ 0x7f1c4dca8559 google::DumpStackTrace()
Current Layer forward/backward stack is
@ 0x7f1c4dca8636 google::DumpStackTraceAndExit()
Current Layer forward/backward stack is
@ 0x7f1c4dc9ea3d google::LogMessage::Fail()
Current Layer forward/backward stack is
代码版本, develop 45c81a41