-
Notifications
You must be signed in to change notification settings - Fork 215
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fixed Workflow_Interface_Mnist_Implementation_2.py #1227
base: develop
Are you sure you want to change the base?
Conversation
…ements_global_dp.txt Signed-off-by: Agniva Chowdhury <agniva.chowdhury@intel.com>
Signed-off-by: Agniva Chowdhury <agniva.chowdhury@intel.com>
b50ec24
to
3ecc561
Compare
Hi @agnivac123 I spent some time investigating this tutorial and my observations are as follows:
This was quite unexpected because our previous investigations indicated that there were no issues with single process backend.
With these changes the tutorial seems to be working fine (reference: scngupta-dsp#1) with both backends. Refer attached logs Summary: a) Issue in DPOptimizer with single process backend. Since it is working with previous versions of Pytorch and Opacus, there could be a need to adapt the tutorial to latest versions b) Issue in serialization of DPOptimizer with ray backend. This issue should get solved by defining global_model_tools as an aggregator private attribute For both the issues, I am not able to see why there would be a need to add getstate and setstate methods for GlobalModelTools(). WDYT ? |
Hi @agnivac123, Some more updates to address the issue observed with the latest Torch versions and
I updated the Summary:
Recommendation:Due to the compatibility issues between the Opacus library and the latest PyTorch versions observed in this tutorial, I would recommend continuing with earlier versions of Opacus and Pytorch |
Hi @scngupta-dsp , @teoparvanov , and @psfoley ,here is the PR that I created for the GlobalDP tutorial. Please let me know your thoughts on whether we can remove the customized getstate and setstate methods.