我正在使用DQN算法训练一个RL模型。在每次迭代时,我将模型保存如下:
agent = dqn.DQNTrainer(env=CustomEnv,config=config)
for n in range(100):
result = agent.train()
agent.save()我想在不同的环境中使用经过训练的RL模型。我不知道如何在不同的环境中加载检查点并进行评估。
我尝试加载经过训练的模型(最后一个检查点),但它抛出了一个错误。我所做的工作如下:
agent.restore('./RL_saved/checkpoint-100.tune_metadata')这让我犯了个错误
unsupported pickle protocol: 5当我做的时候
agent.restore('./RL_saved/checkpoint-100.tune_metadata')这让我犯了个错误
Invalid magic number; corrupt file?我用正确的方式加载模型吗?以及如何将环境传递给加载的模型?
发布于 2022-10-12 13:56:23
我找到了这个问题的答案,以防对任何人有帮助。
首先创建类DQN的一个对象,然后在不使用扩展.tune_metadata的情况下加载检查点。
agent = dqn.DQNTrainer(env=CustomEnv,config=config)
agent.restore(''./RL_saved/checkpoint-100')https://stackoverflow.com/questions/73986812
复制相似问题