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相同,但不同之處在于:

默認情況下使用不安全的Yaml加載。

請注意,這可能會導(dǎo)致不安全代碼執(zhí)行:在手動檢查文件內(nèi)容之前,切勿從不受信任的源中加載配置文件。

支持配置版本控制。

嘗試合并舊配置時,它將自動轉(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)–與其他配置合并時是否允許添加新密鑰。

clear() → None,從D刪除所有項目

clone()

遞歸復(fù)制此CfgNode。

copy() → D的淺副本

defrost()

使此CfgNode及其所有子代可變。

freeze()

使此CfgNode及其所有子代不變。

fromkeys()

使用可迭代的鍵并將值設(shè)置為value創(chuàng)建一個新字典。

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源文件支持的文件對象,該文件對象導(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)

注冊密鑰(例如FOO.BAR)已棄用的選項。合并不支持使用的密鑰時,將生成警告,并且該密鑰將被忽略。

register_renamed_key(old_name, new_name, message=None)

將密鑰注冊從old_name重命名為new_name。合并重命名的密鑰時,會引發(fā)異常,警告用戶該密鑰已被重命名。

setdefault()

如果key不在字典中,則插入具有默認值的key。

如果key在字典中,則返回key的值,否則返回默認值。

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值視圖的對象

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",在調(diào)用 set_global_cfg(cfg)之后,可以通過以下方式訪問該鍵:

from detectron2.config import global_cfg

print(global_cfg.KEY)

通過使用hacky全局配置,你可以在任何地方訪問這些配置,而不必將配置對象或值傳遞到代碼中。這是為快速原型設(shè)計/研究探索而引入的一項功能強大的功能。

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)前版本降級到舊版本。

參數(shù):

cfg(CfgNode)

to_version(int)

注意

由于不同版本中的功能不同,通常無法對任意配置進行普遍降級。降級的目的僅是恢復(fù)舊版本中的默認設(shè)置,從而允許它加載舊的部分Yaml配置,因此僅當(dāng)無法進行一般降級時,實現(xià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)前版本升級到更高版本。

參數(shù):

cfg(CfgNode)

to_version(int)默認為最新版本。

1234下一頁>

(免責(zé)聲明:本網(wǎng)站內(nèi)容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準確性及可靠性,但不保證有關(guān)資料的準確性及可靠性,讀者在使用前請進一步核實,并對任何自主決定的行為負責(zé)。本網(wǎng)站對有關(guān)資料所引致的錯誤、不確或遺漏,概不負任何法律責(zé)任。
任何單位或個人認為本網(wǎng)站中的網(wǎng)頁或鏈接內(nèi)容可能涉嫌侵犯其知識產(chǎn)權(quán)或存在不實內(nèi)容時,應(yīng)及時向本網(wǎng)站提出書面權(quán)利通知或不實情況說明,并提供身份證明、權(quán)屬證明及詳細侵權(quán)或不實情況證明。本網(wǎng)站在收到上述法律文件后,將會依法盡快聯(lián)系相關(guān)文章源頭核實,溝通刪除相關(guān)內(nèi)容或斷開相關(guān)鏈接。 )

贊助商
2020-09-04
detectron2系列:config軟件包
class detectron2.config.CfgNode(init_dict=None, key_list=None, new_allowed=False)源代碼:https://detectr

長按掃碼 閱讀全文