ray.rllib.policy.policy.Policy.compute_single_action#
- Policy.compute_single_action(obs: numpy.array | jnp.ndarray | tf.Tensor | torch.Tensor | dict | tuple | None = None, state: List[numpy.array | jnp.ndarray | tf.Tensor | torch.Tensor] | None = None, *, prev_action: numpy.array | jnp.ndarray | tf.Tensor | torch.Tensor | dict | tuple | None = None, prev_reward: numpy.array | jnp.ndarray | tf.Tensor | torch.Tensor | dict | tuple | None = None, info: dict = None, input_dict: SampleBatch | None = None, episode: Episode | None = None, explore: bool | None = None, timestep: int | None = None, **kwargs) Tuple[numpy.array | jnp.ndarray | tf.Tensor | torch.Tensor | dict | tuple, List[numpy.array | jnp.ndarray | tf.Tensor | torch.Tensor], Dict[str, numpy.array | jnp.ndarray | tf.Tensor | torch.Tensor]] [源代码]#
计算并返回一个单一(B=1)的动作值。
接受一个输入字典(通常是一个 SampleBatch)作为其主要数据输入。这允许在使用此方法时,如果需要更复杂的输入模式(视图需求),例如当模型需要最后 n 个观察值、最后 m 个动作/奖励,或这些的任何组合时。或者,如果没有复杂的输入需求,则接受单个
obs
值(以及可能的单个状态值、前一个动作/奖励值等)。- 参数:
obs – 单一观察。
state – RNN 状态输入列表(如果有)。
prev_action – 如果有的话,前一个动作的值。
prev_reward – 如果有的话,之前的奖励。
info – 信息对象(如果有)。
input_dict – 包含单个(未批处理的)张量以计算动作的 SampleBatch 或输入字典。如果提供,它将代替
obs
、state
、prev_action|reward
和info
使用。episode – 这提供了对所有内部剧情节点的访问,这对于基于模型的或多方代理的算法可能非常有用。
explore – 选择利用还是探索动作(默认:None -> 使用 self.config[“explore”])。
timestep – 当前(采样)时间步。
- 关键字参数:
kwargs – 向前兼容占位符。
- 返回:
由动作、RNN状态输出列表(如果有)和额外特征字典(如果有)组成的元组。