如何使用map在tensorflow数据集中制作两个训练样例

时间:2018-02-05 10:09:21

标签: python tensorflow tensorflow-datasets

我的数据集中有很多训练样例,并且想要旋转每个训练样例,以便我得到两倍的数字。我正在使用数据集,并尝试这样:

def addrotation(images, labels):
  images_rotated_left = tf.contrib.image.rotate(images, pi/2.0)
  labels_rotated_left = tf.stack([labels[1], labels[2], labels[0]])
  return tf.stack([images,images_rotated_left]), tf.stack([labels, labels_rotated_left])

但是当我现在使用dataset = dataset.map(addrotation)时,我会得到双倍数据的示例。

是否可以以某种方式返回旋转的张量,以便将它们视为单独的示例或"线"?

1 个答案:

答案 0 :(得分:0)

没关系,我找到了解决方案: 我创建了一个包含所有旋转示例的新数据集,然后将两个数据集压缩在一起,如下所示: https://stackoverflow.com/a/47344405/984336