def __init__(self, rank: int, infer_rref: RRef, env_spawner: EnvSpawner): # ASSERTIONS # infer_rref must be a Learner assert infer_rref._get_type() is agents.Learner super().__init__(rank, infer_rref) self._num_envs = env_spawner.num_envs self._envs = env_spawner.spawn() self._current_states = [env.initial() for env in self._envs] # pylint: disable=not-callable self._metrics = [{ 'latency': tensor(0.).view(1, 1) } for _ in range(self._num_envs)] self._futures = []
def __init__(self, rank: int, callee_rref: rpc.RRef): # ASSERTIONS # check for RpcCallee being inherited by callee_rref # use import here to omit circular import from ..agents.rpc_callee import RpcCallee assert issubclass(callee_rref._get_type(), RpcCallee) # ATTRIBUTES # RPC self.callee_rref = callee_rref self.rank = rank # pylint: disable=invalid-name self.id = rpc.get_worker_info().id self.name = rpc.get_worker_info().name # COUNTER self._loop_iteration = 0 self.shutdown = False