Я создаю LSTM для маркировки части речи и в настоящее время использую этот LSTM в качестве справочного материала, чтобы понять, как использовать Pytorch DataLoader. Однако я не совсем понимаю, как работать с отдельными пакетами (официальная документация Pytorch не проливает свет на меня). Более конкретно, мне нужно дополнить свои предложения так, чтобы все предложения в одном пакете имели одинаковую длину (разные партии могут иметь разную длину).
Мой код в настоящее время выглядит так:
train_loader = DataLoader(train_set, batch_size=BATCH_SIZE)
# other stuff...
for epoch in range(0, EPOCH_COUNT):
for iter, sentence in enumerate(train_loader):
model.zero_grad()
model.hidden = model.init_hidden()
sentence_in = prep_sentence(sentence, word_to_ix)
targets = prep_tags(tags, tag_to_ix)
# do forward pass and then backprop
Поскольку я перечисляю train_loader и перебираю каждое предложение, мне не ясно, как / в какой момент я могу получить максимальную длину предложения для одного пакета, а затем запустить свою функцию add_padding ().