Search Unity

The usage of decision requester?

Discussion in 'ML-Agents' started by Fi2nick, Mar 27, 2020.

  1. Fi2nick

    Fi2nick

    Joined:
    Mar 27, 2020
    Posts:
    2
    I am trying to build an RL agent using ml agent env with python.
    According to my understanding, the decision requester will send action to agents even if my python code does nothing. How do I synchronize my RL output with the agent? Is the decision period related to my env.step() call?

    According to my experience with openai gym, the agent and the environment will only evolve if I call step() in my python code which is nice.

    Also in most of the tutorials and docs, the decision requester is not mentioned as a necessary component.
    But what I found is that if I removed the decision requester, my python code will not interact with agent anymore. It is also the same for all official examples.
     
    maxkcy likes this.
  2. christophergoy

    christophergoy

    Joined:
    Sep 16, 2015
    Posts:
    735
    Hi, the DecisionRequest is a C# component that calls RequestDecision on your agent at a set interval for you. It is meant for convenience and is not a requirement to have. You can, instead, call RequestDecision from your Agent in C# at whatever interval you feel is appropriate. This should then give you the Behavior you desire.