TensorFlow函數(shù)教程:tf.io.parse_sequence_example

2019-02-21 16:21 更新

tf.io.parse_sequence_example函數(shù)

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對象的字典元組。第一個字典包含出現(xiàn)在context_features中的鍵的映射,第二個字典包含出現(xiàn)在sequence_features中的鍵的映射。

必須提供context_features和sequence_features中的至少一個且非空。

這些context_features鍵與SequenceExample作為一個整體相關(guān)聯(lián),與時間/幀無關(guān)。相反,sequence_features鍵提供了一種在SequenceExample原型的FeatureList部分中訪問可變長度數(shù)據(jù)的方法。雖然context_features值的shape相對于幀是固定的,但是sequence_features值的幀維度(第一維)可以在SequenceExample原型之間變化,甚至可以在同一SequenceExample內(nèi)的feature_list鍵之間變化。

context_features包含VarLenFeature和FixedLenFeature對象。每個VarLenFeature都映射到一個SparseTensor,并且每個FixedLenFeature都映射到Tensor,其具有指定類型,shape和默認(rèn)值。

sequence_features包含VarLenFeature和FixedLenSequenceFeature對象。每個VarLenFeature都映射到一個SparseTensor,并且每個FixedLenSequenceFeature映射到Tensor,每個都有指定的類型。FixedLenSequenceFeature df的shape將是(B,T,) + df.dense_shape,其中B是批處理大小,T是SequenceExample中關(guān)聯(lián)FeatureList的長度。例如,F(xiàn)ixedLenSequenceFeature([])產(chǎn)生靜態(tài)shape [None, None]和動態(tài)shape [B, T]的標(biāo)量2-D Tensor,而FixedLenSequenceFeature([k])(對于 int k >= 1)產(chǎn)生靜態(tài)shape [None, None, k]和動態(tài)shape [B, T, k]的3-D矩陣Tensor。

與輸入一樣,生成的輸出張量具有批處理維度。這意味著VarLenFeatures和FixedLenSequenceFeatures的原始每個示例shape可能會丟失。為了處理這種情況,該操作還提供了shape張量的dict作為輸出的一部分。上下文功能有一個dict,feature_list功能也有一個dict。類型FixedLenFeatures的上下文功能將不存在,因為調(diào)用者已經(jīng)知道它們的shape。如果輸入的“fixedLenFeature”在示例中的長度不同,較短的示例將使用默認(rèn)數(shù)據(jù)類型值填充:0表示數(shù)字類型,空字符串表示字符串類型。

每個SparseTensor對應(yīng)的sequence_features代表一個參差不齊的矢量。它的索引是[time, index],其中time是FeatureList條目,index是與該時間關(guān)聯(lián)的值列表中的值索引。

帶有default_value的FixedLenFeature和帶有allow_missing=True的FixedLenSequenceFeature條目是可選的;否則,如果serialized中的任何示例中缺少Feature或FeatureList,我們將失敗。

example_name可能包含相應(yīng)序列化原型的描述性名稱。這可能對調(diào)試有用,但它對輸出沒有影響。如果不是None,則example_name必須是標(biāo)量。

參數(shù):

  • serialized:包含二進(jìn)制序列化SequenceExample原型的字符串類型的向量(1-D Tensor)。
  • context_features:dict映射功能鍵到FixedLenFeature或VarLenFeature值。這些功能與SequenceExample作為一個整體相關(guān)聯(lián)。
  • sequence_features:dict映射功能鍵到FixedLenSequenceFeature或VarLenFeature值。這些功能與SequenceExample原型的FeatureList部分中的數(shù)據(jù)相關(guān)聯(lián)。
  • example_names:字符串的向量(1-D Tensor)(可選),序列化原型的名稱。
  • name:此操作的名稱(可選)。

返回:

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

可能引發(fā)的異常:

  • ValueError:如果任何功能無效。
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號