错误:在Python中使用Hydra框架时,键类型不兼容(NoneType)

编程语言 2026-07-09

我刚开始使用Hydra框架,打算通过扩展我的配置YAML文件,在命令行中覆盖配置。

下面是我的 config.yaml 配置文件:

params:
    epochs: 1000
    lr: 1e-4
    split:
        valid: 0.8
        null: 0.2

我在我的 main() 函数上这样实现Hydra:

import hydra
from omegaconf import DictConfig, OmegaConf


@hydra.main(version_base=None, config_path="configs", config_name="config")
def main(cfg: DictConfig):
    print(cfg)
    ...

if __name__ == "__main__":
    main()

当我运行这个文件时,我会得到以下错误:

Incompatible key type 'NoneType'
    full_key: params.split
    object_type=dict

我到底漏掉了什么?

解决方案

问题在于Hydra无法处理最后一个键,其名称是 null
只要把它改成另一个名字,问题就解决了:

params:
    epochs: 1000
    lr: 1e-4
    split:
        valid: 0.8
        invalid: 0.2
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章