1. 磐创AI首页
  2. 系列教程
  3. Detectron2

Detectron2 配置 | 十

本文是全系列中第13 / 15篇: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

原创文章,作者:磐石,如若转载,请注明出处:https://panchuang.net/2020/05/31/detectron2-%e9%85%8d%e7%bd%ae-%e5%8d%81/

发表评论

登录后才能评论

联系我们

400-800-8888

在线咨询:点击这里给我发消息

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息