hydra 如何用 cfg.get 取得 yaml 中的 chk_dir ?
在 Hydra 中,你可以使用 cfg.get()
來取得 chk_dir
的值,語法如下:
import hydra from omegaconf import DictConfig @hydra.main(config_path=".", config_name="config", version_base=None) def main(cfg: DictConfig): chk_dir = cfg.get("dataset", {}).get("chk_dir", None) print(f"chk_dir: {chk_dir}") if __name__ == "__main__": main()
解析:
cfg.get("dataset", {})
:先取得dataset
字典,如果不存在則返回{}
(避免KeyError
)。.get("chk_dir", None)
:再從dataset
字典中取得chk_dir
,如果不存在則返回None
。
如果 config.yaml
如下:
dataset: chk_dir: "liver_seg_mats_check/"則輸出:
chk_dir: liver_seg_mats_check/
這樣可以安全地讀取
chk_dir
,即使 dataset
鍵不存在也不會報錯。
留言板
歡迎留下建議與分享!希望一起交流!感恩!