Dynamics Module

baconian.algo.dynamics.dynamics_model.DynamicsModel

class baconian.algo.dynamics.dynamics_model.DynamicsModel(env_spec: baconian.core.core.EnvSpec, parameters: baconian.core.parameters.Parameters = None, init_state=None, name='dynamics_model', state_input_scaler: baconian.common.data_pre_processing.DataScaler = None, action_input_scaler: baconian.common.data_pre_processing.DataScaler = None, state_output_scaler: baconian.common.data_pre_processing.DataScaler = None)
INIT_STATUS = 'CREATED'
STATUS_LIST = ('CREATED', 'INITED')
__init__(env_spec: baconian.core.core.EnvSpec, parameters: baconian.core.parameters.Parameters = None, init_state=None, name='dynamics_model', state_input_scaler: baconian.common.data_pre_processing.DataScaler = None, action_input_scaler: baconian.common.data_pre_processing.DataScaler = None, state_output_scaler: baconian.common.data_pre_processing.DataScaler = None)
Parameters:
  • env_spec (EnvSpec) – environment specifications, such as observation space and action space
  • parameters (Parameters) – parameters
  • init_state (str) – initial state of dymamics model
  • name (str) – name of instance, ‘dynamics_model’ by default
  • state_input_scaler (DataScaler) – data preprocessing scaler of state input
  • action_input_scaler (DataScaler) – data preprocessing scaler of action input
  • state_output_scaler (DataScaler) – data preprocessing scaler of state output
copy_from(obj) → bool
Parameters:obj – object to copy from
Returns:True if successful else raise an error
Return type:bool
init(*args, **kwargs)
make_copy()

Make a copy of parameters and environment specifications.

reset_state(state=None)
Parameters:state (np.ndarray) – original state
Returns:a random sample space in observation space
Return type:np.ndarray
return_as_env() → baconian.core.core.Env
Returns:an environment with this dynamics model
Return type:DynamicsEnvWrapper
step(action: numpy.ndarray, state=None, allow_clip=False, **kwargs_for_transit)

State transition function (only support one sample transition instead of batch data)

Parameters:
  • action (np.ndarray) – action to be taken
  • state (np.ndarray) – current state, if None, will use stored state (saved from last transition)
  • allow_clip (bool) – allow clip of observation space, default False
  • kwargs_for_transit – extra kwargs for calling the _state_transit, this is typically related to the specific mode you used
Returns:

new state after step

Return type:

np.ndarray

Abstraction class for different types of dynamics model:

class baconian.algo.dynamics.dynamics_model.LocalDyanmicsModel(env_spec: baconian.core.core.EnvSpec, parameters: baconian.core.parameters.Parameters = None, init_state=None, name='dynamics_model', state_input_scaler: baconian.common.data_pre_processing.DataScaler = None, action_input_scaler: baconian.common.data_pre_processing.DataScaler = None, state_output_scaler: baconian.common.data_pre_processing.DataScaler = None)
class baconian.algo.dynamics.dynamics_model.GlobalDynamicsModel(env_spec: baconian.core.core.EnvSpec, parameters: baconian.core.parameters.Parameters = None, init_state=None, name='dynamics_model', state_input_scaler: baconian.common.data_pre_processing.DataScaler = None, action_input_scaler: baconian.common.data_pre_processing.DataScaler = None, state_output_scaler: baconian.common.data_pre_processing.DataScaler = None)
class baconian.algo.dynamics.dynamics_model.TrainableDyanmicsModel
train(*args, **kwargs)
class baconian.algo.dynamics.dynamics_model.DifferentiableDynamics(input_node_dict: dict, output_node_dict: dict)
__init__(input_node_dict: dict, output_node_dict: dict)
grad_on_input(key_or_node: (<class 'str'>, <sphinx.ext.autodoc.importer._MockObject object at 0x7f1e6b3df6a0>), order=1, batch_flag=False)
split_and_hessian(out_node, innode)