我构建了一些依赖于en_core_web_md模型的测试。这个模型需要15秒的时间才能加载到我电脑上的内存中,这使得测试运行起来很痛苦。
有什么聪明的方法来加快速度吗?
发布于 2020-03-05 08:29:58
v2.2.0-5 md模型有一个小错误,这使得它们的加载速度特别慢(参见https://github.com/explosion/spaCy/pull/4990)。
您可以重新格式化模型包中的一个文件,以提高加载时间。在模型包的vocab目录中(例如,lib/python3.7/site-packages/en_core_web_md/en_core_web_md-2.2.5/vocab):
import srsly
orig_data = srsly.read_msgpack("key2row")
new_data = {}
for key, value in orig_data.items():
new_data[int(key)] = int(value)
srsly.write_msgpack("key2row", new_data)在我的测试中,这几乎将加载时间减半(18s到10s)。剩下的时间主要是加载模型的字符串和词汇,这在这一点上很难进一步优化。因此,这改善了一些事情,但总体负载时间仍然相对负担较短的测试。
https://stackoverflow.com/questions/60533029
复制相似问题