[docs]classNormalizeObservation(gym.ObservationWrapper):""" Normalizes the observation space to the range [-1, 1]. """def__init__(self,env):super().__init__(env)self.obs_low=self.observation_space.lowself.obs_high=self.observation_space.highself.obs_mean=(self.obs_high+self.obs_low)/2self.obs_range=(self.obs_high-self.obs_low)/2# Avoid division by zeroself.obs_range[self.obs_range==0]=1self.observation_space=gym.spaces.Box(low=-1,high=1,shape=self.observation_space.shape,dtype=np.float32)
[docs]classScaleReward(gym.RewardWrapper):""" Scales the reward by a constant factor. """def__init__(self,env,scale_factor:float):super().__init__(env)self.scale_factor=scale_factor