首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用omegaconf实现YAML配置文件中的算术操作

用omegaconf实现YAML配置文件中的算术操作
EN

Stack Overflow用户
提问于 2021-06-27 11:05:25
回答 2查看 507关注 0票数 1

目前,我有这个配置文件,我正在使用它作为hydra/omegaconf的输入。

代码语言:javascript
复制
db: 
  range: 
    - -10
    - 10

因为range字段中的值是由简单代数关联的,所以我正在寻找一种将其编码到配置文件中的方法。在概念上,我希望有这样的东西:

代码语言:javascript
复制
db: 
  db_val: 10
  range: 
    - (-1) * ${..db_val}
    - ${..db_val}

但这似乎行不通。

EN

回答 2

Stack Overflow用户

发布于 2021-11-22 12:17:47

您可以定义自定义插补解析器

代码语言:javascript
复制
def symmetric_range(a):
  return (-a, a)

OmegaConf.register_resolver("symmetric_range", symmetric_range)

然后在您的配置文件中:

代码语言:javascript
复制
db: 
  range: ${symmetric_range:10}

代码语言:javascript
复制
db:
  db_val: 10
  range: ${symmetric_range:${db_val}}
票数 1
EN

Stack Overflow用户

发布于 2021-06-27 17:04:36

目前不支持OmegaConf信任中的算术操作。不过,有特征请求支持它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68150485

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档