You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Hydra多层级配置覆盖问题:实验配置无法正确覆盖主配置

Hydra多层目录结构下的配置覆盖问题及后续报错

我正在按照Hydra官方文档示例,尝试用实验配置覆盖主配置,仅新增了一层目录层级来归类相关配置,目录结构如下:

conf
├── data
│   ├── cifar100_data
│   │   ├── cifar100_extended.yaml
│   │   └── cifar100.yaml
│   └── default.yaml
├── experiment
│   └── cifar100.yaml
└── training_config.yaml

各配置文件内容:

  • 基础配置training_config.yaml:
defaults:
   - data: default
  • data/default.yaml:
# @package data
dataset: mnist
n_classes: 10
  • data/cifar100_data/cifar100.yaml:
name: cifar100
n_classes: 100
  • 初始版本data/cifar100_data/cifar100_extended.yaml:
# @package data
defaults:
  - cifar100
augmentations:
  - rotate

我尝试执行命令 python my_app.py experiment=cifar100 用实验配置覆盖主配置,但两次尝试均失败:

尝试1:experiment/cifar100.yaml内容:

# @package _global_
defaults:
  - override /data/cifar100_data: cifar100_extended

报错信息:

hydra.errors.ConfigCompositionException: In 'experiment/cifar100':
Could not override 'data/cifar100_data'. No match in the defaults list.

尝试2:experiment/cifar100.yaml内容:

# @package _global_
defaults:
  - override /data: cifar100_data/cifar100_extended

报错信息:

hydra.errors.MissingConfigException: In 'data/cifar100_data/cifar100_extended': Could not load 'data/cifar100'.


根据相关回答调整data/cifar100_data/cifar100_extended.yaml为:

# @package data
defaults:
  - cifar100_data/cifar100
augmentations:
  - rotate

此时可以生成有效配置,但直接运行cifar100_extended.yaml时出现报错:

hydra.errors.MissingConfigException: In 'cifar100_data/cifar100_extended': Could not load 'cifar100_data/cifar100_data/cifar100'.

内容的提问来源于stack exchange,提问作者itamar kanter

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 05:15:16