rofunc.learning.RofuncRL.agents.base_agent#

1.  Module Contents#

1.1.  Classes#

BaseAgent

Base class of Rofunc RL Agents.

1.2.  API#

class rofunc.learning.RofuncRL.agents.base_agent.BaseAgent(cfg: omegaconf.DictConfig, observation_space: Optional[Union[int, Tuple[int], gym.Space, gymnasium.Space]], action_space: Optional[Union[int, Tuple[int], gym.Space, gymnasium.Space]], memory: Optional[Union[rofunc.learning.RofuncRL.utils.memory.Memory, Tuple[rofunc.learning.RofuncRL.utils.memory.Memory]]] = None, device: Optional[Union[str, torch.device]] = None, experiment_dir: Optional[str] = None, rofunc_logger: Optional[rofunc.logger.BeautyLogger] = None)#

Base class of Rofunc RL Agents.

Initialization

Parameters:
  • cfg – Configurations

  • observation_space – Observation space

  • action_space – Action space

  • memory – Memory for storing transitions

  • device – Device on which the torch tensor is allocated

rofunc_logger = None#

Checkpoint

checkpoint_best_modules = None#

Logging

tracking_data = None#

Set up

abstract act(states: torch.Tensor)#
track_data(tag: str, value: float) None#
store_transition(states: torch.Tensor, actions: torch.Tensor, next_states: torch.Tensor, rewards: torch.Tensor, terminated: torch.Tensor, truncated: torch.Tensor, infos: torch.Tensor)#

Record the transition. (Only rewards, truncated and terminated are used in this base class)

abstract update_net()#

Update the agent model parameters.

save_ckpt(path: str)#

Save the agent model parameters to a checkpoint. :param path: :return:

load_ckpt(path: str)#

Load the agent model parameters from a checkpoint. :param path: :return:

multi_gpu_transfer(*args)#

Transfer the tensor data obtained from sim_device to rl_device.

Parameters:

args – Tensor data in different device to be transferred