NHZlX / papers

1 stars 0 forks source link

infernece config #7

Open NHZlX opened 5 years ago

NHZlX commented 5 years ago
// 创建配置
AnalysisConfig config;
// 设置模型文件路径
config.SetModel(FLAGS_dirname + "/model",
                     FLAGS_dirname + "/params");
// 打开GPU
config.EnableUseGpu(100 /*memory_pool_init_size_mb*/, 0 /*gpu_id*/);
// config.EnableTensorRtEngine();
// 

// CPU
// config.DisableGpu();
// config.EnableMKLDNN();
// config.SetCpuMathLibraryNumThreads();
// 打开显存优化
config.EnableMemoryOptim();
// 关闭优化
config.SwitchIrOptim(false);   
// 打开可视化
config.pass_builder()->TurnOnDebug();
// ...
// 创建predictor
auto predictor = CreatePaddlePredictor(config);

// 准备输入
std::vector<PaddleTensor> inputs;
std::vector<PaddleTensor> outputs;

PaddleTensor img;
img.shape = {batch_size, channels, height, width};
img.data = PaddleBuf(static_cast<void*>(input), input_num * sizeof(float));
  img.dtype = PaddleDType::FLOAT32;
inputs.emplace_back(img);

// 运行
predictor->Run(inputs, &outputs, batch_size); 

// 获取输出
float* data_o = static_cast<float*>(outputs[0].data.data());