Одновременная обработка NLP (coreferencing)

Я понимаю, что, вообще говоря, в модуле Python concurrent.futures ProcessPoolExecutor используется для задач с ограничением ЦП, а ThreadPoolExecutor используется для выходных данных с ограничением ввода-вывода.

У меня есть фрейм данных, содержащий новостные статьи, в которых я хотел бы применить разрешение кореференции с пакетом huggingface neuralcoref . Поскольку это фактически расчет, я ожидал, что это будет процесс с ограничением ЦП, и поэтому пытался использовать ProcessPoolExecutor. Однако я обнаружил, что метод ThreadPoolExecutor обрабатывает пакет вдвое быстрее. Кажется, мое предположение, что это был процесс, ограниченный процессором, неверно. Почему это так?

Если это полезно, вот спецификации:

Процессор: AMD FX-8350 (8-ядерный)
Материнская плата: Gigabyte 990FXA-UD3
Память: 16 ГБ DDR3
Хранение: Samsung SSD

0 ответов

Другие вопросы по тегам