作者|facebookresearch 编译|Flin 来源|Github
使用配置
Detectron2的配置系统使用yaml和yacs(github.com/rbgirshick/… 除了访问和更新配置的基本操作外,我们还提供以下额外功能:
- 配置中可以包含"_BASE_:base.yaml"字段,该字段将首先加载基本配置。如果存在任何冲突,则基本配置中的值将在子配置中被覆盖。我们为标准模型架构提供了一些基本配置。
- 我们提供配置版本控制,以实现向后兼容。如果你的配置文件使用诸如"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…).
配置佳实践
-
将你编写的配置视为"代码":避免复制或复制它们;使用
_BASE_
共享配置之间的共同部分。 -
使你编写的配置保持简单:不要包含不会影响实验设置的键。
-
在你的配置(或基本配置)中保留一个版本号,例如
VERSION:2
, 向后兼容。读取没有版本号的配置时,我们会打印警告。官方配置不包含版本号,因为它们旨在始终保持新。 -
保存完整的配置以及训练有素的模型,然后使用它来进行推理。这对于配置定义可能发生的更改更健壮(例如,如果更改了默认值),尽管我们将尝试避免此类更改。
原文链接:detectron2.readthedocs.io/tutorials/c…
欢迎关注磐创AI博客站: panchuang.net/
sklearn机器学习中文官方文档: sklearn123.com/
欢迎关注磐创博客资源汇总站: docs.panchuang.net/