Ключевая ошибка при загрузке обучающего корпуса в метод train_new_from_iterator

Я следую этому руководству здесь: https://github.com/huggingface/notebooks/blob/master/examples/tokenizer_training.ipynb

Итак, используя этот код, я добавляю свой собственный набор данных:

      from datasets import load_dataset
dataset = load_dataset('csv', data_files=['/content/drive/MyDrive/mydata.csv'])

Затем я использую этот код, чтобы взглянуть на набор данных:

      dataset

Доступ к элементу:

      dataset['train'][1]

Доступ к каталогу фрагментов:

      dataset['train'][:5]

После успешного выполнения вышеуказанного кода я пытаюсь выполнить это здесь:

      new_tokenizer = tokenizer.train_new_from_iterator(batch_iterator(), vocab_size=25000)

Однако я получаю эту ошибку:

      KeyError: "Invalid key: slice(0, 1000, None). Please first select a split. For example: `my_dataset_dictionary['train'][slice(0, 1000, None)]`. Available splits: ['train']"

Как это исправить?

Я пытаюсь обучить свой собственный токенизатор, и это кажется проблемой.

Любая помощь будет оценена по достоинству!

1 ответ

Просто, как сказано в трассировке ошибок, вы должны указать разделение при загрузке набора данных следующим образом:

      dataset = load_dataset('csv', data_files=['/content/drive/MyDrive/mydata.csv'], split='train')

Или написать batch_iterator следующим образом:

      def batch_iterator():
    for i in range(0, len(dataset['train']), batch_size):
        yield dataset['train'][i : i + batch_size]["text"]