нарезая каждое сырье тензора - PullRequest
0 голосов
/ 03 марта 2020

У меня есть тензор размера (1124823 x 13). Я хочу go из центра каждого необработанного тензора взять пять элементов слева и пять справа. Я делаю такой простой код. Это дает мне

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

Ответы [ 2 ]

0 голосов
/ 03 марта 2020

Как насчет этого:

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)

Это то, что вы хотите?

0 голосов
/ 03 марта 2020

feat[i, j] извлечет один единственный элемент из вашего 2D-тензора - следовательно, вы не можете итерировать по нему, так как это '0-й тензор'.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...