}) print(f"Environment: {params['env_name']}\n" f"Number of actions: {params['n_actions']}") if params["do_intro_env"]: intro_env() env = make_atari(params["env_name"], params["seed"]) agent = Agent(**params) experiment = Experiment() logger = Logger(agent, experiment=experiment, **params) if not params["train_from_scratch"]: chekpoint = logger.load_weights() agent.online_model.load_state_dict( chekpoint["online_model_state_dict"]) agent.hard_update_target_network() params.update({"beta": chekpoint["beta"]}) min_episode = chekpoint["episode"] print("Keep training from previous run.") else: min_episode = 0 print("Train from scratch.") if params["do_train"]: sign = lambda x: bool(x > 0) - bool(x < 0) state = np.zeros(shape=params["state_shape"], dtype=np.uint8)