Config
類別keras.utils.Config(**kwargs)
Config 是一個類似字典的容器,用於存放具名值。
它比普通的字典提供了一些優勢
範例
# Create a config via constructor arguments
config = Config("learning_rate"=0.1, "momentum"=0.9)
# Then keep adding to it via attribute-style setting
config.use_ema = True
config.ema_overwrite_frequency = 100
# You can also add attributes via dict-like access
config["seed"] = 123
# You can retrieve entries both via attribute-style
# access and dict-style access
assert config.seed == 100
assert config["learning_rate"] == 0.1
Config 的行為類似字典
config = Config("learning_rate"=0.1, "momentum"=0.9)
for k, v in config.items():
print(f"{k}={v}")
print(f"keys: {list(config.keys())}")
print(f"values: {list(config.values())}")
事實上,它可以轉換為字典
config = Config("learning_rate"=0.1, "momentum"=0.9)
dict_config = config.as_dict()
您可以輕鬆地將配置序列化為 JSON
config = Config("learning_rate"=0.1, "momentum"=0.9)
json_str = config.to_json()
您也可以凍結配置以防止進一步的變更
config = Config()
config.optimizer = "adam"
config.seed = 123
# Freeze the config to prevent changes.
config.freeze()
assert config.frozen
config.foo = "bar" # This will raise an error.