더북(TheBook)

이제 모델을 훈련시킬 텐데, 앞서 num_of_episodestimesteps_per_episode의 값을 제한했기 때문에 훈련은 한 단계만 진행하고 종료됩니다.

코드 12-5 모델 훈련

for e in range(0, num_of_episodes):
    state = env.reset() ------ 환경 재설정
    state = np.reshape(state, [1,1])

    reward = 0 ------ 보상 변수 초기화
    terminated = False

    for timestep in range(timesteps_per_episode):
        action = agent.act(state) ------ act() 함수 실행

        next_state, reward, terminated, info = env.step(action) ------ 에이전트가 단계별 행동을 취합니다.
        next_state = np.reshape(next_state, [1,1])
        agent.store(state, action, reward, next_state, terminated)
        state = next_state

        if terminated:
            agent.target_model()
            break

        if len(agent.expirience_replay) > batch_size:
            agent.retrain(batch_size)
    
    if (e + 1) % 10 == 0:
        print("**********************************")
        print("Episode: {}".format(e+1))
        env.render()
        print("**********************************")
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.