capi v2 多线程使用问题
Created by: hyo009
线上多线程共用一个模型预测在成功预测完一些样本后会报错。 单机测试capi,在每个线程中初始化单独的模型可以顺利预测,但只初始化一个模型,通过struct传入thread共用会出现预测出一些结果后报错,不知原因。所有本地使用的样本都一样,输入格式应该没问题
enter thread1
this is thread1, thread id is 3907217152
enter thread2
this is thread2, thread id is 3915609856
thread1 model predict successfully!
thread2 model predict successfully!
thread1 model predict successfully!
thread2 model predict successfully!
thread1 model predict successfully!
thread2 model predict successfully!
thread1 model predict successfully!
thread2 model predict successfully!
thread1 model predict successfully!
thread2 model predict successfully!
thread1 model predict successfully!
thread2 model predict successfully!
thread1 model predict successfully!
thread2 model predict successfully!
thread1 model predict successfully!
thread2 model predict successfully!
thread1 model predict successfully!
thread2 model predict successfully!
thread1 model predict successfully!
F0412 10:25:28.660399 477 SequencePoolLayer.cpp:59] Check failed: starts->getData()[newBatchSize_] == input.getBatchSize() (32745 vs. 43)
*** Check failure stack trace: ***
thread1 model predict successfully!
thread1 model predict successfully!
@ 0x7fe9ed83e76d google::LogMessage::Fail()
@ 0x7fe9ed84221c google::LogMessage::SendToLog()
thread1 model predict successfully!
@ 0x7fe9ed83e293 google::LogMessage::Flush()
@ 0x7fe9ed84372e google::LogMessageFatal::~LogMessageFatal()
thread1 model predict successfully!
@ 0x7fe9ed88c138 paddle::SequencePoolLayer::forward()
@ 0x7fe9ed8ddb7d paddle::MaxLayer::forward()
@ 0x7fe9ed9a24bd paddle::NeuralNetwork::forward()
@ 0x7fe9ed83a676 paddle_gradient_machine_forward
thread1 model predict successfully!
@ 0x4031b3 TrafficModel::traffic_predict()
thread1 model predict successfully!
@ 0x4041d0 TrafficModel::predict()
thread1 model predict successfully!
@ 0x405ac0 thread2()
@ 0x7fe9ec9b71c3 start_thread
@ 0x7fe9eccb412d __clone
@ (nil) (unknown)
Aborted