switch

paddle.utils.unique_name. switch ( new_generator=None ) [源代码]

将当前上下文的命名空间切换到新的命名空间。该接口与 guard 接口都可用于更改命名空间,推荐使用 guard 接口,配合 with 语句管理命名空间上下文。

参数

  • new_generator (UniqueNameGenerator,可选) - 要切换到的新命名空间,一般无需设置。缺省值为 None,表示切换到一个匿名的新命名空间。

返回

UniqueNameGenerator,先前的命名空间,一般无需操作该返回值。

代码示例

>>> import paddle
>>> name1 = paddle.utils.unique_name.generate('fc')
>>> name2 = paddle.utils.unique_name.generate('fc')
>>> print(name1, name2)
fc_0 fc_1

>>> pre_generator, pre_dygraph_name_checker = paddle.utils.unique_name.switch() # switch to a new anonymous namespace.
>>> name2 = paddle.utils.unique_name.generate('fc')
>>> print(name2)
fc_0

>>> paddle.utils.unique_name.switch(pre_generator, pre_dygraph_name_checker) # switch back to pre_generator.
>>> name3 = paddle.utils.unique_name.generate('fc')
>>> print(name3)
fc_2