detectron2 使用配置

作者|facebookresearch
编译|Flin
来源|Github

使用配置

Detectron2的配置系统使用yaml和yacs(https://github.com/rbgirshick/yacs)。 除了访问和更新配置的基本操作外,我们还提供以下额外功能:

  1. 配置中可以包含”BASE:base.yaml”字段,该字段将首先加载基本配置。如果存在任何冲突,则基本配置中的值将在子配置中被覆盖。我们为标准模型架构提供了一些基本配置。
  2. 我们提供配置版本控制,以实现向后兼容。如果你的配置文件使用诸如”VERSION:2″之类的配置行进行了版本控制,即使我们将来重命​​名某些密钥,detectron2仍会识别它。

使用配置

CfgNode对象的一些基本用法如下所示:

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"])#也可以从str列表中加载值
print(cfg.dump())#打印格式化的配置

要查看detectron2中可用配置的列表,请参见Config References(https://detectron2.readthedocs.io/modules/config.html#config-references).

配置最佳实践

  1. 将你编写的配置视为”代码”:避免复制或复制它们;使用_BASE_共享配置之间的共同部分。

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

  3. 在你的配置(或基本配置)中保留一个版本号,例如VERSION:2,
    向后兼容。读取没有版本号的配置时,我们会打印警告。官方配置不包含版本号,因为它们旨在始终保持最新。

  4. 保存完整的配置以及训练有素的模型,然后使用它来进行推理。这对于配置定义可能发生的更改更健壮(例如,如果更改了默认值),尽管我们将尝试避免此类更改。

原文链接:https://detectron2.readthedocs.io/tutorials/configs.html

未经允许不得转载,请联系zhouas@hotmail.com获取授权:目标检测 » detectron2 使用配置

赞 (0) 打赏

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

微信扫一扫打赏

鄂ICP备18005284号