spacy v3.0 中的多线程

问题描述

我正在尝试使用 spacy 来训练命名实体识别器,但它似乎只使用了一个线程。我做了一些研究,它似乎是一个 Cython 和 GIL 问题,可以通过一种方法来更改位于“管道”方法中的线程数。我还发现这篇非常有用的文章https://explosion.ai/blog/multithreading-with-cython

问题是这是为 spacy v2 和 v3.0 编写的,使用配置文件等完全改变了它们的格式。我在一台有 8 个线程的机器上使用 Linux。如何使用 spacy v3.0 成功实现多线程?

解决方法

从 spacy v2 开始不支持多线程。当前的替代方法是使用 ray 与包 spacy-ray 一起进行分布式训练:https://spacy.io/usage/training#parallel-training

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...