作者|facebookresearch
編譯|Flin
來源|Github
detectron2.config package
class detectron2.config.CfgNode(init_dict=None, key_list=None, new_allowed=False)
-
源代碼:https://detectron2.readthedocs.io/_modules/detectron2/config/config.html#CfgNode
-
基類: fvcore.common.config.CfgNode
-
與fvcore.common.config.CfgNode相同,但不同之處在于:
- 默認情況下使用不安全的Yaml加載,
請注意,這可能會導致任意代碼執行:在手動檢查檔案內容之前,切勿從不受信任的源中加載組態檔, - 支持配置版本控制,
嘗試合并舊配置時,它將自動轉換舊配置,
merge_from_file(cfg_filename: str, allow_unsafe: bool = True) → None
dump(*args, **kwargs)
- 回傳值:str –配置的yaml字串表示形式
DEPRECATED_KEYS= '__deprecated_keys__'
IMMUTABLE= '__immutable__'
NEW_ALLOWED= '__new_allowed__'
RENAMED_KEYS='__renamed_keys__'
__init__(init_dict=None, key_list=None, new_allowed=False)
- 引數:
- init_dict(dict)–可能嵌套的字典,用于初始化CfgNode,
- key_list(list [ str ])–名稱串列,從根目錄索引此CfgNode,當前僅用于記錄目的,
- new_allowed(bool)–與其他配置合并時是否允許添加新密鑰,
clear() → None,從D洗掉所有專案
clone()
- 遞回復制此CfgNode,
copy() → D的淺副本
defrost()
- 使此CfgNode及其所有子級可變,
freeze()
- 使此CfgNode及其所有子代不變,
fromkeys()
- 使用可迭代的鍵并將值設定為value創建一個新字典,
get()
- 如果key在字典中,則回傳key的值,否則回傳默認值,
is_frozen()
- 回傳可變性,
is_new_allowed()
items() → 提供D的專案視圖的類集合物件
key_is_deprecated(full_key)
- 測驗是否不贊成使用密鑰,
key_is_renamed(full_key)
- 測驗密鑰是否被重命名,
keys() → 提供D鍵視圖的類集合物件
class method load_cfg(cfg_file_obj_or_str)
-
加載cfg:param cfg_file_obj_or_str:支持從以下位置加載:
- 由YAML檔案支持的檔案物件
- 由Python源檔案支持的檔案物件,該檔案物件匯出dict或CfgNode屬性"cfg"
- 可以決議為有效YAML的字串
static load_yaml_with_base(filename: str, allow_unsafe: bool = False)
就像yaml.load(open(filename))一樣,但是從其繼承屬性
- 引數:
- filename(str):當前配置的檔案名,將用于查找基本組態檔,
- allow_unsafe(bool):是否允許使用yaml.unsafe_load加載組態檔 ,
- 回傳值:(字典) 已加載的Yaml
merge_from_list(cfg_list: list)
- 引數: cfg_list(list):要合并的配置串列,
merge_from_other_cfg(cfg_other)
- 引數: cfg_other(CfgNode)要合并的配置,
pop(k[, d]) → v, remove specified key and return the corresponding value.
- 如果找不到鍵,則回傳d(如果給出),否則引發KeyError
popitem() → (k, v), remove and return some (key, value) pair as a
- 2元組; 但如果D為空,則引發KeyError,
raise_key_rename_error(full_key)
register_deprecated_key(key)
- 注冊密鑰(例如FOO.BAR)已棄用的選項,合并不贊成使用的密鑰時,將生成警告,并且該密鑰將被忽略,
register_renamed_key(old_name, new_name, message=None)
- 將密鑰注冊為從old_name重命名為new_name,合并重命名的密鑰時,會引發例外,警告用戶該密鑰已被重命名,
setdefault()
-
如果key不在字典中,則插入具有默認值的key,
-
如果key在字典中,則回傳key的值,否則回傳默認值,
update([E, ]**F) → None. Update D from dict/iterable E and F.
- 如果E存在并且具有.keys()方法,則執行:for k in E: D[k] = E[k]
- 如果E存在并且缺乏.keys()方法,則執行: for k, v in E: D[k] = v
- 在任一情況下,都跟著: for k in F: D[k] = F[k]
values() → 提供D值視圖的物件
detectron2.config.get_cfg() → detectron2.config.config.CfgNode
- 源代碼:https://detectron2.readthedocs.io/_modules/detectron2/config/config.html#get_cfg
- 獲取默認配置的副本,
- 回傳值: 一個detectron2 CfgNode實體,
detectron2.config.set_global_cfg(cfg: detectron2.config.config.CfgNode) → None
- 源代碼:https://detectron2.readthedocs.io/_modules/detectron2/config/config.html#set_global_cfg
讓全域配置指向給定的cfg,
假定給定的"cfg"具有鍵"KEY",在呼叫 set_global_cfg(cfg)之后,可以通過以下方式訪問該鍵:
from detectron2.config import global_cfg
print(global_cfg.KEY)
通過使用hacky全域配置,你可以在任何地方訪問這些配置,而不必將配置物件或值傳遞到代碼中,這是為快速原型設計/研究探索而引入的一項功能強大的功能,
detectron2.config.downgrade_config(cfg: detectron2.config.config.CfgNode, to_version: int) → detectron2.config.config.CfgNode
-
源代碼:https://detectron2.readthedocs.io/_modules/detectron2/config/compat.html#downgrade_config
-
將配置從當前版本降級到舊版本,
-
引數:
- cfg(CfgNode)
- to_version(int)
注意
由于不同版本中的功能不同,通常無法對任意配置進行普遍降級,降級的目的僅是恢復舊版本中的默認設定,從而允許它加載舊的部分Yaml配置,因此,僅當無法進行一般降級時,實作才需要填寫舊版本中的默認值,
detectron2.config.upgrade_config(cfg: detectron2.config.config.CfgNode, to_version: Optional[int] = None) → detectron2.config.config.CfgNode
-
源代碼:https://detectron2.readthedocs.io/_modules/detectron2/config/compat.html#upgrade_config
-
將配置從當前版本升級到更高版本,
-
引數:
- cfg(CfgNode)
- to_version(int)默認為最新版本,
原文鏈接:https://detectron2.readthedocs.io/modules/config.html
歡迎關注磐創AI博客站:
http://panchuang.net/
sklearn機器學習中文官方檔案:
http://sklearn123.com/
歡迎關注磐創博客資源匯總站:
http://docs.panchuang.net/
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/18187.html
標籤:其他
下一篇:痛并快樂的YOLO初體驗
