在OPENAI基线中保存模型

问题描述 投票:1回答:1

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和检查点格式?

model reinforcement-learning openai-gym baseline
1个回答
0
投票

我遇到了相同的问题,并且通过对基准代码进行一些调整来解决了该问题。

基线中有两对方法用于保存和加载模型(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对。

希望这会对您有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.