当我运行一些代码(DDPG-深度确定性策略梯度)时,出现以下错误: ValueError:callbacks必须是返回DefaultCallbacks的子类的可调用方法,got <类DDPG
我的代码如下:
import json
def load_policy():
log_dir = "/root/ray_results/DDPG_SimpleSupplyChain_2020-07-15_02-37-48j2fjk67_" # this path needs to be set manually
checkpoint_id = "200"
with open(f"{log_dir}/params.json", "r") as read_file:
config = json.load(read_file)
trainer = ddpg.DDPGTrainer(config=config, env=SimpleSupplyChain)
trainer.restore(f"{log_dir}/checkpoint_{checkpoint_id}/checkpoint-{checkpoint_id}")
return trainer.get_policy()
policy = load_policy()log_dir是训练过的DDPG参数的位置。
我想使用经过训练的参数,所以使用"config = json.load(read_file)“代码。
然后,当我创建DDPGTrainer时,使用这个“配置”,但出现了一些错误。

如何解决此错误?
发布于 2020-08-04 00:31:30
我怀疑你的params.json有一个回调类的字符串表示。config dict应该包含一个用于回调的真实Python对象,而不是一个字符串表示。您可以尝试加载配置的酸洗版本,就像RLlib代码库中的rollout.py一样,而不是加载它的JSON表示。
https://stackoverflow.com/questions/62908522
复制相似问题