存在三个异构网络。在处理的最后,我需要重构张量中的最终正样本和负样本。我需要洗牌。我使用“ tf.random_shuffle”方法,错误提示:“ Random Shuffle”操作未定义渐变。但是我需要渐变。如果我不使用“ tf.random_shuffle”方法,则想人为地对其进行洗牌,该如何操作?
现在,我使用“ tf.map_fn”方法来简单地交替使用正负组合,一个正负一个,然后是一个正负一个,依此类推。但这仍然是样本的常规组合,以及如何对样本进行混洗?
答案 0 :(得分:0)
这是一种解决方法:
tf.gather(batch, tf.random.shuffle(tf.range(tf.shape(batch)[0])))
[https://github.com/tensorflow/tensorflow/issues/6269#issuecomment-465850464][1]