我正在尝试评估此 ML project 的结果,其中奖励保存到 .pkl 文件中,然后进行操作。 这需要reward_logs变量并成功创建一个.pkl文件:
with open(os.path.join(data_dir, 'reward_logs.pkl'), 'wb') as f:
pickle.dump(reward_logs, f, pickle.HIGHEST_PROTOCOL)
但是,reward_logs 在最后读取格式说明符,读取不存在的文件,例如第一次迭代:reward_logs.pkl.0
R = np.zeros((6, len(tutor_builders), n_eps, n_reps))
for i in range(6):
with open(os.path.join(data_dir, 'reward_logs.pkl.%d' % i), 'rb') as f:
reward_logs = pickle.load(f)
R[i] = reward_logs['rewards']
print(reward_logs['env_names'], reward_logs['reward_funcs'])
它在 FileNotFoundError: [Errno 2] No such file or directory: '.\\data\\reward_logs.pkl.0'
处按预期出错
格式说明符的目的是什么?我在 os.path.join 函数中找不到与使用格式说明符相关的任何内容。代码已经有 4 年了,所以我想知道是否有什么改变,如果有,我应该如何重写这个循环?