detectron2官方tutorials翻译-Configs

Configs

detectron2提供了一个基于k-v的配置问题体系,能够被用于标准通用的一些行为。

detectron2的配置文件使用yaml和yacs类型数据。为了提供基本操作和更新配置文件,我们提供了如下的额外功能:

  1. 配置文件可能含有_BASE_:base.yaml字段,该字段首先加载一个基本配置文件。base配置文件中的一些值将会被子配置文件所覆盖。我们为标准模型架构提供了几个base配置。

  2. 我们提供了配置的版本控制,向后兼容。

配置文件是一个非常有局限性的语言。我们不希望detectron2中所有的特征都通过配置文件来激活。如果你需要在配置空间中令某些配置不可用,清使用detectron2的api编写代码。

Basic Usage

一些cfgNode对象的基础用法被展示在这里,更过请阅读documentation.

from detectron2.config import get_cfg
cfg = get_cfg()   # 获取detectron2的默认配置
cfg.xxx = yyy    # 在你的自定义部分添加新的配置
cfg.merge_from_file("my_cfg.yaml")   # 从文件获取一些配置值
cfg.merge_from_list(["MODEL.WEIGHTS", "weights.pth"])   # 也可以从一个list获取一些值
print(cfg.dump)    # 输出格式化的配置文件

很多detectron2的内置工具能够接受命令行覆盖配置文件:命令行中的k-v对能够覆盖配置文件中的值。例如,demo.py可以像下面这样使用

./demo.py --config-file config.yaml [--other-options] --opts MODEL.WEIGHTS /path/to/weights INPUT.MIN_SIZE_TEST 1000

更过细节,请看 Config References

Configs in Projects

一个存在于detectron2库外的工程可以定义它自己的配置,只需要通过自定义方法来添加到工程,例如:

from point_rend import add_pointrend_config
cfg = get_cfg()     # 获取detectron2的默认配置
add_pointrend_config(cfg)    # 添加pointrend的默认配置

Best Practice with Configs

  1. 像代码一样对待你的配置。避免复制它们;使用_BASE_来分享配置中的共用的部分。

  2. 保持你些的配置简单:不要包含不会影响实验设置的配置。

  3. 在你的配置文件中记录一个版本号,例如:VERSION: 2。向后兼容。当读取没有版本号的配置时,我们会打印一个警告。官方配置不包括版本号,因为它们总是最新的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值