ray.rllib.utils.numpy.make_action_immutable#

ray.rllib.utils.numpy.make_action_immutable(obj)[源代码]#

将标志操作设为不可变,以在用户尝试更改时通知用户。

也可以用于包含字典、numpy 数组或本身已经是不可变对象的任何树状结构。但请注意,tree.map_structure() 通常不会包含包含所有其他对象的浅层对象,因此不可变性将仅适用于其中包含的所有对象。使用 tree.traverse(fun, action, top_down=False) 以包含包含对象。

参数:

obj – 要设为不可变对象的对象。

返回:

不可变对象。

import tree
import numpy as np
from ray.rllib.utils.numpy import make_action_immutable
arr = np.arange(1,10)
d = dict(a = 1, b = (arr, arr))
tree.traverse(make_action_immutable, d, top_down=False)