Stanford nlp 斯坦福CoreNLP服务器禁用日志记录
我觉得服务器的日志记录非常详尽。有没有办法禁用或减少日志输出?似乎如果我向服务器发送一个文档,它会将内容写入Stanford nlp 斯坦福CoreNLP服务器禁用日志记录,stanford-nlp,corenlp-server,stanford-nlp-server,Stanford Nlp,Corenlp Server,Stanford Nlp Server,我觉得服务器的日志记录非常详尽。有没有办法禁用或减少日志输出?似乎如果我向服务器发送一个文档,它会将内容写入stdout,这可能是一个性能杀手 我能做到吗 更新 我找到了一种抑制服务器输出的方法。我的问题仍然是如何以及是否可以使用实际服务器的命令行参数来实现这一点。然而,对于一个肮脏的解决方法来说,以下内容似乎可以减轻开销 使用运行服务器 java -mx6g -cp "*" edu.stanford.nlp.pipeline.StanfordCoreNLPServer -
stdout
,这可能是一个性能杀手
我能做到吗
更新 我找到了一种抑制服务器输出的方法。我的问题仍然是如何以及是否可以使用实际服务器的命令行参数来实现这一点。然而,对于一个肮脏的解决方法来说,以下内容似乎可以减轻开销 使用运行服务器
java -mx6g -cp "*" edu.stanford.nlp.pipeline.StanfordCoreNLPServer -prettyPrint false 2&>1 >/dev/null
其中,/dev/null
将通过管道将输出转换为零。不幸的是,单凭这一点并没有帮助<代码>2&>1似乎在这里起作用。我承认我不知道它到底在做什么。然而,我比较了两次跑步
使用2&>1>/dev/null运行
Processed 100 sentences
Overall time: 2.1797 sec
Time per sentence: 0.0218 sec
Processed 200 sentences
Overall time: 6.5694 sec
Time per sentence: 0.0328 sec
...
Processed 1300 sentences
Overall time: 30.482 sec
Time per sentence: 0.0234 sec
Processed 1400 sentences
Overall time: 32.848 sec
Time per sentence: 0.0235 sec
Processed 1500 sentences
Overall time: 35.0417 sec
Time per sentence: 0.0234 sec
在没有附加参数的情况下运行
ParagraphVectorTrainer - Epoch 1 of 6
Processed 100 sentences
Overall time: 2.9826 sec
Time per sentence: 0.0298 sec
Processed 200 sentences
Overall time: 5.5169 sec
Time per sentence: 0.0276 sec
...
Processed 1300 sentences
Overall time: 54.256 sec
Time per sentence: 0.0417 sec
Processed 1400 sentences
Overall time: 59.4675 sec
Time per sentence: 0.0425 sec
Processed 1500 sentences
Overall time: 64.0688 sec
Time per sentence: 0.0427 sec
这是一个非常肤浅的测试,但它似乎可以产生相当大的影响。这里的差异是1.828的系数,随着时间的推移,这是一个很大的差异
然而,这只是一个快速的测试,我不能保证我的结果是完全正常的
进一步更新:
我假设这与JVM如何随着时间的推移优化代码有关,但是每句话的时间与我在本地机器上的时间是可比较的。请记住,我使用2&>1>/dev/null
来消除stdout
日志记录,得到了以下结果
Processed 68500 sentences
Overall time: 806.644 sec
Time per sentence: 0.0118 sec
Processed 68600 sentences
Overall time: 808.2679 sec
Time per sentence: 0.0118 sec
Processed 68700 sentences
Overall time: 809.9669 sec
Time per sentence: 0.0118 sec
您现在是第三个要求提供此服务的人:)--。在GitHub repo的头部以及3.6.1版之后的版本中,有一个
-quiet
标志,它阻止服务器输出它接收到的文本。如果SLF4J在您的类路径中,则可以使用它配置其他日志记录。并且要使其更加静音,请尝试添加-Dorg.SLF4J.simpleLogger.defaultLogLevel=WARN
作为jvm参数