我想将 Tensorboard 与 StableBaselines 3 一起使用来显示强化学习的结果。我为此使用以下代码:
from stable_baselines3 import A2C
import os
from tensorflow.python.keras.callbacks import TensorBoard
from time import time
env = Custom_Env()
models_dir = "models/A2C"
logdir = "logs"
#tensorboard = TensorBoard(logdir)
timesteps = 1000
if not os.path.exists(models_dir):
os.makedirs(models_dir)
if not os.path.exists(logdir):
os.makedirs(logdir)
model = A2C('MlpPolicy', env, verbose=1, tensorboard_log=logdir)
timesteps = 1000
for i in range (1, 10):
model.learn(total_timesteps=timesteps, reset_num_timesteps=False, tb_log_name = "A2C")
model.save(f"{models_dir}/{timesteps*i} ")
当我注释掉这一行时#tensorboard = TensorBoard(logdir)
,我可以通过tensorboard --logdir=logdir --host localhost --port 8088
在 Spyder 的控制台中输入来启动 Tensorboard,然后在浏览器中输入“http://localhost:8088”来启动 Tesorboard。然而,Tensorboard 现在显示了一些与我的问题完全无关的东西(似乎是随机的)。它与我从未使用过的 PCA 有关。当没有退出该行时 tensorboard = TensorBoard(logdir)
,我可以运行代码,但是当我尝试通过 using 启动 Tensorboard 时tensorboard --logdir=logdir --host localhost --port 8088
,我收到错误“SyntaxError:无效语法”。
知道问题是什么以及如何在 Tensorboard 中显示正确的结果吗?