TensorFlow SequenceExample用法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
def generate_TFrecord_SequenceExample2(files_list,labels_list,to_file="train.tfrecords"):
"""
待测试。生成一个TFrecord文件
:param files_list: 文件列表。
:param labels_list: 和文件列表对应的标签列表。
:param to_file: 写入目标TFrecord文件
:return: NULL
"""
def make_example(sequence, labels):
# The object we return
ex = tf.train.SequenceExample()
# A non-sequential feature of our example
#sequence_length = len(sequence)
#ex.context.feature["length"].int64_list.value.append(sequence_length)
# Feature lists for the two sequential features of our example
# fl_imgs = ex.feature_lists.feature_list["imgs"]
# fl_labels = ex.feature_lists.feature_list["labels"]
fl_imgs = ex.feature_lists.feature_list["imgs"]
fl_labels = ex.feature_lists.feature_list["labels"]
for img, label in zip(sequence, labels):
fl_imgs.feature.add().bytes_list.value.append(Image.open(img).tobytes())
fl_labels.feature.add().int64_list.value.append(label)
return ex
writer = tf.python_io.TFRecordWriter(to_file)
for sequence, label_sequence in zip(files_list, labels_list):
ex = make_example([sequence], [label_sequence])
writer.write(ex.SerializeToString())
writer.close()

参考: