Я пытаюсь реализовать многопроцессорную обработку с помощью gramformer, модели с открытым исходным кодом для исправления грамматических ошибок. Я пробовал несколько подходов, но продолжаю получать ошибки, которые невозможно мариновать. я также использую spacy, у которого, похоже, нет проблем с многопроцессорностью.
моя главная цель — попытаться реализовать это в классе. я пробовал создавать отдельные функции, но даже это не работает
class GramformerWrapper:
def __init__(self):
# Initialize Gramformer
self.gf = Gramformer(models=1, use_gpu=False)
def process_entries(self,entry):
paragraph=spacy_wrapper.nlp(entry)
corrected_entry=entry=''
for sentence in paragraph.sents:
corrected_sentence = list(self.gf.correct(sentence.text))[0]
print(corrected_sentence)
if not sentence.text.endswith('.') and corrected_sentence.endswith('.'):
corrected_sentence = corrected_sentence[:-1]
corrected_entry=corrected_entry+' '+corrected_sentence
return corrected_entry
def correct_sentences(self, lst):
length_of_lst=len(lst)
part=int(length_of_lst/8)+1
first_index=0
last_index=part
processes=[]
for _ in range(8):
lst_part=lst[first_index:last_index]
p=multiprocessing.Process(target=self.process_entries,args=lst_part)
p.start()
processes.append(p)
first_index+=part
last_index+=part
for process in processes:
process.join()
return corrected_entries
class SpacyWrapper:
def __init__(self):
self.nlp=spacy.load('en_core_web_sm')
gramformer_wrapper = GramformerWrapper()
spacy_wrapper=SpacyWrapper()
Подробнее здесь: https://stackoverflow.com/questions/787 ... gramformer
Многопроцессорная обработка с помощью граммформера ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение