火炬 - 随机选择张量尺寸切片

时间:2016-01-26 11:14:14

标签: lua torch

我有一个大小为(1 x n x n x n)的火炬张量,我想随机选择最后3个维度中的一个随机切片,然后再做。例如,它可以以相同的概率输出以下张量;

(1 x s x n x n)
(1 x n x s x n)
(1 x n x n x s)

我意识到我可以做一些if else语句,但我很好奇是否有一个“neater”选项使用类似torch.random(1,4)的函数来选择维度。

1 个答案:

答案 0 :(得分:1)

假设您想要从n个元素中随机缩小s元素块。

让我们使用:narrow

n = 100
s = 20
x = torch.randn(1, n, n, n)
y = x:narrow(torch.random(2, 4), torch.random(1, n - s + 1), s)