Openai Baselines使用以下命令保存训练后的模型,
python -m baselines.run --alg=ppo2 --env=PongNoFrameskip-v4 --num_timesteps=2e7 --save_path=~/models/pong_20M_ppo2
但是保存的训练模型不是形式,
.ckpt.meta
.ckpt.index
.ckpt.data
checkpoint
在较早的版本中就是这种形式。如何将模型另存为.ckpt.meta,.ckpt.index,.ckpt.data和检查点格式?
我遇到了相同的问题,并且通过对基准代码进行一些调整来解决了该问题。
基线中有两对方法用于保存和加载模型(save_state&load_state对和save_variables&loas_variables对),您可以在baselines / common / tf_util.py(第325〜线372)中看到它。
对于最新版本的基准,已经放弃了以.ckpt.meta,.ckpt.index,.ckpt.data和checkpoint格式保存和加载模型的save_state&load_state对,因此您需要重新启用save_state&load_state对。
例如,以baselines / ppo2 / model.py]中的ppo2为例,进行以下替换:在第125行中,替换
self.save = functools.partial(save_variables, sess=sess) self.load = functools.partial(load_variables, sess=sess)
with
self.save = functools.partial(save_states, sess=sess) self.load = functools.partial(load_states, sess=sess)
这将用save_state&load_state对替换save_variables&loas_variables对。
希望这会对您有所帮助。