问题描述
有没有办法关闭 Hydra 的控制台日志记录,但保留文件日志记录?我遇到了 Hydra 复制我所有控制台打印的问题。这些打印件由 Pytorch Lightning 处理,我希望它们保持原样。但是,我可以将 hydra 记录到文件中(每次打印一次),但我不想在控制台中看到我的打印两次。
解决方法
我认为我们在这里也有类似的问题https://github.com/facebookresearch/hydra/issues/1012
你有没有试过设置
hydra/job_logging=none
hydra/hydra_logging=none
按照问题中的建议,看看是否更适合您?
,我在使用 hydra 文档时遇到了一些困难,这就是为什么我想在这里写一个详细的解释,以便其他人可以轻松完成。为了能够使用@j_hu提出的答案,即:
hydra/job_logging=none
hydra/hydra_logging=none
使用 hydra 1.0(这是我撰写此答案时的稳定版本),您首先需要:
- 在您的配置目录中创建一个名为 hydra 的目录。
- 创建两个子目录:job_logging 和 hydra_logging。
- 如下所述,在这两个目录中创建两个 none.yaml 文件。
# @package _group_
version: 1
root: null
disable_existing_loggers: false
完成此操作后,您可以使用 none.yaml
配置通过命令行覆盖日志记录:
python main.py hydra/job_logging=none hydra/hydra_logging=none
或通过 config.yaml
文件:
defaults:
- hydra/hydra_logging: none
- hydra/job_logging: none