【问题标题】:How to shuffle tensor in tensorflow? error:No gradient defined for operation 'RandomShuffle'如何在张量流中洗牌张量?错误:没有为操作“RandomShuffle”定义梯度
【发布时间】:2019-04-16 05:55:40
【问题描述】:

存在三个异构网络。在处理结束时,我需要在张量中重建最终的正负样本。我需要洗牌。我使用“tf.random_shuffle”方法,错误提示:没有为操作'Random Shuffle'定义梯度。但我需要渐变。如果我不使用“tf.random_shuffle”方法,我想人为地对其进行shuffle,如何操作?

现在,我使用“tf.map_fn”方法简单地交替正负组合,一正一负,然后一正一负,以此类推。但这仍然是样本的规则组合,如何打乱样本?

【问题讨论】:

  • 很抱歉,我是新来的,正在学习中。

标签: python shuffle tensor


【解决方案1】:

这里有一个解决方法:

tf.gather(batch, tf.random.shuffle(tf.range(tf.shape(batch)[0])))

[https://github.com/tensorflow/tensorflow/issues/6269#issuecomment-465850464][1]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-08-20
    • 1970-01-01
    • 2020-09-16
    • 1970-01-01
    • 2017-11-01
    • 2020-03-11
    • 1970-01-01
    • 2018-03-28
    相关资源
    最近更新 更多