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]#

冻结嵌套字典。

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

参数

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 – 每个缩进级别中的空格数

返回

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