Tensorflow tf.gather\n直观地做什么?
您能否直观地解释或给出更多关于Tensorflow tf.gather\n直观地做什么?,tensorflow,Tensorflow,您能否直观地解释或给出更多关于tf.gather\n nd的示例,以便在Tensorflow中索引和切片到高维张量 我读了,但它保持相当简洁,我发现自己很难理解函数的概念。好的,所以这样想: [tensor[0]] [tensor[0], tensor[1]] 您将提供一个索引值列表,对提供的张量进行索引,以获取这些切片。您提供的索引的第一个维度是针对要执行的每个索引。让我们假设张量只是一个列表 [[0]]表示您希望在提供的张量中的索引0处获得一个特定的切片(列表)。就这样, [tensor
tf.gather\n nd
的示例,以便在Tensorflow中索引和切片到高维张量
我读了,但它保持相当简洁,我发现自己很难理解函数的概念。好的,所以这样想:
[tensor[0]]
[tensor[0], tensor[1]]
您将提供一个索引值列表,对提供的张量进行索引,以获取这些切片。您提供的索引的第一个维度是针对要执行的每个索引。让我们假设张量只是一个列表
[[0]]表示您希望在提供的张量中的索引0处获得一个特定的切片(列表)。就这样,
[tensor[0]]
[tensor[0], tensor[1]]
[[0],[1]]表示您希望在索引0和1处获得两个特定切片,如下所示:
[tensor[0]]
[tensor[0], tensor[1]]
现在,如果张量不止是一维呢?我们做同样的事情:
[[0,0]]表示您希望在第0个列表的索引[0,0]处获得一个切片。像这样:
[tensor[0][0]]
[[0,1],[2,3]]意味着您希望在提供的索引和维度处返回两个切片。像这样:
[tensor[0][1], tensor[2][3]]
我希望这是有道理的。我尝试使用Python索引来帮助解释在Python中如何对列表列表执行此操作。您提供了一个张量和表示该张量中位置的索引。它返回与您提供的索引对应的张量元素 编辑:一个例子
import tensorflow as tf
sess = tf.Session()
x = [[1,2,3],[4,5,6]]
y = tf.gather_nd(x, [[1,1],[1,2]])
print(sess.run(y))
[5,6]
您可能需要本教程:您能详细说明或提供一些示例吗?听起来OP对API文档过于简洁感到失望。我不确定这会给现有的答案增加多少。这可能是一个更好的快速解释,但如果不参考其他解释/资源,就有点难以理解,特别是如果您不熟悉API的话。