def make_example(seq_len, spec_feat, labels):
''' Creates a SequenceExample for a single utterance.
This function makes a SequenceExample given the sequence length,
mfcc features and corresponding transcript.
These sequence examples are read using tf.parse_single_sequence_example
during training.
Note: Some of the tf modules used in this function(such as
tf.train.Feature) do not have comprehensive documentation in v0.12.
This function was put together using the test routines in the
tensorflow repo.
See: https://github.com/tensorflow/tensorflow/
blob/246a3724f5406b357aefcad561407720f5ccb5dc/
tensorflow/python/kernel_tests/parsing_ops_test.py
Args:
seq_len: integer represents the sequence length in time frames.
spec_feat: [TxF] matrix of mfcc features.
labels: list of ints representing the encoded transcript.
Returns:
Serialized sequence example.
'''
# Feature lists for the sequential features of the example
feats_list = [tf.train.Feature(float_list=tf.train.FloatList(value=frame))
for frame in spec_feat]
feat_dict = {"feats": tf.train.FeatureList(feature=feats_list)}
sequence_feats = tf.train.FeatureLists(feature_list=feat_dict)
# Context features for the entire sequence
len_feat = tf.train.Feature(int64_list=tf.train.Int64List(value=[seq_len]))
label_feat = tf.train.Feature(int64_list=tf.train.Int64List(value=labels))
context_feats = tf.train.Features(feature={"seq_len": len_feat,
"labels": label_feat})
ex = tf.train.SequenceExample(context=context_feats,
feature_lists=sequence_feats)
return ex.SerializeToString()
评论列表
文章目录