Hello everyone, i’m working on my thesis and i’m talking about the ML-Agents architecture and how the different components talk to each other. I’m struggling on finding an answer on how the Python API tells the RL algorithms to get an action. According to the docs,
DecisionSteps — contains the data from Agents belonging to the same “Behavior” in the simulation, such as observations and rewards. Only Agents that requested a decision since the last call to env.step() are in the DecisionSteps object.
So this class has only references of the agents that need a decision. My question is: what if i just need and action for the agent/s and not a decision? Which class make the request to the algorithms?
I 99% sure, if i’m not wrong, that the request have to pass via Python API because to get an action you must call the policy and pass observation and reward relative to the current step, indeed exist a method called SetActions which returns the action the algorithm carried out. But i’m not finding any specification on how the request is made.
Thanks for your time.