Exemplo n.º 1
0
    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 = []
Exemplo n.º 2
0
    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