Spaces:
Sleeping
Sleeping
from collections import namedtuple | |
import numpy as np | |
from ding.envs.common import EnvElement | |
class GfootballReward(EnvElement): | |
_name = "gfootballReward" | |
_reward_keys = ['reward_value'] | |
Reward = namedtuple('Action', _reward_keys) | |
MinReward = -1.0 | |
MaxReward = 1.0 | |
def _init(self, cfg) -> None: | |
self._default_val = 0.0 | |
self.template = { | |
'reward_value': { | |
'name': 'reward_value', | |
'shape': (1, ), | |
'value': { | |
'min': -1.0, | |
'max': 1.0, | |
'dtype': float, | |
'dinfo': 'float value', | |
}, | |
'env_value': 'reward of action', | |
'to_agent_processor': lambda x: x, | |
'from_agent_processor': lambda x: x, | |
'necessary': True, | |
} | |
} | |
self._shape = (1, ) | |
self._value = { | |
'min': -1.0, | |
'max': 1.0, | |
'dtype': float, | |
'dinfo': 'float value', | |
} | |
def _to_agent_processor(self, reward: float) -> np.array: | |
return np.array([reward], dtype=float) | |
def _from_agent_processor(self, reward: float) -> float: | |
return reward | |
def _details(self): | |
return '\t'.join(self._reward_keys) | |