Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Dismiss Notice

What is the best way to learn configuration setup

Discussion in 'ML-Agents' started by CGPepper, Jul 31, 2022.

  1. CGPepper

    CGPepper

    Joined:
    Jan 28, 2013
    Posts:
    151
    I am trying to understand configuration yaml's, but it's a lot of moving pieces. Does anyone know a good resource with a deep breakdown of most important combinations?

    I've looked at documentation for release 19 https://github.com/Unity-Technologi...e_19_docs/docs/Training-Configuration-File.md

    Looked at different sample files https://github.com/Unity-Technologies/ml-agents/tree/release_19_docs/config

    But it's still fairly confusing. When do i use trainer type ppo, when sac or poca?

    Setting "buffer_size", Typical range: PPO: 2048 - 409600; SAC: 50000 - 1000000. When do i use the upper range, and when do i use the lower range?

    Can i train an agent, achieve some reward, increase complexity in the code and continue with the same .onnx file?

    How do i spot a bad config quickly? What is a reasonable training time for a simple task on a regular computer? A million steps with no major drops?

    upload_2022-7-31_23-59-23.png
     

    Attached Files:

  2. JulesVerny

    JulesVerny

    Joined:
    Dec 21, 2015
    Posts:
    47
    Yes it is really a lot of Black Art. It comes down to having some awareness of the Reinforcement Learning algorithms. I would suggest Groking Deep Reinforcement Learning, by Morales. Its pretty heavy stuff, but it slowly brings you up to speed with the core Algorithms and the purpose of the RL parameters. I pretty much stick with PPO for my base, and then only use POCA and Group Rewards for collaborative scenarios.
    Alternatively you need to study and review the different configuration files between the different example projects provided, and choose those whish are similar to your own scenarios.
    Star off very simple, get the basics right, observe some Training, and grow from there. It can take weeks, and many many iterations to get the yaml configuration combination right. And can be Very frustrating at times
     
  3. mbaske

    mbaske

    Joined:
    Dec 31, 2017
    Posts:
    473
    Totally agree. I hardly ever stray too far from the example configs, as they seem to work pretty well for lots of use cases.

    There's an app for that ;) Well, at least it helps automating dumb parameter grid searches.
    https://github.com/mbaske/ml-agents-hyperparams