pyltp
pyltp copied to clipboard
发现语义角色标注过程可能存在内存泄漏,请确认,谢谢!
问题类型
疑似内存泄漏
出错场景
我们对经过预处理(去重、去除特殊符号、分句)之后的一系列句子调用pyltp的接口进行分析。分词、词性标注、依存句法分析和命名实体识别这四部分运行未见异常,但是调用语义角色标注功能会导致python程序占用内存大幅度且持续增加,我们判断这里可能存在python内存泄漏。更换语料或是python版本,问题均存在。
如何复现这一问题
连续对数百个句子进行语义角色标注即会遇到上述内存占用大幅度增加的问题。
运行环境
ubuntu 16.04 LTS
python3.6.3
pyltp版本 0.2.1 模型版本 3.4.0
期望结果
请开发者确认这个问题(语义角色标注时占用内存剧增)是否是内存泄漏。非常感谢!
语义标注出现错误:
[dynet] random seed: 2633395616
[dynet] allocating memory: 2000MB
[dynet] memory allocation done.
Traceback (most recent call last):
File "C:\Users\Administrator\Desktop\222.py", line 74, in
如果你仔细看我的ID的话, 你会有种特别熟悉的感觉... 我在ltp提过这个issue, 但是仍然没有解决, 可能需要下一个版本这个问题才会得到修复.
我现在解决了这个问题: 我是把语义角色标注中的这句roles = labeller.label(words, postags, netags, arcs) # 语义角色标注 改为:roles = labeller.label(words, postags,arcs)。 然后程序就能输出正确的运行结果。
但是我在这里面加入外部词典,就陷入了死循环。上面的回复是在没有加入外部词典的情况下运行的。
@yongyuan923 srl不支持外部词典的。而且你在这个issue下回复的问题跟发起issue的问题并不相关啊。
非常感谢您的回复。 下次会注意了。
建议看看0.20的文档,srl不需要输入netags,此issue的问题是疑似内存泄漏。
循环语义角色标注的时候,确实存在内存泄漏的问题。 即使每次使用完都release一次,还是会不停的泄漏。
是的 的确有这个问题 更新过后。。。话说有没有同学遇到在linux下model not loaded的问题,我在win下面跑得好好的 移植去ubuntu就model not loaded
windows环境下,pyltp 3.4.0 循环标注出现内存溢出情况,每次release之后还是会有溢出,希望能够得到解决,谢谢
pyltp==0.2.1 依然遇到 语义角色标注 出现内存泄露问题,希望可以解决
pyltp==0.2.1 依然遇到 语义角色标注 出现内存泄露问题,希望可以解决
请问pyltp0.2.1下载3.40模型包提示Segment:model not loaded
pyltp==0.2.1仍然出现语义角色标注的内存泄漏问题,希望可以解决。
@zhangyudong0215 这个项目不再维护了,内存泄漏的问题我们能想办法解决一下吗? #198
我们正在想办法解决这个问题,不过由于是dynet的原因,所以不是很好解决,希望能尽快搞定吧。
-Wanxiang (http://ir.hit.edu.cn/~car/)
On Fri, Apr 19, 2019 at 4:23 PM Feixiang.Wen [email protected] wrote:
@zhangyudong0215 https://github.com/zhangyudong0215 这个项目不再维护了,内存泄漏的问题我们能想办法解决一下吗? #198 https://github.com/HIT-SCIR/pyltp/issues/198
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/HIT-SCIR/pyltp/issues/141#issuecomment-484806169, or mute the thread https://github.com/notifications/unsubscribe-auth/AAAKRGCDHEDDZHC2FGKK7YDPRF6OVANCNFSM4EPDSELQ .
@carfly 好的,太感谢啦!
@wenfeixiang1991 目前我们复现的结果显示没有明显的内存泄漏,在测试多次调用语义角色标注时没有出现你所说的情况,而是保持在一个稳定的水平。调用语义角色标注功能会导致python程序占用内存大幅度且持续增加
这一点并没有复现成功,如果可能的话,希望你可以提供一下具体的泄露场景(语料和代码等)。
好的,没问题,我稍后整理一下代码和语料发给您
| | 闻飞翔 邮箱:[email protected] |
签名由 网易邮箱大师 定制
在2019年05月17日 10:02,Along 写道:
@wenfeixiang1991 目前我们复现的结果显示没有明显的内存泄漏,在测试多次调用语义角色标注时没有出现你所说的情况,而是保持在一个稳定的水平。调用语义角色标注功能会导致python程序占用内存大幅度且持续增加这一点并没有复现成功,如果可能的话,希望你可以提供一下具体的泄露场景(语料和代码等)。
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.
@AlongWY 您调用 SRL 时内存占用稳定在多少?
我也遇到这个问题,内存一直慢慢飙升,强制python垃圾回收也不起作用,内存占用用2G到32G,没有内存了,程序就死掉了,大概调用了150次小短句子的语义角色标注。
我是本打算连续处理1百万条数据的,结果只到30万就爆了
我们正在想办法解决这个问题,不过由于是dynet的原因,所以不是很好解决,希望能尽快搞定吧。 … -Wanxiang (http://ir.hit.edu.cn/~car/) On Fri, Apr 19, 2019 at 4:23 PM Feixiang.Wen @.***> wrote: @zhangyudong0215 https://github.com/zhangyudong0215 这个项目不再维护了,内存泄漏的问题我们能想办法解决一下吗? #198 <#198> — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub <#141 (comment)>, or mute the thread https://github.com/notifications/unsubscribe-auth/AAAKRGCDHEDDZHC2FGKK7YDPRF6OVANCNFSM4EPDSELQ .
车教授您好,请问修复这个问题是要涉及到dynet这个package的修改吗,您那边大概什么时候能解决这个问题,谢谢
我也遇到了这个问题,不清楚现在修复了没有,大约处理5000条数据的时候,RES 从 8G 到 14G。
我现在解决了这个问题: 我是把语义角色标注中的这句roles = labeller.label(words, postags, netags, arcs) # 语义角色标注 改为:roles = labeller.label(words, postags,arcs)。 然后程序就能输出正确的运行结果。
跟你的bug一样,但是你的解决方法不适用,请问还有其他方法吗?
@zhangyudong0215 @yongyuan923 @ws0zzg4569 老哥们问题解决了没
也碰到这个问题,发现对于较长的句子容易出现内存爆炸问题,问题不在于数据量,在于当前处理句子的长度,我解决的方式是对长句子切分成短句子,处理完一句后,再sleep 1到2秒,等内存释放掉再处理下一句,这样的方式可能对SRL结果会有影响,仅供参考
也碰到这个问题 [dynet] random seed: 1454617344 [dynet] allocating memory: 2000MB [dynet] memory allocation done. 想问一下这个问题解决了吗
想问下这个问题有解决方案吗?