How do I print to screen contents of a tensor defined as below
std::vector<tensorflow::Tensor> finalOutput;
and which is assigned value by running the following operation
tensorflow::Status run_status = session->Run({{"x",input_tensor},
{"keep_prob", keep_prob}},
{"prediction"},
{},
&finalOutput);
For example:
// The session will initialize the outputs
std::vector<tensorflow::Tensor> outputs;
// Run the session, evaluating our "c" operation from the graph
status = session->Run(inputs, {"c"}, {}, &outputs);
if (!status.ok()) {
std::cout << status.ToString() << "\n";
return 1;
}
// Grab the first output (we only evaluated one graph node: "c")
// and convert the node to a scalar representation.
auto output_c = outputs[0].scalar<float>();
// (There are similar methods for vectors and matrices here:
// https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/public/tensor.h)
// Print the results
std::cout << outputs[0].DebugString() << "\n"; // Tensor<type: float shape: [] values: 30>
std::cout << output_c() << "\n"; // 30
To print a d-dimensional tensorflow::Tensor T
#define printTensor(T, d) \
std::cout<< (T).tensor<float, (d)>() << std::endl
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With