Tensorflow C ++ API:如何从文件中读取Tensor?

时间:2017-03-09 06:16:59

标签: c++ tensorflow

我将训练数据(可能是浮动矢量)保存在某些文件中,并尝试使用Tensorflow C ++读取器类将其作为Tensor加载。 这是我的代码。

using namespace tensorflow;
using namespace tensorflow::ops;
using namespace tensorflow::sparse;

Scope root = Scope::NewRootScope();

auto indexReader = FixedLengthRecordReader(root, sizeof(uint32_t));
auto queue = FIFOQueue(root, {DataType::DT_STRING});

auto file = Input::Initializer(std::string("mydata.feat"));
std::cerr << file.tensor.DebugString() << std::endl;

auto enqueue = QueueEnqueue(root, queue, {file});
std::cerr << Input(QueueSize(root, queue).size).tensor().DebugString() << std::endl;

auto rawInputIndex = ReaderRead(root, indexReader, queue);
std::cerr << Input(rawInputIndex.key).tensor().DebugString() << std::endl;

auto decodedInputIndex = DecodeRaw(root, rawInputIndex.value, DataType::DT_UINT8);
std::cerr << Input(decodedInputIndex.output).tensor().DebugString() << std::endl;

它编译得非常好但是cerr显示总是空的Tensor。 (以下是我的程序在shell上的执行结果)

Tensor<type: string shape: [] values: mydata.feat>
Tensor<type: float shape: [0] values: >
Tensor<type: float shape: [0] values: >
Tensor<type: float shape: [0] values: >

我不知道为什么它不起作用。 或者,class ReaderReadclass FIFOQueue是否有任何C ++示例代码?我在任何地方都找不到......

1 个答案:

答案 0 :(得分:0)

您正在做的是构建图表。要运行此图,您需要创建一个会话并运行它。有关如何执行此操作的示例,请参阅the label_image example on the tensorflow codebase

相关问题