gpt4 book ai didi

python - 这个 numpy 数组排列的 TensorFlow 等价物是什么?

转载 作者:行者123 更新时间:2023-11-28 22:29:39 24 4
gpt4 key购买 nike

我需要根据给定的索引排列 TF 中张量的元素。从 2 个数组 a 和 b(索引),我需要计算一个新数组,该数组根据 b 中的索引排列 a 中的元素。对于空的索引,它应该用 NA (或等效的)填充。

例如,

a = [10, 20, 30]  
b = [-1, 0, 3]
output = [ 10, 20, NA, NA, 30]

我需要编写与以下 numpy 数组相同的代码,但对于 TF 张量。

a = np.array([10,20,30])
b = np.array([-1,0,3])
mini = abs(np.min(b))
maxi = abs(np.max(b))
output = np.zeros(maxi+mini+1)
for ai,bi in zip(a,b):
output[bi+mini]= ai

如何使用 TensorFlow 张量执行此操作?

最佳答案

非洲还是欧洲?

  1. 如果您知道指数严格递增,tf.sparse_to_dense做你想做的事。

  2. 如果索引不同但按升序排列,您可以使用 tf.sparse_reorder修复订单,然后使用 tf.sparse_tensor_to_dense .

  3. 如果存在重复项并且您希望添加匹配值,请使用 tf.unsorted_segment_sum .

  4. 如果有重复项并且您希望最后一个条目获胜(与您的 Python 循环完全对应),请使用 tf.dynamic_stitch .

为选项动物园道歉。这些操作都是出于不同原因添加的,因此整体设计不是特别干净。

关于python - 这个 numpy 数组排列的 TensorFlow 等价物是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42915728/

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