Closed lyp2github closed 6 years ago
模型输入结构
integer_value_sequence(DICT_SIZE), dense_vector(1024),
输入数据demo
[[[1530,222],[0.196966, -1.395368, -0.135187, -0.648595, 0.381318,...]], [[1530,222],[-5.0974379999999995, -22.252984000000005, -7.180929999999999, 16.662134000000002, -0.26429299999999967, -8.972871,...]]]
capi参数设置
paddle_arguments_resize(_in_args, 2); ids_arr =[1530,222,1530,222] seq_arr = {0,2,4} term_id_vec = paddle_ivector_create(ids_arr, 4, false, false); term_seq_pos = paddle_ivector_create(seq_arr, sizeof(seq_arr)/sizeof(int), false, false); paddle_arguments_set_ids(_in_args, 0, term_id_vec); paddle_arguments_set_sequence_start_pos(_in_args, 0, 0, term_seq_pos);#设置integer_value_seq fea_mat = paddle_matrix_create(2 , 1024, false);#两个样本 paddle_arguments_set_value(_in_args, 1 , _fea_mat);
预测时报错
I0502 10:19:53.017947 38679 Util.cpp:166] commandline: --use_gpu=False F0502 10:29:57.013046 38786 LstmLayer.cpp:161] Check failed: starts[numSequences] == batchSize (1 vs. 2) *** Check failure stack trace: *** @ 0x7f355eb7407d google::LogMessage::Fail() @ 0x7f355eb77b2c google::LogMessage::SendToLog() @ 0x7f355eb73ba3 google::LogMessage::Flush() @ 0x7f355eb7903e google::LogMessageFatal::~LogMessageFatal() @ 0x7f355ec541e2 paddle::LstmLayer::forward() @ 0x7f355ecebc2d paddle::NeuralNetwork::forward()
Review her code into details, I found that the user apply sizeof on a malloced array, and do not send the right size to C-API.
sizeof
模型输入结构
输入数据demo
capi参数设置
预测时报错