Spaces:
Sleeping
Sleeping
import copy | |
import torch | |
from ding.envs.common import EnvElementRunner | |
from ding.envs.env.base_env import BaseEnv | |
from .gfootball_reward import GfootballReward | |
class GfootballRewardRunner(EnvElementRunner): | |
def _init(self, cfg, *args, **kwargs) -> None: | |
# set self._core and other state variable | |
self._core = GfootballReward(cfg) | |
self._cum_reward = 0.0 | |
def get(self, engine: BaseEnv) -> torch.tensor: | |
ret = copy.deepcopy(engine._reward_of_action) | |
self._cum_reward += ret | |
return self._core._to_agent_processor(ret) | |
def reset(self) -> None: | |
self._cum_reward = 0.0 | |
def cum_reward(self) -> torch.tensor: | |
return torch.FloatTensor([self._cum_reward]) | |