flax.core.frozen_dict 包#

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

Python 字典的不可变变体。

copy(add_or_replace=mappingproxy({}))[源代码]#

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

pop(key)[源代码]#

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

示例

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

key – 要从字典中删除的键

返回

一个包含新的 FrozenDict 和已删除值的对。

pretty_repr(num_spaces=4)[源代码]#

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

unfreeze()[源代码]#

解冻此 FrozenDict。

返回

此 FrozenDict 实例的未冻结版本。

flax.core.frozen_dict.freeze(xs)[源代码]#

冻结嵌套字典。

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

参数

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

返回

冻结的字典。

flax.core.frozen_dict.unfreeze(x)[源代码]#

解冻 FrozenDict。

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

参数

x – 要解冻的冻结字典。

返回

未冻结的字典(一个常规 Python 字典)。

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

创建一个新的字典,其中包含额外的和/或替换的条目。这是一个实用函数,可以对 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)[源代码]#

创建一个新的字典,其中删除一个条目。这是一个实用函数,可以对 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)[源代码]#

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

参数
  • x – 要表示的字典

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

返回

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