Source code for layeredrl.envs.log_rew_wrapper

from typing import SupportsFloat

from gymnasium import RewardWrapper
import numpy as np


[docs] class LogRewWrapper(RewardWrapper): """Applies log to the reward."""
[docs] def __init__(self, env, r_offset: float = 30.0, r_scale: float = 1.0 / 50): super().__init__(env) self.reward_range = (0.0, 1.0) self._r_offset = r_offset self._r_scale = r_scale
[docs] def reward(self, r: SupportsFloat) -> SupportsFloat: return self._r_scale * (np.log(r) + self._r_offset)