Example #1
0
 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)
Example #2
0
    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()
Example #3
0
    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
Example #4
0
    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()