提交 38f8182d 编写于 作者: T tensor-tang

work around with dummy test

上级 eaeb76c4
...@@ -35,7 +35,13 @@ inference_test(image_classification ARGS vgg resnet) ...@@ -35,7 +35,13 @@ inference_test(image_classification ARGS vgg resnet)
inference_test(label_semantic_roles) inference_test(label_semantic_roles)
inference_test(recognize_digits ARGS mlp conv) inference_test(recognize_digits ARGS mlp conv)
inference_test(recommender_system) inference_test(recommender_system)
inference_test(nlp)
#inference_test(rnn_encoder_decoder) #inference_test(rnn_encoder_decoder)
#inference_test(understand_sentiment ARGS conv) #inference_test(understand_sentiment ARGS conv)
inference_test(word2vec) inference_test(word2vec)
# This is an unly work around to make this test run
cc_test(test_inference_nlp
SRCS test_inference_nlp.cc
DEPS paddle_fluid
ARGS
--modelpath=${PADDLE_BINARY_DIR}/python/paddle/fluid/tests/book/recognize_digits_mlp.inference.model)
...@@ -37,10 +37,22 @@ inline double GetCurrentMs() { ...@@ -37,10 +37,22 @@ inline double GetCurrentMs() {
return 1e+3 * time.tv_sec + 1e-3 * time.tv_usec; return 1e+3 * time.tv_sec + 1e-3 * time.tv_usec;
} }
// This function just give dummy data for recognize_digits model.
size_t DummyData(std::vector<paddle::framework::LoDTensor>* out) {
paddle::framework::LoDTensor input;
SetupTensor<float>(&input, {1, 1, 28, 28}, -1.f, 1.f);
out->emplace_back(input);
return 1;
}
// Load the input word index data from file and save into LodTensor. // Load the input word index data from file and save into LodTensor.
// Return the size of words. // Return the size of words.
size_t LoadData(std::vector<paddle::framework::LoDTensor>* out, size_t LoadData(std::vector<paddle::framework::LoDTensor>* out,
const std::string& filename) { const std::string& filename) {
if (filename.empty()) {
return DummyData(out);
}
size_t sz = 0; size_t sz = 0;
std::fstream fin(filename); std::fstream fin(filename);
std::string line; std::string line;
...@@ -130,9 +142,12 @@ void ThreadRunInfer( ...@@ -130,9 +142,12 @@ void ThreadRunInfer(
} }
TEST(inference, nlp) { TEST(inference, nlp) {
if (FLAGS_modelpath.empty() || FLAGS_datafile.empty()) { if (FLAGS_modelpath.empty()) {
LOG(FATAL) << "Usage: ./example --modelpath=path/to/your/model " LOG(FATAL) << "Usage: ./example --modelpath=path/to/your/model";
<< "--datafile=path/to/your/data"; }
if (FLAGS_datafile.empty()) {
LOG(WARNING) << " Not data file provided, will use dummy data!"
<< "Note: if you use nlp model, please provide data file.";
} }
LOG(INFO) << "Model Path: " << FLAGS_modelpath; LOG(INFO) << "Model Path: " << FLAGS_modelpath;
LOG(INFO) << "Data File: " << FLAGS_datafile; LOG(INFO) << "Data File: " << FLAGS_datafile;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册