我喜欢为tensorflow编写一个新的数据阅读器,它可以直接生成多个特征/标签张量,而不需要对字符串中的数据进行解码。我看过new_data_formats教程,但我不希望我自己的阅读器类通过接口进行交互
Status ReadLocked(string* key, string* value, bool* produced, bool* at_end)因为我是直接产生张量的。读取器应该从filename queue中获取一个文件名,并生成多个张量(取决于文件大小),然后将这些张量排队到random batch queue中。我的问题是:我的读者应该从哪个类继承来产生张量?我认为由于线程安全的原因,仅仅将其实现为new op是不够的。我注意到resource_op_kernel class可能是一个合适的起点。
因为这在tensorflow中非常深入,所以任何从哪里开始的指针或额外的提示以及前面可能存在的陷阱都是有帮助的(特别是关于tensorflow中的资源管理、自定义操作和线程安全的一些解释)。
发布于 2017-12-12 05:10:28
听起来tf.data.FixedLengthRecordDataset的实现将是一个很好的起点(C++ op implementation here)。这已经接受了一个文件名,并直接返回张量,所以听起来您只需要输出几个张量,而不是一个。
假设这是使用tf.data而不是队列。不管怎么说,这可能是个好主意。
https://stackoverflow.com/questions/47706309
复制相似问题