gpt4 book ai didi

stanford-nlp - 训练 NER 模型避免内存不足错误

转载 作者:行者123 更新时间:2023-12-03 17:37:43 24 4
gpt4 key购买 nike

我正在尝试使用 stanford-nlp library 训练 NER 模型.我有一个所需格式的文件,大小为 6GB。配置文件:

usePrevSequences=true
useClassFeature=true
useTypeSeqs2=true
useSequences=true
wordShape=chris2useLC
useTypeySequences=true
useDisjunctive=true
noMidNGrams=true
serializeTo=ner-model50.ser.gz
maxNGramLeng=6
useNGrams=true
usePrev=true
useNext=true
maxLeft=1
trainFile=trainData
map=word=0,answer=1
useWord=true
useTypeSeqs=true

按照文档中的建议,每个句子都被空行分割。所以当我用 mx25g 运行命令时:
java -mx25g -cp stanford-ner.jar edu.stanford.nlp.ie.crf.CRFClassifier -prop config.prop

我得到了错误:

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space



来自 FAQ page对于库,建议将文件拆分为多个文件,以防出现内存错误。

为此,您需要使用 trainFileList 更改配置文件。选项而不是 trainFile选项。现在我有多个文件,每个文件大约 250MB。运行相同的命令时出现以下错误:

Exception in thread "main" java.lang.OutOfMemoryError: GC overhead limit exceeded



所以似乎拆分文件没有帮助。你认为拆分成更小的文件会有帮助吗?或者没关系?有什么办法可以解决这个问题?任何见解都是有用的。提前致谢。

最佳答案

我也面临和你一样的问题,我的一位前辈建议我使用
-Xmx 而不是 -mx 根据您的机器 RAM 和交换大小指定最大堆大小。
你也可以减少没有。如果使用 IOB 编码,实体类或合并标签的数量,因为使用的空间随着实体类的增加呈指数增长。

java -Xmx**g -cp stanford-ner.jar edu.stanford.nlp.ie.crf.CRFClassifier -prop ner.prop



这对我有用。

关于stanford-nlp - 训练 NER 模型避免内存不足错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44585860/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com