1

これはファイル ディレクトリです。

|-configs
|----data_conf
|--------csv_images.csv
|--------tf_ds.csv
|----example.yaml 

そしてexample.yaml次のとおりです。

data: csv_images

defaults:
  - data_conf: "${data}"

csv_images.yaml:

# @package _group_
a: test_a
b: test_b

私の意図は、ヒドラが に置き換わることcsv_imagesですcsv_images.yamlexample.yamlつまり、実行時の解釈は次のようになります。

data:
    a: test_a
    b: test_b

私はこのように定義しましたConfigStore

config_name = "example"
cs = ConfigStore.instance()
cs.store(name=config_name, node=Config)
cs.store(group='data_conf', name='csv_images', node=DatasetConfig)

Configであり、次のDatasetConfigように定義されています。

@dataclass
class Config:
    data: Any = MISSING

@dataclass
class DatasetConfig:
    a: str = MISSING
    b: str = MISSING

ただし、プログラムを実行しているときに、次のエラーが発生します。

Interpolation key 'data' not found
    full_key: defaults[0].data_conf
    object_type=dict

Set the environment variable HYDRA_FULL_ERROR=1 for a complete stack trace.

私が定義data_confするとcsv_images、正常に動作し、実行時チェックが実行されます。ただし、補間はし${}ません。それは何ですか?

4

1 に答える 1