Search Unity

  1. Unity 6 Preview is now available. To find out what's new, have a look at our Unity 6 Preview blog post.
    Dismiss Notice
  2. Unity is excited to announce that we will be collaborating with TheXPlace for a summer game jam from June 13 - June 19. Learn more.
    Dismiss Notice
  3. Dismiss Notice

Question two brains, one is trained by curriculum learning,another not.

Discussion in 'ML-Agents' started by ice_creamer, Sep 14, 2023.

  1. ice_creamer

    ice_creamer

    Joined:
    Jul 28, 2022
    Posts:
    34
    if there are two behaviors, one is trained by CL, another not. How can achieve it? I found CL setting in trainer.yaml is global.
     
  2. smallg2023

    smallg2023

    Joined:
    Sep 2, 2018
    Posts:
    154
    you should be able to assign the behaviour in the CL part of your .yaml

    Code (Boo):
    1. Lesson:
    2.     curriculum:
    3.         - name: FirstLesson
    4.           completion_criteria:
    5.             measure: reward
    6.             behavior: Crawler
    7.             signal_smoothing: true
    8.             min_lesson_length: 100
    9.             threshold: 0.1
    10.           value: 1.0
     
  3. ice_creamer

    ice_creamer

    Joined:
    Jul 28, 2022
    Posts:
    34
    Hmmm... There are two behavior(brains).
    CL is subordinate to environmental parameters. In the training file, the level and behavior of the environment parameters are the same. I initially thought that the name of the behavior in the YAML determines which behavior uses the CL, but it turned out that was not the case. It affects both behaviors. After that, I tried to subordinate the environment variable to the behavior I wanted to train with the course learning, but the mlagent reported an error, and the document specifically emphasized that the course learning is only subordinate to the environment parameter, that is, it cannot be further subordinate to a certain behavior.