ElegantRL
ElegantRL copied to clipboard
AgentPPOHterm的update_net解析trajectory数据时存在bug?
AgentPPOHterm类的update_net函数,会解析之前在train_and_evaluate里面通过AgentPPO.explore_one_env生成的trajectory(并且由于PPO是on_policy算法,所以并不会把trajectory放入replay buffer然后重新采样),但可以看到,AgentPPOHterm类的update_net函数解析trajectory数据格式和存放时并不一致(和AgentPPO类的update_net函数也不一致),看起来是个bug
AgentPPOHterm类update_net函数里的trajectory解析:
https://github.com/AI4Finance-Foundation/ElegantRL/blob/1d5bf9e1639222c5d2a462adcc0c4eab453bbe70/elegantrl/agents/AgentPPO.py#L671
AgentPPO类explore_one_env函数里输出的trajectory格式:
https://github.com/AI4Finance-Foundation/ElegantRL/blob/1d5bf9e1639222c5d2a462adcc0c4eab453bbe70/elegantrl/agents/AgentPPO.py#L92
AgentPPO类update_net函数里的trajectory解析:
https://github.com/AI4Finance-Foundation/ElegantRL/blob/1d5bf9e1639222c5d2a462adcc0c4eab453bbe70/elegantrl/agents/AgentPPO.py#L139
除了这个解析顺序的问题,AgentPPOHterm类update_net需要的两个字段buf_mask和buf_noise似乎不能直接与undones和logprobs对应?不知道是不是代码实现上还没完成?