unienv_interface.remote.proxies¶
Local Env / World / WorldNode / DataTransformation views of objects hosted by a server.
Every method is one remote call. Spaces, timings and metadata come from the
server's descriptor; spaces are refreshed whenever a reset changed them.
close() on a proxy does nothing: hosted objects belong to the server.
Components mode is a plain local WorldEnv over remote proxies (host them with
server.register_recursive("sim", env))::
env = WorldEnv(client.world("sim/world"), client.node("sim/node"))
RemoteEnv
¶
RemoteEnv(client: RemoteClient, name: str)
Bases: _Remote, Env
An Env hosted by a :class:RemoteServer.
observation_space
instance-attribute
¶
observation_space: Space[ObsType, BDeviceType, BDtypeType, BRNGType]
context_space
class-attribute
instance-attribute
¶
context_space: Optional[Space[ContextType, BDeviceType, BDtypeType, BRNGType]] = None
get_node
¶
get_node(nested_keys: Union[str, Sequence[str]]) -> Optional[RemoteWorldNode]
Node proxy by key path, for envs built on a WorldEnv.
sample_context
¶
sample_context() -> Optional[ContextType]
Sample one context value if context_space is defined.
update_observation_post_reset
¶
update_observation_post_reset(old_obs: ObsType, newobs_masked: ObsType, mask: BArrayType) -> ObsType
Merge masked reset observations back into a full batched observation.
update_context_post_reset
¶
update_context_post_reset(old_context: ContextType, new_context: ContextType, mask: BArrayType) -> ContextType
Merge masked reset contexts back into a full batched context.
has_wrapper_attr
¶
has_wrapper_attr(name: str) -> bool
Checks if the attribute name exists in the environment.
set_wrapper_attr
¶
set_wrapper_attr(name: str, value: Any)
Sets the attribute name on the environment with value.
RemoteWorld
¶
RemoteWorld(client: RemoteClient, name: str)
Bases: _Remote, World
A World hosted by a :class:RemoteServer.
device
instance-attribute
¶
device: Optional[BDeviceType]
The world timestep in seconds, if None, the world is asynchronous (real-time)
world_subtimestep
class-attribute
instance-attribute
¶
world_subtimestep: Optional[float] = None
The number of parallel environments in this world
is_control_timestep_compatible
¶
is_control_timestep_compatible(control_timestep: Optional[float]) -> bool
Check whether a node control period aligns with world_timestep.
RemoteWorldNode
¶
RemoteWorldNode(client: RemoteClient, name: str)
Bases: _Remote, WorldNode
A WorldNode hosted by a :class:RemoteServer.
context_space
class-attribute
instance-attribute
¶
context_space: Optional[Space[ContextType, BDeviceType, BDtypeType, BRNGType]] = None
observation_space
class-attribute
instance-attribute
¶
observation_space: Optional[Space[ObsType, BDeviceType, BDtypeType, BRNGType]] = None
action_space
class-attribute
instance-attribute
¶
action_space: Optional[Space[ActType, BDeviceType, BDtypeType, BRNGType]] = None
supported_render_modes
class-attribute
instance-attribute
¶
supported_render_modes: Sequence[str] = ()
after_reset_priorities
class-attribute
instance-attribute
¶
after_reset_priorities: Set[int] = set()
after_reload_priorities
class-attribute
instance-attribute
¶
after_reload_priorities: Set[int] = set()
pre_environment_step_priorities
class-attribute
instance-attribute
¶
pre_environment_step_priorities: Set[int] = set()
post_environment_step_priorities
class-attribute
instance-attribute
¶
post_environment_step_priorities: Set[int] = set()
effective_update_timestep
property
¶
effective_update_timestep: Optional[float]
Resolved update period, defaulting to control_timestep when unset.
reset
¶
reset(*, priority: int = 0, seed: Optional[int] = None, mask: Any = None, **kwargs: Any) -> None
reload
¶
reload(*, priority: int = 0, seed: Optional[int] = None, mask: Any = None, **kwargs: Any) -> None
get_nodes_by_type
¶
get_nodes_by_type(node_type: Type[WorldNode]) -> list[WorldNode]
Return nodes in this subtree that are instances of node_type.
has_wrapper_attr
¶
has_wrapper_attr(name: str) -> bool
Checks if the attribute name exists in the environment.
set_wrapper_attr
¶
set_wrapper_attr(name: str, value: Any)
Sets the attribute name on the environment with value.
RemoteDataTransformation
¶
RemoteDataTransformation(client: RemoteClient, name: str)
Bases: _Remote, DataTransformation
A DataTransformation hosted by a :class:RemoteServer.
transform and get_target_space_from_source run on the server: the
source space and the data are rebuilt there on the backend / device the
transformation was registered with, and the result comes back on the
client's. Use it to run a transformation whose dependencies live in another
environment (e.g. a grasp synthesizer pinned to an old CUDA toolchain).
The proxy has no inverse and cannot be serialized: it is bound to its connection (serialize the hosted transformation on the server instead).
deserialize_from
classmethod
¶
deserialize_from(json_data: Dict[str, Any], source_space: Any = None) -> RemoteDataTransformation
direction_inverse
¶
direction_inverse(source_space: Optional[Space[SourceDataT, SourceBDeviceT, SourceBDTypeT, SourceBDRNGT]] = None) -> Optional[DataTransformation]
Return the inverse transformation when one exists.