将配置传递给hydra的标准口号是用@hydra.main装饰,然后定义main(cfg),然后在main块中调用没有参数的main。但是假设我也想接受非水电命令行args,那么想同时传递args和config吗?这被认为是道德上的不道德和气馁吗?这里有一个例子(它不起作用),我指的是这类东西(它错误地声称它缺少了一个cfg参数)。
from omegaconf import DictConfig, OmegaConf
import hydra
@hydra.main(version_base=None)
def my_app(foo, cfg: DictConfig) -> None:
print(foo)
print(OmegaConf.to_yaml(cfg))
if __name__ == "__main__":
my_app(5)发布于 2022-05-23 17:37:03
这是不支持的。原则上,在配置组合之前,您没有什么可以将5参数的不同值作为基础。
如果您想要在组合配置之前有额外的逻辑,请将合成API看作是@hydra.main()的替代(或者是另外的)。
https://stackoverflow.com/questions/72352420
复制相似问题