Python 3.x 为什么Fasttext train_在训练数小时后在无人监督的情况下进行冷冻?

Python 3.x 为什么Fasttext train_在训练数小时后在无人监督的情况下进行冷冻?,python-3.x,word-embedding,fasttext,Python 3.x,Word Embedding,Fasttext,我在“raw_data”文件夹中有90万个文本文件,每个文件都包含孟加拉语文本(Unicode字符)。我正在用下面的自解释代码训练一个fasttext模型 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

我在“raw_data”文件夹中有90万个文本文件,每个文件都包含孟加拉语文本(Unicode字符)。我正在用下面的自解释代码训练一个fasttext模型

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多个单词


我已经检查了RAM和磁盘空间的可用性,但这似乎不是问题,因为我在RAM和内存中都有足够的可用空间。我不明白这是否与我的代码有关

据我所知,您正在培训900K型号,而不是一个,并且您的LR为零。我建议调查一下。也许公羊满了?您可以尝试导入gc;gc.enable();gc.collect()感谢您找到可能的原因。但我的问题是,有些文件实际上只有一个单词。但如果我没记错的话,fasttext要求文件中至少有5个字。因此,在忽略了那些字数较少的文件后,培训运行良好。据我所知,您正在培训900K个模型,而不是一个,并且您的LR为零。我建议调查一下。也许公羊满了?您可以尝试导入gc;gc.enable();gc.collect()感谢您找到可能的原因。但我的问题是,有些文件实际上只有一个单词。但如果我没记错的话,fasttext要求文件中至少有5个字。因此,在忽略了那些字数较少的文件后,培训运行良好。