Fastai - неудачная инициализация языковой модели в процессоре штучного предложения, параметр cache_dir - PullRequest
3 голосов
/ 17 января 2020

Я уже часами просматриваю веб-страницу, чтобы найти решение для моего, что, как я полагаю, может быть довольно мелкой проблемой.

Я использую процессор части предложения Фастая (SPProcesor) в очень Первые шаги инициации языковой модели.

Мой код для этих шагов выглядит следующим образом:

bs = 48

processor = SPProcessor(lang='pl')

data_lm = (TextList.from_csv('', target_corpus, processor=processor)
            .split_by_rand_pct(0.1)
            .label_for_lm()           
            .databunch(bs=bs)
          )
data_lm.save(data_lm_file)

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

~/x/miniconda3/envs/fastai/lib/python3.6/site-packages/fastai/text/data.py in process(self, ds)
    466             self.sp_model,self.sp_vocab = cache_dir/'spm.model',cache_dir/'spm.vocab'
    467         if not getattr(self, 'vocab', False):
--> 468             with open(self.sp_vocab, 'r', encoding=self.enc) as f: self.vocab = Vocab([line.split('\t')[0] for line in f.readlines()])
    469         if self.n_cpus <= 1: ds.items = self._encode_batch(ds.items)
    470         else:

FileNotFoundError: [Errno 2] No such file or directory: 'tmp/spm/spm.vocab'

Правильный результат выполнения кода, приведенного выше, должен быть следующим:
созданная папка с именем 'tmp',
содержащая папку 'spm',
внутри которой должны быть размещены 2 файла с именами соответственно: spm. vocab и spm.model.

Вместо этого создается папка 'tmp' вместе с файлами
с именами "cache_dir" .vocab и "cache_dir" .model внутри моей текущей директории.
Папка 'spm' нигде не найдена.

Я нашел своего рода обходное решение.
Она состоит из ручного создания папки 'spm' внутри 'tmp' и перемещения этих двух других
упомянутых выше f в него, и меняя их имена на spm.vocab и spm.model.

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

Может быть, мне нужно передать некоторые параметры (возможно, cache_dir) с указанными значениями c перед обработкой?

Если у вас есть идеи, как решить эту проблему, пожалуйста, укажите мне это.
Буду благодарен.

...