File size: 754 Bytes
079c32c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
from . import BaseEnvManagerV2, SubprocessEnvManagerV2
from ..env import DingEnvWrapper
from typing import Optional
from functools import partial


def setup_ding_env_manager(
        env: DingEnvWrapper,
        env_num: int,
        context: Optional[str] = None,
        debug: bool = False,
        caller: str = 'collector'
) -> BaseEnvManagerV2:
    assert caller in ['evaluator', 'collector']
    if debug:
        env_cls = BaseEnvManagerV2
        manager_cfg = env_cls.default_config()
    else:
        env_cls = SubprocessEnvManagerV2
        manager_cfg = env_cls.default_config()
        if context is not None:
            manager_cfg.context = context
    return env_cls([partial(env.clone, caller) for _ in range(env_num)], manager_cfg)