Gensim训练LDA模型时logging日志无输出问题求助
Gensim训练LDA无日志输出的解决方法
出现该问题的核心原因是Jupyter Notebook启动时会提前初始化logging的根处理器,后续调用logging.basicConfig默认无法覆盖已有配置,加上gensim使用独立的子logger,可能存在级别不匹配的问题,按以下步骤调整即可:
调整导入和配置顺序,先重置logging配置再导入gensim模块
代码示例:import logging import sys # 清空Jupyter默认创建的所有根日志处理器 for handler in logging.root.handlers[:]: logging.root.removeHandler(handler) # 重新配置全局日志规则 logging.basicConfig( format='%(levelname)s : %(message)s', level=logging.INFO, stream=sys.stdout ) # 配置完成后再导入gensim相关模块 from gensim.models.ldamodel import LdaModel强制指定gensim的日志级别(可选,若上述操作后仍无输出可添加)
在导入gensim后添加以下代码,手动覆盖gensim子logger的配置:gensim_logger = logging.getLogger('gensim') gensim_logger.setLevel(logging.INFO)
调整完成后再运行LDA训练代码,就能看到迭代次数、困惑度、收敛相关的日志输出。
内容的提问来源于stack exchange,提问作者Var3n
相关产品推荐
相关产品推荐

