def train(self, textlines):
doc_list = batch_nlp_process(textlines)
docs = []
log_every_n = 100000
for i, doc in enumerate(doc_list):
docs.append([token for token in doc])
if (i % log_every_n) == 0:
logger.info('Doc: {}'.format(str(i)))
self.vectorizer.fit_transform(docs)
pickle.dump(self.vectorizer, open('models/vectorizer.pkl', 'wb'))
Это для тренировки модели TfIDF с моим собственным токенизатором. Таким образом, ввод fit_transform представляет собой список списка:
[['this', 'is', 'a', 'test'],['another', 'test'],['one', 'more', 'test']]
При большом файле это занимает много памяти, так как все текстовые файлы должны быть обработаны в первую очередь, а результаты загружены в 'документы 'list, который затем передается в метод fit_transform.
Существует ли способ постепенного подбора fit_transform для каждого, выполняющего c по одному, а не все сразу? Если я переместу fit_transform в for для l oop, это не будет работать? что означает, что я подхожу один раз для каждого входящего сделать c. Это так же, как подходят все сразу?