线程安全: `OmegaConfigLoader`
作者: ankatiyar创建于 2026年7月10日更新于 2026年9月18日
标签Issue: Feature Request
□ 说明 从5535号投篮 为了共享服务使用案件的预装配置,我们必须确保`OmegaConfigLoader ' 安全。
□ 内容 每个‘OmegaConfigLoader. Gettem Q>的呼叫首先要做到:
def get item (自, 密钥: str) :
self. register runtime params resolver () # # QQ 调用每个访问
. . . . . . . .
def register runtime params resolver(自) - > 无:
OmegaConf.register new resolver () (英语).
"运行时间 参数",
自身。 Get runtime value, # 关闭绑定到此实例的参数
替换=True, # # 替换全全过程的全球解析器
(中文(简体) ).`OmegaConf.register new resolver'是一个流程-全球操作。 取代=True 表示从任何配置加载器实例中调用每个 QQgetleme *QQ 调用, 覆盖单个全局“ 运行时 参数” 解析器 。 解析器在 YAML 合并时称为懒解来解析 ${runtime params:x} 插值 。
使用不同运行时间 参数的两个并行运行()呼叫:
线索 1: 配置 装入器 A. 登记器 运行时间 params resolver ()
^ 全局解析器现在= config loader A. get runtime value
- 解析器读作{'learning rate': 0.01}
线索 2: 配置 装入器 B. 登记器 运行时间 params resolver ()
^ 全局解析器现在= config loader B. get runtime value
- 解析器读作{'learning rate': 0.1}
第1行:OmegaConf在参数.yml中解析"${runtime params.learning rat}"
~ 呼叫全局解析器, 它现在绑定到配置 loader B
1号线的输油管有学习率 = 0.1 = 错误□ 可能的实现 <!-(可选)提出实施添加或更改的想法。 . > 时间
□ 可能的替代品 <!-(可选)描述您考虑过的任何替代解决方案或特征. . > 时间
内容来源: kedro-org/kedro