Pytorch DataLoader - работа с отдельными партиями - PullRequest
0 голосов
/ 07 ноября 2018

Я создаю 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 ().

...