Fix wrong behavior of DDPStrategy
option with simple GAN training using DDP
#20936
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 does this PR do?
Fixes #20866 #20328 #18740 #17212
This PR adds
MultiModelDDPStrategy
class and its simple execution example, for the multi-gpu training with GAN training.Simply speaking:
Currently, pytorch lightning simple GAN training has has problem with
DistributedDataParallel
strategy. It tries to wrappl.trainer
, not thenn.Module
models in thepl.trainer
Although we can activate
find_unused_parameters=True
options to avoid this issue but it is not right way; I think it is just a trick.So the key idea to solve this issue is that we assign
DistributedDataParallel
to the each model in thepl.trainer
, different from the previous strategyDDPStrategy
.I already tested with my GPUs to visaulize the result and tracked the gradients of model with each epoch; it works and you can see the visulized result in thie google drive link
Before submitting
PR review
Anyone in the community is welcome to review the PR.
Before you start reviewing, make sure you have read the review guidelines. In short, see the following bullet-list:
Reviewer checklist
📚 Documentation preview 📚: https://pytorch-lightning--20936.org.readthedocs.build/en/20936/