이제 모델을 훈련시킬 텐데, 앞서 num_of_episodes와 timesteps_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("**********************************")