示例#1
0
    config = MyConfigParser('BreakoutV1')
    env = gym.make(config.config_section_map()['game'])
    action_size = env.action_space.n

    batch_size = int(config.config_section_map()['batchsize'])
    EPISODES = int(config.config_section_map()['episodes'])

    agent = DQNAgent(env, action_size, config)

    video = VideoRecorder(config.section)

    csv_handler = MyCSVHandler(config)

    logger = MyLogger(config.section)
    logger.log_config_parameters("./config.ini")  # log the used parameter

    # Load saved Weigths if exits
    my_file = Path("./save/" + config.section + ".h5")
    if my_file.is_file():
        agent.load("./save/" + config.section + ".h5")
    #  ---------------------------------------------------

    for i_episode in range(EPISODES):
        CNN_input_stack = np.zeros(
            (5, 84, 84))  # initialization of the CNN input
        observation = env.reset()  # s1 = {x1}
        CNN_input_stack[0] = StateBuilder.pre_process_cv2(observation)
        CNN_input_stack[1] = StateBuilder.pre_process_cv2(observation)
        CNN_input_stack[2] = StateBuilder.pre_process_cv2(observation)
        CNN_input_stack[3] = StateBuilder.pre_process_cv2(observation)