stablebaseline3中如何连续训练,并且保存模型

  • Post author:
  • Post category:其他



stablebaseline3中如何连续训练,并且保存模型

stablebaseline3是rl 领域很经典的一个学习框架

其方便简单实用

不过如果想要学习并且熟练应用,了解其中的参数设置是非常重要的。

比如, 官方给出的文档只是最简单的使用方法:


env = make_vec_env("MountainCarContinuous-v0", n_envs=4)

model = PPO("MlpPolicy", env, verbose=1, tensorboard_log="./50w/mountain_con_ppo_monitor/")
model.learn(total_timesteps=500000)
model.save("./50w/save/ppo_mountain_car_expert")

这是最简单的一种,使用ppo+mlppolicy进行训练的设置方法,程序在达到50w的timestep之后便会进行模型保存并且储存模型到制定的logidir文件夹

但是如果我们想要在多个timestep都保存模型,那么就应该如下方式:

for i in range(10):
    model.learn(total_timesteps=20000, reset_num_timesteps=False, tb_log_name="PPO")
    model.save(f"{models_dir}/{TIMESTEPS * i}")

这样,使用

reset_num_timesteps

这个参数之后,每次训练完不会释放模型参数,并且会继续连续下一个iteration的训练,因此可以达到多次保存结果的目的

在这里插入图片描述

respect!