def __init__(self, configs): self.rb = RogueBox(configs) self._pending_action_timer = None self.ui = UIManager.init(configs["userinterface"], self.rb) self.l = Logger(log_depth=configs["verbose"], log_targets=["file", "ui"], ui=self.ui) self.ui.on_key_press(self._keypress_callback) self._timer_value = 100 self._pending_action_timer = self.ui.on_timer_end( self._timer_value, self._act_callback)
def __init__(self, configs): import models, history # class instances self.rb = RogueBox(configs) self.model_manager = getattr(models, configs["model_manager"])(self.rb) self.history_manager = getattr(history, configs["history_manager"])(self) # configs self.configs = configs self.configs["iteration"] = 1 self.configs["actions"] = self.rb.get_actions() self.configs["actions_num"] = len(self.configs["actions"]) # gui stuff ui = None log_targets = [] if configs["logsonfile"]: log_targets.append("file") if self.configs["gui"]: self.ui = UIManager.init(configs["userinterface"], self.rb) self._pending_action = None ui = self.ui log_targets.append("ui") self.l = Logger(log_depth=configs["verbose"], log_targets=log_targets, ui=ui) else: log_targets.append("terminal") self.l = Logger(log_depth=configs["verbose"], log_targets=log_targets) # state self.state = self.model_manager.reshape_initial_state( self.rb.compute_state()) self.old_state = self.state # model self.model = self.model_manager.build_model() self.target_model = self.model_manager.build_model() self.target_model.set_weights(self.model.get_weights()) # resume from file # load weights, transitions history and parameters from assets, if any self._load_progress()
def __init__(self, configs): import history, models # class instances self.rogomatic = StalkOMatic(configs) self.model_manager = getattr(models, configs["model_manager"])(self.rogomatic) self.history_manager = getattr(history, configs["history_manager"])(self) # configs self.configs = configs self.configs["iteration"] = 1 self.configs["actions"] = self.rogomatic.get_actions() self.configs["actions_num"] = len(self.configs["actions"]) # gui stuff ui = None log_targets = [] if configs["logsonfile"]: log_targets.append("file") if self.configs["gui"]: self.ui = UIManager.init(configs["userinterface"], self.rogomatic) self._pending_action = None ui = self.ui log_targets.append("ui") self.l = Logger(log_depth=configs["verbose"], log_targets=log_targets, ui=ui) else: log_targets.append("terminal") self.l = Logger(log_depth=configs["verbose"], log_targets=log_targets) # state self.state = self.model_manager.reshape_initial_state( self.rogomatic.compute_state()) self.old_state = self.state self.last_pos = self.rogomatic.player_pos self.same_pos_count = 0 self.starting = False
def __init__(self, configs): import models, history # class instances self.rb = RogueBox(configs) self.model_manager = getattr(models, configs["model_manager"])(self.rb) self.history_manager = getattr(history, configs["history_manager"])(self) # configs self.configs = configs self.configs["iteration"] = 1 self.configs["actions"] = self.rb.get_actions() self.configs["actions_num"] = len(self.configs["actions"]) # let's see if we have config values for how often to save progress self.save_progress_every = 100000 self.set_weights_every = 10000 if 'save_progress_every' in self.configs: self.save_progress_every = int(self.configs['save_progress_every']) if 'set_weights_every' in self.configs: self.set_weights_every = int(self.configs['set_weights_every']) # model file names self.weights_file_name = 'weights.h5' self.parameters_file_name = 'parameters.csv' self.history_file_name = 'history.pkl' if 'weights_file_name' in self.configs: self.weights_file_name = self.configs['weights_file_name'] if 'parameters_file_name' in self.configs: self.parameters_file_name = self.configs['parameters_file_name'] if 'history_file_name' in self.configs: self.history_file_name = self.configs['history_file_name'] # gui stuff ui = None log_targets = [] if configs["logsonfile"]: log_targets.append("file") if self.configs["gui"]: self.ui = UIManager.init(configs["userinterface"], self.rb) self._pending_action = None ui = self.ui log_targets.append("ui") self.l = Logger(log_depth=configs["verbose"], log_targets=log_targets, ui=ui) else: log_targets.append("terminal") self.l = Logger(log_depth=configs["verbose"], log_targets=log_targets) # state self.state = self.model_manager.reshape_initial_state( self.rb.compute_state()) self.old_state = self.state # model self.model = self.model_manager.build_model() self.target_model = self.model_manager.build_model() self.target_model.set_weights(self.model.get_weights()) # resume from file # load weights, transitions history and parameters from assets, if any self._load_progress()