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()
评论列表
文章目录