首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Deeplearning4j禁用测井

Deeplearning4j禁用测井
EN

Stack Overflow用户
提问于 2018-02-23 21:29:56
回答 2查看 1.1K关注 0票数 0

我有一个java项目的深度学习,它在STDO上产生了大量的记录器输出。我想让它失效,但我似乎想不出怎么做。

我的src/main/resources文件夹中有一个log4j.properties文件,如下所示:

代码语言:javascript
复制
log4j.rootLogger=ERROR, Console
log4j.logger.play=WARN
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d{ABSOLUTE} %-5p ~ %m%n

log4j.appender.org.springframework=WARN
log4j.appender.org.nd4j=WARN
log4j.appender.org.canova=WARN
log4j.appender.org.datavec=WARN
log4j.appender.org.deeplearning4j=WARN
log4j.appender.opennlp.uima=OFF
log4j.appender.org.apache.uima=OFF
log4j.appender.org.cleartk=OFF

log4j.logger.org.springframework=WARN
log4j.logger.org.nd4j=WARN
log4j.logger.org.canova=WARN
log4j.logger.org.datavec=WARN
log4j.logger.org.deeplearning4j=WARN
log4j.logger.opennlp.uima.util=OFF
log4j.logger.org.apache.uima=OFF
log4j.logger.org.cleartk=OFF
log4j.logger.org.deeplearning4j.optimize.solvers.BaseOptimizer=OFF
slf4j.logger.org.deeplearning4j.optimize.solvers.BaseOptimizer=OFF

具体产出太多的是:

21:26:34.860 [main] DEBUG o.d.optimize.solvers.BaseOptimizer - Hit termination condition on iteration 0: score=1.2894165074915344E19, oldScore=1.2894191699433697E19, condition=org.deeplearning4j.optimize.terminations.EpsTermination@55f111f3

在训练过程中每秒钟发生多次。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-02-23 22:18:54

您提供的日志条目的输出非常类似于具有SLF4J格式的Logback输出(而不是LOG4J输出)。

此外,深埋4j芯通知的依赖项SLF4J也用于日志记录。

因此,log4j.properties对deeplearning4j日志记录没有任何影响。尝试将logback.xml配置添加到资源中,并切换到root记录器的警告或错误级别,请参阅https://logback.qos.ch/manual/configuration.html

票数 3
EN

Stack Overflow用户

发布于 2020-08-04 03:32:55

框架DL4J (1.0.0-beta7)中有一些属性可以激活/禁用日志。我发现了其中一些:

代码语言:javascript
复制
import org.nd4j.common.config.ND4JSystemProperties;

System.setProperty(ND4JSystemProperties.LOG_INITIALIZATION, "false");
System.setProperty(ND4JSystemProperties.ND4J_IGNORE_AVX, "true");
System.setProperty(ND4JSystemProperties.VERSION_CHECK_PROPERTY, "false");

请注意,这是一个非常规的解决方案。另一方面,有些信息是无法避免的:

代码语言:javascript
复制
MultiLayerNetwork.init()

在此方法中,您可以在没有验证的情况下找到一个OneTimeLogger:

代码语言:javascript
复制
    OneTimeLogger.info(log, "Starting MultiLayerNetwork with WorkspaceModes set to [training: {}; inference: {}], cacheMode set to [{}]",
            layerWiseConfigurations.getTrainingWorkspaceMode(),
            layerWiseConfigurations.getInferenceWorkspaceMode(),
            layerWiseConfigurations.getCacheMode());

如果您找到了更好的方法来禁用DL4J中的日志消息,请共享它。在DL4J库之外还有其他一些方法。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48956485

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档