У меня есть вопросы относительно создания пользовательского набора данных и итератора с использованием torchtext
. Я использовал следующий код, найденный в этом сообщении и измененный в зависимости от моего случая:
tokenizer = XLNetTokenizer.from_pretrained("xlnet-base-cased")
text_field = Field(sequential=True, eos_token="[CLS]", tokenize=tokenizer)
label_field = Field(sequential=False, use_vocab=False)
data_fields = [("file", None),
("text", text_field),
("label", label_field)]
train, val = train_test_split(input_dt, test_size=0.1)
train.to_csv("train_output_path", index=False)
val.to_csv("val_output_path", index=False)
train, val = TabularDataset(path="path", train="train.csv", validation="val.csv",
format="csv", skip_header=True, fields=data_fields)
Когда дело доходит до text_field.build_vocab(train)
, я получил эту ошибку: TypeError: '<' not supported between instances of 'list' and 'int'
.
Единственное различие между моим кодом и постом - это предварительно обученные вложения слов. В посте автор использовал перчатку, которую я использую XLNetTokenizer
из пакета transformers
. Я также искал другие сообщения, в которых использовался аналогичный метод, но все они использовали предварительно обученные вложения слов, поэтому у них была такая проблема.
Кто-нибудь знает, как исправить эту проблему? Большое спасибо!