gpt4 book ai didi

python - TensorFlow:使用一个张量来索引另一个张量

转载 作者:IT老高 更新时间:2023-10-28 20:53:10 24 4
gpt4 key购买 nike

我有一个关于如何在 TensorFlow 中进行索引的基本问题。

在 numpy 中:

x = np.asarray([1,2,3,3,2,5,6,7,1,3])
e = np.asarray([0,1,0,1,1,1,0,1])
#numpy
print x * e[x]

我可以得到

[1 0 3 3 0 5 0 7 1 3]

如何在 TensorFlow 中做到这一点?

x = np.asarray([1,2,3,3,2,5,6,7,1,3])
e = np.asarray([0,1,0,1,1,1,0,1])
x_t = tf.constant(x)
e_t = tf.constant(e)
with tf.Session():
????

谢谢!

最佳答案

幸运的是,tf.gather() 支持 TensorFlow 中的确切情况。 :

result = x_t * tf.gather(e_t, x_t)

with tf.Session() as sess:
print sess.run(result) # ==> 'array([1, 0, 3, 3, 0, 5, 0, 7, 1, 3])'

tf.gather() 操作不如 NumPy's advanced indexing 强大:它仅支持在其第 0 维提取张量的完整切片。已请求支持更通用的索引,并在 this GitHub issue 中进行跟踪.

关于python - TensorFlow:使用一个张量来索引另一个张量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35842598/

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