예제 #1
0
 def __init__(self, spec, info_space):
     self.spec = spec
     self.info_space = info_space
     self.index = self.info_space.get('experiment')
     util.set_logger(self.spec, self.info_space, logger, 'trial')
     self.trial_data_dict = {}
     self.data = None
     analysis.save_spec(spec, info_space, unit='experiment')
     SearchClass = getattr(search, spec['meta'].get('search'))
     self.search = SearchClass(self)
     logger.info(f'Initialized experiment {self.index}')
예제 #2
0
    def __init__(self, spec, global_nets=None):
        self.spec = spec
        self.index = self.spec['meta']['session']
        util.set_random_seed(self.spec)
        util.set_cuda_id(self.spec)
        util.set_logger(self.spec, logger, 'session')
        spec_util.save(spec, unit='session')

        self.agent, self.env = make_agent_env(self.spec, global_nets)
        with util.ctx_lab_mode('eval'):  # env for eval
            self.eval_env = make_env(self.spec)
        logger.info(util.self_desc(self))
예제 #3
0
    def __init__(self, spec, info_space):
        self.spec = spec
        self.info_space = info_space
        self.index = self.info_space.get('trial')
        info_space.set('session', None)  # Session starts anew for new trial
        util.set_logger(self.spec, self.info_space, logger, 'trial')
        self.session_data_dict = {}
        self.data = None

        analysis.save_spec(spec, info_space, unit='trial')
        self.is_singleton = spec_util.is_singleton(
            spec)  # singleton mode as opposed to multi-agent-env space
        self.SessionClass = Session if self.is_singleton else SpaceSession
        self.mp_runner = init_run_session if self.is_singleton else init_run_space_session
        logger.info(f'Initialized trial {self.index}')
예제 #4
0
파일: control.py 프로젝트: vmuthuk2/SLM-Lab
    def __init__(self, spec, info_space, global_nets=None):
        self.spec = spec
        self.info_space = info_space
        self.index = self.info_space.get('session')
        util.set_logger(self.spec, self.info_space, logger, 'session')
        self.data = None

        self.aeb_space = AEBSpace(self.spec, self.info_space)
        self.env_space = EnvSpace(self.spec, self.aeb_space)
        self.aeb_space.init_body_space()
        util.set_rand_seed(self.info_space.get_random_seed(), self.env_space)
        util.try_set_cuda_id(self.spec, self.info_space)
        self.agent_space = AgentSpace(self.spec, self.aeb_space, global_nets)

        logger.info(util.self_desc(self))
        logger.info(f'Initialized session {self.index}')
예제 #5
0
    def __init__(self, spec, info_space, global_nets=None):
        self.spec = spec
        self.info_space = info_space
        self.index = self.info_space.get('session')
        util.set_logger(self.spec, self.info_space, logger, 'session')
        self.data = None
        self.eval_proc = None  # reference run_online_eval process

        # init singleton agent and env
        self.env = make_env(self.spec)
        body = Body(self.env, self.spec['agent'])
        util.set_rand_seed(self.info_space.get_random_seed(), self.env)
        util.try_set_cuda_id(self.spec, self.info_space)
        self.agent = Agent(self.spec,
                           self.info_space,
                           body=body,
                           global_nets=global_nets)

        enable_aeb_space(self)  # to use lab's data analysis framework
        logger.info(util.self_desc(self))
        logger.info(f'Initialized session {self.index}')
예제 #6
0
 def __init__(self, spec):
     self.spec = spec
     self.index = self.spec['meta']['experiment']
     util.set_logger(self.spec, logger, 'trial')
     spec_util.save(spec, unit='experiment')