未使用 Stable-Baselines3 监视 CustomEnv 的转出摘要统计信息

Rollout summary statistics not being monitored for CustomEnv using Stable-Baselines3

我正在尝试通过 Stable-Baselines3 和 OpenAI Gym 使用 PPO 训练自定义环境。出于某种原因,当我尝试训练 PPO 模型时,未针对此自定义环境报告推出统计信息。

我使用的代码如下(为简洁起见,我没有包含 CustomEnv 的代码):

env = CustomEnv(mode = "discrete")
env = Monitor(env, log_dir)
model = PPO("MlpPolicy", env, verbose=1, tensorboard_log = log_dir)

timesteps = 5000
for i in range(3):
  model.learn(total_timesteps = timesteps, reset_num_timesteps = False, tb_log_name = "PPO")
  model.save(f"{models_dir}/car_model_{timesteps * i}")

下图展示了上述代码的输出(图片右侧),图片左侧展示了我用于调试的虚拟环境的常规输出。

我已经尝试添加代码行:

env = Monitor(env, log_dir)

但这不会改变输出。

已解决:存在环境未结束的边缘情况,done 变量无限期地保持为 False。

修复此错误后,转出统计数据重新出现。