def get_experience(seq, action, reward, hist_len, episode_done):
exp_state = list()
exp_new_state = list()
'''
If we don't have enough images to produce a history
'''
if len(seq) < hist_len + 1:
num_copy = hist_len - (len(seq) - 1)
for i in range(num_copy):
exp_state.append(seq[0])
for i in range(len(seq) - 1):
exp_state.append(seq[i])
num_copy = hist_len - len(seq)
for i in range(num_copy):
exp_new_state.append(seq[0])
for i in range(len(seq)):
exp_new_state.append(seq[i])
else:
exp_state = seq[-hist_len - 1 : -1]
exp_new_state = seq[-hist_len:]
exp = Experience(state=np.moveaxis(exp_state, 0, -1), action=action, reward=reward, new_state=np.moveaxis(exp_new_state, 0, -1), game_over=episode_done)
return exp
评论列表
文章目录