You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Stable Baselines3中PPO、SAC、TD3无法生成有效TensorBoard日志文件的问题求助

Stable Baselines3中PPO、SAC、TD3无法生成有效TensorBoard日志文件的问题求助

我现在正在对比A2C、DQN和PPO这几个强化学习模型,需要生成TensorBoard图表给老师展示结果。但遇到了一个棘手的问题:只有A2C模型能正常让TensorBoard收集到数据并生成完整图表,PPO、SAC和TD3虽然会创建TensorBoard的事件文件,但文件里完全没有任何有效数据内容。

我使用的PPO和A2C代码结构几乎完全一致,具体代码如下:

PPO 代码片段

import os
from stable_baselines3.common.env_util import make_vec_env
from stable_baselines3.common.logger import configure
from stable_baselines3.common.vec_env import SubprocVecEnv

log_path_ppo = "log/ppo_cartpole_tensorboard/"
#log_path_ppo = "log/ppo_lunar_tensorboard/"

model_ppo.set_logger(configure(log_path_ppo, ["tensorboard"]))
model_ppo.learn(total_timesteps=5000,log_interval=1000, progress_bar=True)

model_ppo.save("ppo_cartpole_model")
# model_ppo.save("ppo_lunar_model")

del model_ppo
del env

A2C 代码片段

import os
from stable_baselines3.common.env_util import make_vec_env
from stable_baselines3.common.logger import configure
from stable_baselines3.common.vec_env import SubprocVecEnv

# log_path_a2c = "log/a2c_cartpole_tensorboard/lunar-env/"
log_path_a2c = "log/a2c_cartpole_tensorboard/"

model_a2c.set_logger(configure(log_path_a2c, ["tensorboard"]))
model_a2c.learn(total_timesteps=5000,log_interval=1000, progress_bar=True)

model_a2c.save("a2c_cartpole_model")
#model_a2c.save("a2c_lunar_model")

del model_a2c
del env

注:模型和环境的初始化代码是在其他独立的代码片段里完成的,这里只贴出了日志配置、训练及保存的核心部分。

目前A2C的代码完全能正常工作,TensorBoard里能生成我需要的所有图表,但PPO的代码就是无法生成有效日志。

我已经尝试过以下几种解决方法,但都没有效果:

  • 参考官方文档使用了不同的日志配置语法,但结果还是只有A2C能正常生成有效日志
  • 尝试在PPO代码里用writer替代logger来写入日志,虽然事件文件里有了内容,但TensorBoard无法正常加载图表,应该是我这段代码的逻辑有问题
  • 重新安装了带[EXTRA]标签的Stable Baselines3,问题依旧存在

有没有朋友遇到过类似的问题?或者能帮我看看哪里出了问题吗?

备注:内容来源于stack exchange,提问作者Alex Robert Petrovi膷

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.14 17:00:31