Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What this PR does / why we need it:
Closes #707
This PR updates the logic for how the
ModuleClass.tasks
property is implemented. The previous use of aset
was there to ensure uniqueness. It also had the subtle implication that all tasks are equally important to a givenModuleClass
since aset
does not guarantee order.This second implication, however, was not respected in the train API generation. Since a given
ModuleClass
can have only a singletrain
method, the mapping fromModuleClass
totask
was nondeterministic for multitask module training. With this PR, the order oftasks
is now strictly defined to be the unique concatenation of the list of tasks in the module itself with the task lists of all parent modules in MRO.Special notes for your reviewer:
If applicable: