Tensorflow C++ YOU_MADE_A_PROGRAMMING_MISTAKE

Tensorflow C++ YOU_MADE_A_PROGRAMMING_MISTAKE

本文关键字:PROGRAMMING MISTAKE MADE YOU Tensorflow C++      更新时间:2023-10-16

我用python训练我的NN模型,并在VS2015 C++中加载它。这段代码:


    // The session will initialize the outputs
    vector<Tensor> outputs;
    // Run the session, evaluating our "c" operation from the graph
    status = session->Run(inputs, { "y_pred" }, {}, &outputs);
    // Convert the node to a scalar representation.
    auto output_c = outputs[0].flat<float>();

y_pred是一个 2 元素张量,所以我使用 flat 来获取它。但是,我从EIGEN_STATIC_ASSERT那里收到一个错误"YOU_MADE_A_PROGRAMMING_MISTAKE"。

以前有人遇到过这个问题吗?我应该如何解决?谢谢!

最后,我在stackoverflow中找到了一个帖子,但我无法确定谁是原作者。事实上,我们需要扁平函数。

session->Run(inputs, { "pred" }, {}, &outputs);
TTypes<float>::Flat indices_flat = outputs[0].flat<float>();
float coutput[6];
for (int i = 0; i<dataSize; i++)    { 
    coutput[i] = indices_flat(i);
    cout << "outptut[i]: " << indices_flat(i) << endl; 
}