:py:mod:`rofunc.learning.RofuncRL.agents.base_agent`
====================================================

.. py:module:: rofunc.learning.RofuncRL.agents.base_agent

.. autodoc2-docstring:: rofunc.learning.RofuncRL.agents.base_agent
   :allowtitles:

Module Contents
---------------

Classes
~~~~~~~

.. list-table::
   :class: autosummary longtable
   :align: left

   * - :py:obj:`BaseAgent <rofunc.learning.RofuncRL.agents.base_agent.BaseAgent>`
     - .. autodoc2-docstring:: rofunc.learning.RofuncRL.agents.base_agent.BaseAgent
          :summary:

API
~~~

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

   .. autodoc2-docstring:: rofunc.learning.RofuncRL.agents.base_agent.BaseAgent

   .. rubric:: Initialization

   .. autodoc2-docstring:: rofunc.learning.RofuncRL.agents.base_agent.BaseAgent.__init__

   .. py:attribute:: rofunc_logger
      :canonical: rofunc.learning.RofuncRL.agents.base_agent.BaseAgent.rofunc_logger
      :value: None

      .. autodoc2-docstring:: rofunc.learning.RofuncRL.agents.base_agent.BaseAgent.rofunc_logger

   .. py:attribute:: checkpoint_best_modules
      :canonical: rofunc.learning.RofuncRL.agents.base_agent.BaseAgent.checkpoint_best_modules
      :value: None

      .. autodoc2-docstring:: rofunc.learning.RofuncRL.agents.base_agent.BaseAgent.checkpoint_best_modules

   .. py:attribute:: tracking_data
      :canonical: rofunc.learning.RofuncRL.agents.base_agent.BaseAgent.tracking_data
      :value: None

      .. autodoc2-docstring:: rofunc.learning.RofuncRL.agents.base_agent.BaseAgent.tracking_data

   .. py:method:: act(states: torch.Tensor)
      :canonical: rofunc.learning.RofuncRL.agents.base_agent.BaseAgent.act
      :abstractmethod:

      .. autodoc2-docstring:: rofunc.learning.RofuncRL.agents.base_agent.BaseAgent.act

   .. py:method:: track_data(tag: str, value: float) -> None
      :canonical: rofunc.learning.RofuncRL.agents.base_agent.BaseAgent.track_data

      .. autodoc2-docstring:: rofunc.learning.RofuncRL.agents.base_agent.BaseAgent.track_data

   .. py:method:: store_transition(states: torch.Tensor, actions: torch.Tensor, next_states: torch.Tensor, rewards: torch.Tensor, terminated: torch.Tensor, truncated: torch.Tensor, infos: torch.Tensor)
      :canonical: rofunc.learning.RofuncRL.agents.base_agent.BaseAgent.store_transition

      .. autodoc2-docstring:: rofunc.learning.RofuncRL.agents.base_agent.BaseAgent.store_transition

   .. py:method:: update_net()
      :canonical: rofunc.learning.RofuncRL.agents.base_agent.BaseAgent.update_net
      :abstractmethod:

      .. autodoc2-docstring:: rofunc.learning.RofuncRL.agents.base_agent.BaseAgent.update_net

   .. py:method:: save_ckpt(path: str)
      :canonical: rofunc.learning.RofuncRL.agents.base_agent.BaseAgent.save_ckpt

      .. autodoc2-docstring:: rofunc.learning.RofuncRL.agents.base_agent.BaseAgent.save_ckpt

   .. py:method:: load_ckpt(path: str)
      :canonical: rofunc.learning.RofuncRL.agents.base_agent.BaseAgent.load_ckpt

      .. autodoc2-docstring:: rofunc.learning.RofuncRL.agents.base_agent.BaseAgent.load_ckpt

   .. py:method:: multi_gpu_transfer(*args)
      :canonical: rofunc.learning.RofuncRL.agents.base_agent.BaseAgent.multi_gpu_transfer

      .. autodoc2-docstring:: rofunc.learning.RofuncRL.agents.base_agent.BaseAgent.multi_gpu_transfer
