Python:spacyner和内存消耗

2024-10-03 17:24:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用SPACY进行命名实体识别。我在en_core_web_md上有我自己的训练有素的模型。我的模型大小是223兆字节。当模型加载到内存中时,它使用800兆字节。出于NER的目的,是否可能不加载所有内容(lexemes.bin、string.json、key2row),而只加载向量和模型(分别重4和24兆字节),从而消耗更少的内存?或者,是否需要为NER加载所有内容


Tags: 内存core模型目的实体web内容字节
1条回答
网友
1楼 · 发布于 2024-10-03 17:24:58

对于spacy v2.2,必须加载所有内容。有一个影响md模型中key2row的小错误:要改进版本为v2.2.0-v2.2.5md模型中key2row的大小和加载时间,请参见https://stackoverflow.com/a/60541041/461847

如果您使用自己的自定义向量从头开始训练模型,那么与key2row相关的错误在v2.2.4中已经修复,但是提供的v2.2 md模型仍然存在此问题

计划于v2.3版:删除仅按需创建词素的lexemes.bin。通过这些更改,磁盘上的md模型将减少约50%,初始模型加载速度将加快约50%。English md模型在最初加载时的内存看起来要小大约300MB,但在构建词素缓存时,内存使用量会增加一点。见:https://github.com/explosion/spaCy/pull/5238

相关问题 更多 >