Tensorflow Estimator shuffle


部落用户
2025-03-18 08:43:57 (21天前)
  1. 数据集,确保数据完全洗牌(Iris数据集仅包含150个示例)。

除了创建shuffle方法之外

特征
</跨度>

工程
</跨度>
什么时候我会将我的数据集随机分离以创建训练数据?有什么好处:“在物品通过时洗牌”。

2 条回复
  1. 0# 一腔诗意喂了狗 | 2019-08-31 10-32



    shuffle是一种通常有用的方法,如果你想要随机播放你的数据并且你之前没有选择能够这样做,比如当你从生成器中读取时。如果您想在每次迭代时对数据进行混洗,那么shuffle方法也非常有用(通常与数据结合使用)

    重复

    方法)。这是一个快速示例,说明原因:




    1. dataset1 = tf.data.Dataset.range(5).shuffle(5).repeat(3).make_one_shot_iterator().get_next()
      dataset2 = tf.data.Dataset.range(5).shuffle(5, reshuffle_each_iteration=False).repeat(3).make_one_shot_iterator().get_next()

    2. sess = tf.Session()

    3. for i in range(15):
      d1, d2 = sess.run([dataset1, dataset2])
      print(“Dataset1: {}, Dataset2:, {}”.format(d1, d2))

    4. </code>


    结果:




    1. Dataset1: 0, Dataset2:, 3
      Dataset1: 3, Dataset2:, 0
      Dataset1: 4, Dataset2:, 1
      Dataset1: 1, Dataset2:, 2
      Dataset1: 2, Dataset2:, 4
      Dataset1: 1, Dataset2:, 3
      Dataset1: 2, Dataset2:, 0
      Dataset1: 3, Dataset2:, 1
      Dataset1: 4, Dataset2:, 2
      Dataset1: 0, Dataset2:, 4
      Dataset1: 3, Dataset2:, 3
      Dataset1: 0, Dataset2:, 0
      Dataset1: 4, Dataset2:, 1
      Dataset1: 1, Dataset2:, 2
      Dataset1: 2, Dataset2:, 4

    2. </code>


    如您所见,第二个数据集重复了它一次洗牌的元素,而第一个数据集每次迭代数据集时都会对数据进行混洗。


登录 后才能参与评论