flax.core.frozen_dict 包#

class flax.core.frozen_dict.FrozenDict(*args, __unsafe_skip_copy__=False, **kwargs)[source]#

Python dict 的不可变变体。

copy(add_or_replace=mappingproxy({}))[source]#

创建一个新的 FrozenDict,其中包含额外的或替换的条目。

pop(key)[source]#

创建一个新的 FrozenDict,其中删除了一个条目。

示例

>>> from flax.core import FrozenDict
>>> variables = FrozenDict({'params': {...}, 'batch_stats': {...}})
>>> new_variables, params = variables.pop('params')
参数

key – 要从字典中删除的键

返回

包含新 FrozenDict 和删除值的元组。

pretty_repr(num_spaces=4)[source]#

返回嵌套字典的缩进表示。

unfreeze()[source]#

解冻此 FrozenDict。

返回

此 FrozenDict 实例的解冻版本。

flax.core.frozen_dict.freeze(xs)[source]#

冻结嵌套字典。

通过将其转换为 FrozenDict 使嵌套的 dict 不可变。

参数

xs – 要冻结的字典(常规 Python 字典)。

返回

冻结的字典。

flax.core.frozen_dict.unfreeze(x)[source]#

解冻 FrozenDict。

通过将其转换为(嵌套的)字典使 FrozenDict 的可变副本可变。

参数

x – 要解冻的冻结字典。

返回

解冻的字典(常规 Python 字典)。

flax.core.frozen_dict.copy(x, add_or_replace=FrozenDict({}))[source]#

创建一个新的字典,其中包含额外的和/或替换的条目。这是一个实用程序函数,可以对 FrozenDict 或常规字典进行操作,并模仿 FrozenDict.copy 的行为。

示例

>>> from flax.core import FrozenDict, copy
>>> variables = FrozenDict({'params': {...}, 'batch_stats': {...}})
>>> new_variables = copy(variables, {'additional_entries': 1})
参数
  • x – 要复制和更新的字典

  • add_or_replace – 要添加到字典 x 中或在其中替换的键值对字典

返回

一个包含额外和/或替换条目的新字典。

flax.core.frozen_dict.pop(x, key)[source]#

创建一个新的字典,其中删除了一个条目。这是一个实用程序函数,可以对 FrozenDict 或常规字典进行操作,并模仿 FrozenDict.pop 的行为。

示例

>>> from flax.core import FrozenDict, pop
>>> variables = FrozenDict({'params': {...}, 'batch_stats': {...}})
>>> new_variables, params = pop(variables, 'params')
参数
  • x – 要从中删除条目的字典

  • key – 要从字典中删除的键

返回

包含新字典和删除值的元组。

flax.core.frozen_dict.pretty_repr(x, num_spaces=4)[source]#

返回嵌套字典的缩进表示。这是一个实用程序函数,可以对 FrozenDict 或常规字典进行操作,并模仿 FrozenDict.pretty_repr 的行为。如果 x 是任何其他数据类型,则此函数将返回 repr(x)

参数
  • x – 要表示的字典

  • num_spaces – 每个缩进级别的空格数

返回

嵌套字典的缩进字符串表示。