detectron2系列:config軟件包
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相同,但不同之處在于:
默認(rèn)情況下使用不安全的Yaml加載。
請(qǐng)注意,這可能會(huì)導(dǎo)致不安全代碼執(zhí)行:在手動(dòng)檢查文件內(nèi)容之前,切勿從不受信任的源中加載配置文件。
支持配置版本控制。
嘗試合并舊配置時(shí),它將自動(dòng)轉(zhuǎn)換舊配置。
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)
參數(shù):
init_dict(dict)–可能嵌套的字典,用于初始化CfgNode。
key_list(list [ str ])–名稱列表,從根目錄索引此CfgNode。當(dāng)前僅用于記錄目的。
new_allowed(bool)–與其他配置合并時(shí)是否允許添加新密鑰。
clear() → None,從D刪除所有項(xiàng)目
clone()
遞歸復(fù)制此CfgNode。
copy() → D的淺副本
defrost()
使此CfgNode及其所有子代可變。
freeze()
使此CfgNode及其所有子代不變。
fromkeys()
使用可迭代的鍵并將值設(shè)置為value創(chuàng)建一個(gè)新字典。
get()
如果key在字典中,則返回key的值,否則返回默認(rèn)值。
is_frozen()
返回可變性。
is_new_allowed()
items() → 提供D的項(xiàng)目視圖的類集合對(duì)象
key_is_deprecated(full_key)
測(cè)試是否不支持使用密鑰。
key_is_renamed(full_key)
測(cè)試密鑰是否被重命名。
keys() → 提供D鍵視圖的類集合對(duì)象
class method load_cfg(cfg_file_obj_or_str)
加載cfg:param cfg_file_obj_or_str:支持從以下對(duì)象加載:
由YAML文件支持的文件對(duì)象
由Python源文件支持的文件對(duì)象,該文件對(duì)象導(dǎo)出dict或CfgNode屬性"cfg"
可以解析為有效YAML的字符串
static load_yaml_with_base(filename: str, allow_unsafe: bool = False)
就像yaml.load(open(filename))一樣,但從其繼承屬性
參數(shù):
filename(str):當(dāng)前配置的文件名。將用于查找基本配置文件。
allow_unsafe(bool):是否允許使用yaml.unsafe_load加載配置文件 。
返回值:(字典) 已加載的Yaml
merge_from_list(cfg_list: list)
參數(shù): cfg_list(list):要合并的配置列表。
merge_from_other_cfg(cfg_other)
參數(shù): cfg_other(CfgNode)要合并的配置。
pop(k[, d]) → v, remove specified key and return the corresponding value.
如果找不到鍵,則返回d(如果給出),否則引發(fā)KeyError
popitem() → (k, v), remove and return some (key, value) pair as a
2元組; 但如果D為空,則引發(fā)KeyError。
raise_key_rename_error(full_key)
register_deprecated_key(key)
注冊(cè)密鑰(例如FOO.BAR)已棄用的選項(xiàng)。合并不支持使用的密鑰時(shí),將生成警告,并且該密鑰將被忽略。
register_renamed_key(old_name, new_name, message=None)
將密鑰注冊(cè)從old_name重命名為new_name。合并重命名的密鑰時(shí),會(huì)引發(fā)異常,警告用戶該密鑰已被重命名。
setdefault()
如果key不在字典中,則插入具有默認(rèn)值的key。
如果key在字典中,則返回key的值,否則返回默認(rèn)值。
update([E, ]**F) → None. Update D from dict/iterable E and F.
如果E存在并且具有.keys()方法,則執(zhí)行:for k in E: D[k] = E[k]
如果E存在并且沒有.keys()方法,則執(zhí)行:for k, v in E: D[k] = v
在任一情況下,都跟著:for k in F: D[k] = F[k]
values() → 提供D值視圖的對(duì)象
detectron2.config.get_cfg() → detectron2.config.config.CfgNode
源代碼:https://detectron2.readthedocs.io/_modules/detectron2/config/config.html#get_cfg
獲取默認(rèn)配置的副本。
返回值: 一個(gè)detectron2 CfgNode實(shí)例。
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",在調(diào)用 set_global_cfg(cfg)之后,可以通過以下方式訪問該鍵:
from detectron2.config import global_cfg
print(global_cfg.KEY)
通過使用hacky全局配置,你可以在任何地方訪問這些配置,而不必將配置對(duì)象或值傳遞到代碼中。這是為快速原型設(shè)計(jì)/研究探索而引入的一項(xiàng)功能強(qiáng)大的功能。
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
將配置從當(dāng)前版本降級(jí)到舊版本。
參數(shù):
cfg(CfgNode)
to_version(int)
注意
由于不同版本中的功能不同,通常無法對(duì)任意配置進(jìn)行普遍降級(jí)。降級(jí)的目的僅是恢復(fù)舊版本中的默認(rèn)設(shè)置,從而允許它加載舊的部分Yaml配置,因此僅當(dāng)無法進(jìn)行一般降級(jí)時(shí),實(shí)現(xiàn)才需要填寫舊版本中的默認(rèn)值。
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
將配置從當(dāng)前版本升級(jí)到更高版本。
參數(shù):
cfg(CfgNode)
to_version(int)默認(rèn)為最新版本。
發(fā)表評(píng)論
請(qǐng)輸入評(píng)論內(nèi)容...
請(qǐng)輸入評(píng)論/評(píng)論長(zhǎng)度6~500個(gè)字
最新活動(dòng)更多
-
即日-10.29立即報(bào)名>> 2024德州儀器嵌入式技術(shù)創(chuàng)新發(fā)展研討會(huì)
-
10月31日立即下載>> 【限時(shí)免費(fèi)下載】TE暖通空調(diào)系統(tǒng)高效可靠的組件解決方案
-
即日-11.13立即報(bào)名>>> 【在線會(huì)議】多物理場(chǎng)仿真助跑新能源汽車
-
11月14日立即報(bào)名>> 2024工程師系列—工業(yè)電子技術(shù)在線會(huì)議
-
12月19日立即報(bào)名>> 【線下會(huì)議】OFweek 2024(第九屆)物聯(lián)網(wǎng)產(chǎn)業(yè)大會(huì)
-
即日-12.26火熱報(bào)名中>> OFweek2024中國(guó)智造CIO在線峰會(huì)
推薦專題
- 1 Intel宣布40年來最重大轉(zhuǎn)型:年底前裁員15000人、拋掉2/3房產(chǎn)
- 2 因美封殺TikTok,字節(jié)股價(jià)骨折!估值僅Meta1/5
- 3 宏山激光重磅發(fā)布行業(yè)解決方案,助力智能制造產(chǎn)業(yè)新飛躍
- 4 國(guó)產(chǎn)AI芯片公司破產(chǎn)!白菜價(jià)拍賣
- 5 具身智能火了,但規(guī)模落地還需時(shí)間
- 6 國(guó)產(chǎn)英偉達(dá)們,抓緊沖刺A股
- 7 三次錯(cuò)失風(fēng)口!OpenAI前員工殺回AI編程賽道,老東家捧金相助
- 8 英特爾賦能智慧醫(yī)療,共創(chuàng)數(shù)字化未來
- 9 英偉達(dá)的麻煩在后頭?
- 10 將“網(wǎng)紅”變成“商品”,AI“爆改”實(shí)力拉滿
- 高級(jí)軟件工程師 廣東省/深圳市
- 自動(dòng)化高級(jí)工程師 廣東省/深圳市
- 光器件研發(fā)工程師 福建省/福州市
- 銷售總監(jiān)(光器件) 北京市/海淀區(qū)
- 激光器高級(jí)銷售經(jīng)理 上海市/虹口區(qū)
- 光器件物理工程師 北京市/海淀區(qū)
- 激光研發(fā)工程師 北京市/昌平區(qū)
- 技術(shù)專家 廣東省/江門市
- 封裝工程師 北京市/海淀區(qū)
- 結(jié)構(gòu)工程師 廣東省/深圳市