Google Summer of Code 2023: MXMNet Model Implementation for DeepChem

Hey everyone!

I am Riya Singh. I will be working with DeepChem this summer as a GSoC contributor.

About me

I am a 3rd Year UG student at the National Institute of Technology Karnataka, India pursuing Electronics and Communication Engineering. I have a deep passion for harnessing the power of machine learning and deep learning to make a real impact in the world.

I started my journey as a part of the DeepChem community in February 2023. I am happy to have found an organization where I could learn a lot about the real-world workings of ML models, especially graph-based neural networks, and I plan on contributing to DeepChem even after GSOC ends by improving the project implementation while also fixing issues and helping the community, wherever and whenever possible!

Contact Details

About the Project

This project seeks to bring a new tool to the DeepChem suite for solving message passing problems based on the recent advancements in the GNNs research. The project aims to implement a Multiplex Molecular Graph Neural Network (MXMNet) model, a Graph Neural Network (GNN) to Deepchem.

I shall be updating my progress here over the summer on a weekly basis. Stay tuned!

Project description is available here.

Progress of Week 1 (May 29th - June 4th) :-

  1. Fixed EdgeNetwork PR
  2. Tested the prototype of MXMNet Featurizer

Progress of Week 2 (June 5th - June 11th) :-

  1. Made a PR for MXMNet Featurizer and its tests.
  2. Link to PR - (https://github.com/deepchem/deepchem/pull/3426)
  3. Splitted EdgeNetwork PR into utilites and Edgenetwork Layer.

Progress of Week 3 (June 12th - June 18th) :-

  1. Merged Unsorted segment sum and its unit test in pytorch utils.
  2. Link to PR - (https://github.com/deepchem/deepchem/pull/3430)
  3. Merged Segment sum and its unit test in pytorch utils.
  4. Link to PR - (https://github.com/deepchem/deepchem/pull/3431)
  5. Opened EdgeNetwork Layer PR for review.
  6. Link to PR - (https://github.com/deepchem/deepchem/pull/3439)

Progress of Week 4 (June 19th - June 25th) :-

  1. Merged EdgeNetwork Layer PR and its unit tests.
  2. Link to PR - (https://github.com/deepchem/deepchem/pull/3439)

Progress of Week 5 (June 26th - July 2nd ):

  1. Worked on Final draft for MXMNet Featurizer.
  2. Link to PR - (https://github.com/deepchem/deepchem/pull/3426)

Progress of Week 6 (July 3rd - July 9th ):

  1. Worked on the suggested changes for MXMNet Featurizer.
  2. Link to PR - (https://github.com/deepchem/deepchem/pull/3426 )
  3. Made a prototype for Global and Local Message Passing Layers for MXMNet Model.

Progress of Week 7 (July 10th - July 16th ):

  1. Merged MXMNet Featurizer PR - https://github.com/deepchem/deepchem/pull/3426
  2. Made a PR for Local Message Passing Layer for MXMNet Model.
  3. Link to PR - (https://github.com/deepchem/deepchem/pull/3480)
  4. Made a PR for Global Message Passing Layer for MXMNet Model.
  5. Link to PR - (https://github.com/deepchem/deepchem/pull/3479)

Progress of Week 8 (July 17th - July 23rd):

  1. Worked on the suggested changes for MXMNetGlobalMessagePassing Layer.
  2. Made PR for changes in existing MultilayerPerceptron Layer to be used as Residual Layer in MXMNet Model.
  3. Link to PR - https://github.com/deepchem/deepchem/pull/3494

Progress of Week 9 (July 24th - July 30th):

  1. Merged changes in existing MultilayerPerceptron Layer.
  2. Link to PR - https://github.com/deepchem/deepchem/pull/3494
  3. Merged _MXMNetEnvelope Layer
  4. Link to PR - https://github.com/deepchem/deepchem/pull/3496
  5. Made PR for MXMNetSphericalBasisLayer
  6. Link to PR - https://github.com/deepchem/deepchem/pull/3499
  7. Made PR for MXMNetBesselBasisLayer
  8. Link to PR - https://github.com/deepchem/deepchem/pull/3497

Progress of Week 10 (July 31st - Aug 6th):

  1. Added docs in MXMNetLocalMessagePasssing Layer and opened it for review.
  2. Link to PR - https://github.com/deepchem/deepchem/pull/3480
  3. Worked on making a prototype for MXMNet Model.

Progress of Week 11 (Aug 7th - Aug 13th):

  1. Merged Global Message Passing Layer for MXMNet Model.
  2. Link to PR - https://github.com/deepchem/deepchem/pull/3479
  3. Merged MXMNetBesselBasis Layer for MXMNet Model.
  4. Link to PR - https://github.com/deepchem/deepchem/pull/3497

Progress of Week 12(Aug 14th - Aug 20th):

  1. Made suggested changes in Local Message Passing Layer for MXMNet Model.
  2. Made suggested changes in MXMNetSphericalBasisLayer for MXMNet Model.

Progress of Week 13(Aug 21st - Aug 27th):

  1. Made a draft PR for MXMNet Model.
  2. Link to the PR - https://github.com/deepchem/deepchem/pull/3545

Progress of Week 14(Aug 28th - Sept 4th):

  1. Made a draft PR for MXMNet Torch Model Class.
  2. Link to the PR - https://github.com/deepchem/deepchem/pull/3550
  3. Merged Local Message Passing Layer for MXMNet Model.
  4. Link to the PR - https://github.com/deepchem/deepchem/pull/3480