gpt4 book ai didi

python - tensorflow TFRecord k-hot 编码

转载 作者:行者123 更新时间:2023-11-28 19:03:02 24 4
gpt4 key购买 nike

我正尝试按照本教程使用 TFRecord 格式创建我的训练数据集:https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/using_your_own_dataset.md用于 API 检测。

但是,我不想使用一种热编码,而是想使用 k-hot 编码。例如,我可以使用 [0 1 0 1 0] 进行多分类,而不是使用 [0 0 0 1 0] 标签。我想知道如何使用 TFRecord 格式来做到这一点。如果我使用 2-hot 编码,是否必须创建两个 tf.train.example? (使用两次相同的边界框坐标)还是有其他方法? (比如使用 'image/object/class/text': dataset_util.bytes_list_feature(classes_text), and 'image/object/class/text2': dataset_util.bytes_list_feature(classes_text2)) ?

最佳答案

鉴于您有一个标签列表,例如 [0, 1, 2] 和 10 个类,您需要

def int64_feature(value):
if type(value) != list:
value = [value]
return tf.train.Feature(int64_list=tf.train.Int64List(value=value))

然后将标签作为特征之一传递给 tf.Example

'label': int64_feature(label)

之后,当您在训练期间解析您的数据集时,您会像这样去除标签:

tf.reduce_max(tf.one_hot(labels, num_classes, dtype=tf.int32), axis=0)

给出

[1 1 1 0 0 0 0 0 0 0]

关于python - tensorflow TFRecord k-hot 编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50434746/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com