Detectron2 配置 | 十

2020-05-31 00:00:00 专区 配置 加载 版本号 基本配置

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

使用配置

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

  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(detectron2.readthedocs.io/modules/con…).

配置佳实践

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

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

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

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

原文链接:detectron2.readthedocs.io/tutorials/c…

欢迎关注磐创AI博客站: panchuang.net/

sklearn机器学习中文官方文档: sklearn123.com/

欢迎关注磐创博客资源汇总站: docs.panchuang.net/

相关文章