我在 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;
}
关于c++ - Tensorflow C++ YOU_MADE_A_PROGRAMMING_MISTAKE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48530564/