TensorFlow函数教程:tf.io.parse_sequence_example

2019-02-21 16:21 更新

tf.io.parse_sequence_example函数

tf.io.parse_sequence_example(
    serialized,
    context_features=None,
    sequence_features=None,
    example_names=None,
    name=None
)

定义在:tensorflow/python/ops/parsing_ops.py。

解析一批SequenceExample原型。

解析serialized中给出的序列化SequenceExample原型向量 。

此操作将序列化序列示例解析为分别将键映射到Tensor和SparseTensor对象的字典元组。第一个字典包含出现在context_features中的键的映射,第二个字典包含出现在sequence_features中的键的映射。

必须提供context_features和sequence_features中的至少一个且非空。

这些context_features键与SequenceExample作为一个整体相关联,与时间/帧无关。相反,sequence_features键提供了一种在SequenceExample原型的FeatureList部分中访问可变长度数据的方法。虽然context_features值的shape相对于帧是固定的,但是sequence_features值的帧维度(第一维)可以在SequenceExample原型之间变化,甚至可以在同一SequenceExample内的feature_list键之间变化。

context_features包含VarLenFeature和FixedLenFeature对象。每个VarLenFeature都映射到一个SparseTensor,并且每个FixedLenFeature都映射到Tensor,其具有指定类型,shape和默认值。

sequence_features包含VarLenFeature和FixedLenSequenceFeature对象。每个VarLenFeature都映射到一个SparseTensor,并且每个FixedLenSequenceFeature映射到Tensor,每个都有指定的类型。FixedLenSequenceFeature df的shape将是(B,T,) + df.dense_shape,其中B是批处理大小,T是SequenceExample中关联FeatureList的长度。例如,FixedLenSequenceFeature([])产生静态shape [None, None]和动态shape [B, T]的标量2-D Tensor,而FixedLenSequenceFeature([k])(对于 int k >= 1)产生静态shape [None, None, k]和动态shape [B, T, k]的3-D矩阵Tensor。

与输入一样,生成的输出张量具有批处理维度。这意味着VarLenFeatures和FixedLenSequenceFeatures的原始每个示例shape可能会丢失。为了处理这种情况,该操作还提供了shape张量的dict作为输出的一部分。上下文功能有一个dict,feature_list功能也有一个dict。类型FixedLenFeatures的上下文功能将不存在,因为调用者已经知道它们的shape。如果输入的“fixedLenFeature”在示例中的长度不同,较短的示例将使用默认数据类型值填充:0表示数字类型,空字符串表示字符串类型。

每个SparseTensor对应的sequence_features代表一个参差不齐的矢量。它的索引是[time, index],其中time是FeatureList条目,index是与该时间关联的值列表中的值索引。

带有default_value的FixedLenFeature和带有allow_missing=True的FixedLenSequenceFeature条目是可选的;否则,如果serialized中的任何示例中缺少Feature或FeatureList,我们将失败。

example_name可能包含相应序列化原型的描述性名称。这可能对调试有用,但它对输出没有影响。如果不是None,则example_name必须是标量。

参数:

  • serialized:包含二进制序列化SequenceExample原型的字符串类型的向量(1-D Tensor)。
  • context_features:dict映射功能键到FixedLenFeature或VarLenFeature值。这些功能与SequenceExample作为一个整体相关联。
  • sequence_features:dict映射功能键到FixedLenSequenceFeature或VarLenFeature值。这些功能与SequenceExample原型的FeatureList部分中的数据相关联。
  • example_names:字符串的向量(1-D Tensor)(可选),序列化原型的名称。
  • name:此操作的名称(可选)。

返回:

三个dicts的元组,每个dicts映射键到Tensors和SparseTensors。 第一个dict包含上下文键/值,第二个dict包含feature_list键/值,最后一个dict包含任何密集feature_list功能的长度。

可能引发的异常:

  • ValueError:如果任何功能无效。
以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号