Я ищу хороший (эффективный и желательно простой) способ создания дополненного тензора из последовательностей переменной длины / формы. Наилучший способ, который я могу себе представить, - наивный подход, подобный этому:
import torch
seq = [1,2,3] # seq of variable length
max_len = 5 # maximum length of seq
t = torch.zeros(5) # padding value
for i, e in enumerate(seq):
t[i] = e
print(t)
Выход:
tensor([ 1., 2., 3., 0., 0.])
Есть ли лучший способ сделать это?
Я еще ничего не нашел, но, наверное, что-то лучше.
Я думаю о некоторой функции для расширения тензора последовательности до желаемой формы с нужным заполнением. Или что-то, чтобы создать мягкий тензор прямо из последовательности. Но, конечно, приветствуются и другие подходы.