gpt4 book ai didi

python - Tensorflow中某些元素的逆序

转载 作者:行者123 更新时间:2023-11-30 22:00:17 25 4
gpt4 key购买 nike

假设我有一个形状为 (M, N, 2) 的张量 DATA。我还有另一个形状为 (N) 的张量 IND,由零和一组成。

如果 IND(i)==1DATA(:,i,0)DATA(:,i,1)必须交换。如果 IND(i)==0 他们不会交换。

我该怎么做?我知道这可以通过 tf.gather_nd 来完成,但我不知道如何完成。

最佳答案

这是一种可能的解决方案 tf.equal , tf.where , tf.scater_nd_update , tf.gather_ndtf.reverse_v2 :

data = tf.Variable([[[1, 2],
[2, 3],
[3, 4],
[4, 5],
[5, 6]]]) # shape=(1,5,2)

# reverse elements where ind is 1
ind = tf.constant([1, 0, 1, 0, 1]) # shape(5,)

cond = tf.where(tf.equal([ind], 1))
match_data = tf.gather_nd(data, cond)
rev_match_data = tf.reverse_v2(match_data, axis=[-1])
data = tf.scatter_nd_update(data, cond, rev_match_data)

with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
print(sess.run(data))
#[[[2 1]
# [2 3]
# [4 3]
# [4 5]
# [6 5]]]

关于python - Tensorflow中某些元素的逆序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54337925/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com