Tensorflow有像parse_multiple_examples这样的东西

时间:2018-03-06 13:34:28

标签: python tensorflow

我想创建数据集的序列。但是,Tensorflow仅提供以下功能:

tf.parse_single_example()

我尝试使用tf.py_func和smth这样来避免这个问题:

dataset.map(lambda x: tf.py_func(_parse_tf_record, [x, sequence_length])

for sequence_id in range(0, sequence_length):
    filename = x
    # files only contain one record
    for record in tf.python_io.tf_record_iterator(filename, options):
        ...
        tf.parse_single_example()
        ...
        break # only one sample per file

因此,对于每个地图调用,我都会读取#sequence_length个文件。但是,这不能并行完成,因为tf.py_func不允许它。

1 个答案:

答案 0 :(得分:1)

张量流示例是单个概念单元,它应该独立于其他示例(以便批处理和混洗正常工作)。

如果您希望将更多数据组合在一起,则应将其作为单个示例编写。

为了简化tf.train.SequenceExampletf.parse_single_sequence_exampleUPDATE RollNoSlip SET AttendanceStatus = A.AttendanceStatus FROM RollNoSlip R INNER JOIN Attendance A ON R.RollNo = A.RollNo WHERE R.RollNo BETWEEN 10001 AND 10045 一起使用。它有一个上下文部分,它对序列中的所有条目都是通用的,并且每个步骤都会重复一个序列部分。这通常在使用循环网络(LSTM等)时使用,但只要在上下文中有意义就可以使用它。