我确实在apache_beam中找到了专门用于tfrecords的io函数,它可以:
from apache_beam.io.tfrecordio import ReadFromTFRecord
class VerifyOutput(beam.DoFn):
def process(self, pcollection):
try:
pcollection = pcollection.element
except AttributeError:
pass
logging.info(pcollection.subject_id)
(pipeline | ReadFromTFRecord(opt.input_path, compression_type='auto', validate=True)
| beam.ParDo(VerifyOutput()) )
这将打印出tfrecord的bytestringa。如何在beam管道中解析它?这样就可以拿回单个元素了?在
我确实找到了用于读取tfrecordshere的tensorflow习惯用法,但这对我不起作用,我想是因为beam不是“线程安全的”(永远挂起)。在
另外,是否可以(对于调试/学习/测试)在不实际运行管道的情况下运行ReadFromTFRecord?例如在一个jupyter笔记本里?在
您需要指定编码器以解码回特性。 像这样的东西应该可以做到:
另请参见here以获取更详细的示例。在
但是,考虑到还有(更新的)替代方法来处理TF记录文件和数据集(例如,参见here和here)。在
相关问题 更多 >
编程相关推荐