Я новичок в torchtext
. Я использовал набор данных Multi30k
для изучения основ. В процессе изучения основ я хотел использовать другие наборы данных, такие как IWSLT2017
. Я прочитал документацию, и они показали мне, как я могу загрузить данные.
Вот как я загружал набор данных Multi30k
# creating the fields
SRC = data.Field(
tokenize = tokenize_de,
lower= True,
init_token = "<sos>",
eos_token = "<eos>"
)
TRG = data.Field(
tokenize = tokenize_en,
lower= True,
init_token = "<sos>",
eos_token = "<eos>"
)
### Splitting the sets
train_data, valid_data, test_data = datasets.Multi30k.splits(
exts=('.de', '.en'),
fields = (SRC, TRG)
)
Когда я запускаю это:
print(vars(train_data.examples[0]))
Я получаю это:
{'src': ['zwei', 'junge', 'weiße', 'männer', 'sind', 'im', 'freien', 'in', 'der', 'nähe', 'vieler', 'büsche', '.'], 'trg': ['two', 'young', ',', 'white', 'males', 'are', 'outside', 'near', 'many', 'bushes', '.']}
Мой вопрос в том, как я могу загрузить IWSLT2017
, чтобы получить аналогичный результат, когда я вызываю print(vars(train_data.examples[0]))
.
Вот что я пробовал:
from torchtext.datasets import IWSLT2017
train_iter, valid_iter, test_iter = IWSLT2017(
root='.data', split=('train', 'valid', 'test'), language_pair=('it', 'en')
)
src_sentence, tgt_sentence = next(train_iter)
Он возвращает мне кортеж, который выглядит следующим образом:
('Sono impressionato da questa conferenza, e voglio ringraziare tutti voi per i tanti, lusinghieri commenti, anche perché... Ne ho bisogno!!!\n',
'I have been blown away by this conference, and I want to thank all of you for the many nice comments\n')
Мой вопрос в том, как я могу перейти от этого шага к шагу получения чего-то вроде этого:
{'src': ['zwei', 'junge', 'weiße', 'männer', 'sind', 'im', 'freien', 'in', 'der', 'nähe', 'vieler', 'büsche', '.'], 'trg': ['two', 'young', ',', 'white', 'males', 'are', 'outside', 'near', 'many', 'bushes', '.']}
Любая помощь будет оценена.