Closed raykr closed 1 year ago
Hello. Yes, we are aware of this. The reason is that we haven't supported available actions for had3qn and thus it cannot be used on SMAC. We may add support for this in the future. :)
Is it feasible to add get_avail_agent_actions
check before sample
actions?
get_avail_agent_actions
is a function inside the environment for deciding available actions and reporting to the runner. For had3qn agents to choose the appropriate actions, a feasible way is to choose the argmax actions within the available actions. Also, the training process needs to be modified accordingly.
I saw it passed in warmup phase but errored in train phase, the sample_actions inside warmup has available_actions and Categorical().sample() restrict, but in train phase actor.get_actions(obs, add_random) has no available_actions param. Whether need to change q_net model just like hasac StochasticMlpPolicy?
Hello. To support available_actions in HAD3QN, the DuelingQNet model does not need to be changed. Instead, had3qn actor and discrete q critic should be modified to always choose actions within the available ones.
Script:
Error:
Meanwhile,
happo
,haa2c
,hatrpo
andmappo
are both running insmac
normally. Onlyhad3qn
has this error.