session->Run(inputs, { “prob”, “landmarks”,”box” }, {}, &outputs);

    input格式说明

    1. Tensor image_tensor(tensorflow::DT_FLOAT, tensorflow::TensorShape({ image.rows, image.cols, 3 }));
    2. mat2tensor(image, image_tensor, image.rows, image.cols);
    3. Tensor min_size(tensorflow::DT_FLOAT, TensorShape());
    4. min_size.scalar<float>()() = 40;
    5. Tensor thresholds(tensorflow::DT_FLOAT, tensorflow::TensorShape({ 3 }));
    6. float *pthresholds = thresholds.flat<float>().data();
    7. pthresholds[0] = 0.6;
    8. pthresholds[1] = 0.7;
    9. pthresholds[2] = 0.7;
    10. Tensor factor(tensorflow::DT_FLOAT, tensorflow::TensorShape());
    11. factor.scalar<float>()() = 0.709;
    12. std::vector<std::pair<string, tensorflow::Tensor>> inputs =
    13. {
    14. { "input", image_tensor },
    15. { "min_size", min_size },
    16. { "thresholds", thresholds },
    17. { "factor", factor },
    18. };
    19. std::vector<Tensor> outputs(tensorflow::DT_FLOAT);
    20. status = session->Run(inputs, { "prob", "landmarks","box" }, {}, &outputs);

    可以看到模型的输入为一个vector,也就是一个模型的输入可以有多个
    单个输入的格式为std::pair也就是一个字符串加一个Tensor值
    就是具体的数值必定是一个Tensor

    输入Tensor的定义为:
    Tensor input(tensorflow::DT_FLOAT, TensorShape());
    其中只用根据模型输入的要求定义TensorShape()的维度即可。
    然后给各个维度附上具体的对应的数值即可。