我的张量大小为(1124823 x 13)。我想从每个张量的中心开始,从左边取五个元素,从右边取五个元素。我做了这样的简单代码。它给了我
TypeError:在0维张量上迭代
i = 0
j = 6
base = feat.size(0)//2
for i in feat[i, j]:
x = feat[base - 5: base:+5]
i += 1
答案 0 :(得分:0)
feat[i, j]
将从2D张量中提取一个元素-因此,由于它是一个0维张量,因此无法对其进行迭代。
答案 1 :(得分:0)
那呢:
x = torch.rand(100,13)
center = x.size(1) // 2
x1 = x[:, center:center+5] # torch.Size([100, 5]) (right)
x2 = x[:, center-5:center] # torch.Size([100, 5]) (left)
这就是你想要的吗?