【发布时间】:2021-07-17 17:49:20
【问题描述】:
假设我们有一个张量 A,其维度为 dim(A)=[i, j, k=6, u, v]时间>。现在我们有兴趣用 channels=[0:3] 获得维度 k 的整个张量。我知道我们可以通过这种方式得到它:
B = A[:, :, 0:3, :, :]
现在我想知道是否有更好的“pythonic”方法来实现相同的结果,而无需进行这种次优索引。我的意思是这样的。
B = subset(A, dim=2, index=[0, 1, 2])
无论在哪个框架下,即pytorch、tensorflow、numpy等
非常感谢
【问题讨论】:
-
tf.gather将不必要的复杂,在您的情况下,您必须构建索引数组,例如tf.gather(A,tf.tile([[[0,1,2]]],[10,10,1]),batch_dims=2)
标签: python numpy tensorflow indexing pytorch