Full Implementation of the Captum-Optim Module
So this project got left on the back burner for a while but I've brought it back. The original plan was to either merge it into Captum or spin it out as a separate library under the PyTorch umbrella. The project was almost ready for release before it was paused, and I have since pushed it closer to full release quality.
The ReadMe for the module can be found here: https://github.com/ProGamerGov/captum/tree/master-optim/captum/optim
This PR contains all the following PR merged together:
https://github.com/pytorch/captum/pull/983 https://github.com/pytorch/captum/pull/968 https://github.com/pytorch/captum/pull/967 https://github.com/pytorch/captum/pull/966 https://github.com/pytorch/captum/pull/965 https://github.com/pytorch/captum/pull/961 https://github.com/pytorch/captum/pull/960 https://github.com/pytorch/captum/pull/957 https://github.com/pytorch/captum/pull/955 https://github.com/pytorch/captum/pull/955 https://github.com/pytorch/captum/pull/951 https://github.com/pytorch/captum/pull/949 https://github.com/pytorch/captum/pull/946 https://github.com/pytorch/captum/pull/945 https://github.com/pytorch/captum/pull/943 https://github.com/pytorch/captum/pull/927 https://github.com/pytorch/captum/pull/828
The module was developed based on this initial starting PR: https://github.com/pytorch/captum/pull/412
The last PR reviewed by the Captum team, was this one: https://github.com/pytorch/captum/pull/935
As part of this project, numerous improvements were made to Captum and the libraries that it is dependent on:
- Communication with the core PyTorch dev team ensured that Tensor subclassing was officially supported: https://github.com/pytorch/pytorch/issues/57421, https://github.com/pytorch/pytorch/pull/57544.
- Improvements were also made to Sphinx-doc so that it could better handle docstrings and code source links: https://github.com/sphinx-doc/sphinx/pull/10738, https://github.com/sphinx-doc/sphinx/pull/13195.
- I also upgraded Captum's docstrings to be in line with the Optim module's docstrings: https://github.com/pytorch/captum/pull/985.
- Citations were corrected in the Tensorflow/Lucid Library: https://github.com/tensorflow/lucid/pull/270
- Proper docstring guidelines were introduced to the core Pytorch library: https://github.com/pytorch/pytorch/pull/83536, https://github.com/pytorch/pytorch/pull/83634
Hi @ProGamerGov, I wanted to leave a quick comment - thank you for bringing this project back to light! This is a big and exciting contribution, but will definitely take us some time to review it thoroughly. It's busy right now, but I will discuss this with the team and plan how we will deliver a timely review. We appreciate your patience and contributions.
@craymichael Awesome, thank you for the update!