У меня 0,9 миллиона текстовых файлов в папке «raw_data», каждый из которых содержит текст на языке бангла (символы Юникода). Я тренирую модель быстрого текста со следующим самоочевидным кодом
def ft_train(dimensions, n_epoch, min_count=0, threads=4):
tic = time.time()
for root, _, files in os.walk("/home/Akib/Raw_data/raw_data", topdown=False):
for f in files:
try:
fpath = os.path.join(root, f)
model = fasttext.train_unsupervised(fpath, dim = dimensions, epoch=n_epoch, minCount= min_count, thread= threads)
except:
pass
toc = time.time()
print(str((toc - tic)/60), " min")
return model
Она тренировалась в течение 2 дней, демонстрируя прогресс, подобный следующему
272198.txt
Read 0M words
Number of words: 18
Number of labels: 0
Progress: 100.0% words/sec/thread: 1541 lr: 0.000000 loss: 4.155107 ETA: 0h 0m
40132.txt
Read 0M words
Number of words: 114
Number of labels: 0
Progress: 100.0% words/sec/thread: 10125 lr: 0.000000 loss: 4.120082 ETA: 0h 0m
Но после 2 дней обучения она зависает без каких-либо ошибка, просто показывающая, что у предполагаемого файла есть 1 слово. Но на самом деле в нем более 40 слов.
Я проверил наличие ОЗУ и места на диске, но, похоже, это не проблема, так как у меня достаточно места как в ОЗУ, так и в памяти. Я не понимаю, если это проблема с моим кодом.