Самый быстрый способ разделить тензор на список тензоровPython

Программы на Python
Ответить
Anonymous
 Самый быстрый способ разделить тензор на список тензоров

Сообщение Anonymous »

Предположим, у меня есть тензор формы [A,B,C,...] и я хочу создать список тензоров по нулевому измерению. Это означает, что на выходе должен быть одномерный список длины A, каждый элемент которого представляет собой тензор формы [B,C,...].
Я видел torch.split функция, но проблема в том, что она возвращает 1d кортеж тензоров формы [1,B,C,...], а это не то, что мне нужно.
Например ,

Код: Выделить всё

>>> minibatch = torch.rand ((4, 2))

tensor([[0.8218, 0.8997],
[0.4612, 0.9416],
[0.1481, 0.2389],
[0.7764, 0.7884]])

>>> torch.split (minibatch, split_size_or_sections=1)

(tensor([[0.8218, 0.8997]]),
tensor([[0.4612, 0.9416]]),
tensor([[0.1481, 0.2389]]),
tensor([[0.7764, 0.7884]]))
Что я хочу на выходе:

Код: Выделить всё

    [tensor([0.8218, 0.8997]),
tensor([0.4612, 0.9416]),
tensor([0.1481, 0.2389]),
tensor([0.7764, 0.7884])]
Конечно, теперь я могу сжать каждый из этих тензоров по 0-му измерению и получить его в требуемом формате, но было бы полезно получить краткое руководство по более простому способу выполнения этой операции.

Подробнее здесь: https://stackoverflow.com/questions/709 ... of-tensors
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»