微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

TripletSemiHardLoss 的最后小批量

如何解决TripletSemiHardLoss 的最后小批量

我使用的是 Tensorflow 2.3

我正在为 tfrecord 使用以下代码

dataset = tf.data.TFRecordDataset(filenames=filenames)
dataset = dataset.shuffle(buffer_size=100000)
# dataset handling API
dataset = dataset.cache()
dataset = dataset.map(parse_examples,num_parallel_calls=tf.data.experimental.AUTOTUNE)
dataset = dataset.prefetch(buffer_size=tf.data.experimental.AUTOTUNE)
dataset = dataset.batch(50)

假设我有 101 张图片,那么我将有 3 个批次,其中最后一个批次仅包含 1 个元素。

如果我使用 TripletSemiHardLoss,这会出错,因为它需要正例和反例。有没有方便的方法来确保所有批次都有 50 个元素或确保每个批次都有正例和反例?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。