我将训练数据(可能是浮动矢量)保存在某些文件中,并尝试使用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 ReaderRead
或class FIFOQueue
是否有任何C ++示例代码?我在任何地方都找不到......
答案 0 :(得分:0)
您正在做的是构建图表。要运行此图,您需要创建一个会话并运行它。有关如何执行此操作的示例,请参阅the label_image example on the tensorflow codebase。