40

Detectron2 配置 | 十

 3 years ago
source link: https://panchuang.net/2020/05/31/detectron2-配置-十/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

作者|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/


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK