protomotions.agents.supervised.expert_utils module#

Expert observation utilities for supervised agents.

protomotions.agents.supervised.expert_utils.validate_expert_action_contract(
expert_robot,
expert_env,
student_robot,
student_env,
)[source]#

Expert labels and executed actions share one joint order and raw-action meaning.

protomotions.agents.supervised.expert_utils.validate_expert_sensor_contract(
expert_env_config,
expert_agent_config,
target_sensors,
)[source]#

Keep a frozen expert’s sensor inputs unchanged in the student environment.

Privileged bindings are independent of sensors. A clean estimate requires the same channels and their placement; a noisy estimate also requires the same noise and drift. Random seeds need not match: the contract describes measurements, not their draws.

protomotions.agents.supervised.expert_utils.get_expert_actor_in_keys(expert_agent_config)[source]#

Input keys of the expert’s actor, from model.actor.in_keys or model.in_keys.

protomotions.agents.supervised.expert_utils.get_expert_observation_keys(
expert_env_config,
expert_agent_config,
prefix='expert_',
)[source]#

Get the prefixed observation keys that would be added for the expert.

protomotions.agents.supervised.expert_utils.get_expert_observation_components(
expert_env_config,
expert_agent_config,
existing_obs_keys=None,
prefix='expert_',
)[source]#

Extract observation components needed by expert’s actor with prefixed keys.