Ensuring entire task library is used during MAML training

How severe does this issue affect your experience of using Ray?

  • Medium: It contributes to significant difficulty to complete my task, but I can work around it.

Hi, I am working on a use-case of the MAML algorithm in the CityLearn environment. However, I am not too certain on how to set up my experiments to get the results I want in training.

I have N tasks I am wanting train the MAML algorithm on but I am unsure about how to set up the training to ensure that all N tasks are sampled and selected at least once for inner-loop adaptation.

From my understanding, three methods need to be defined in the meta environment: sample_tasks, set_task, and get_task. sample_tasks is to return a list of tasks that make up the training task library. The number of tasks returned by sample_tasks is defined by num_rollout_workers used for training but what I understand by num_rollout_workers is more from a multithread/multiprocessing point of view. So if I wanted my training to use as little resources on my computer as possible and set num_rollout_workers=1 only 1 task out of the N tasks I am intending on training on will be considered in the task library and parsed to set_task?

Of course, it is possible I have understood the MAML source code wrongly :slight_smile: and will just need guidance on how to make sure all N tasks are considered during training, please.