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

歡迎關注磐創AI博客站: http://panchuang.net/

sklearn機器學習中文官方文檔: http://sklearn123.com/

歡迎關注磐創博客資源彙總站: http://docs.panchuang.net/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章