Skip to content
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

Daily Standup July #3

Closed
10 of 15 tasks
nissy-dev opened this issue Jun 29, 2020 · 9 comments
Closed
10 of 15 tasks

Daily Standup July #3

nissy-dev opened this issue Jun 29, 2020 · 9 comments

Comments

@nissy-dev
Copy link
Owner

nissy-dev commented Jun 29, 2020

Summary

JAXChem

In July, I was mainly working for the example notebook and the documentation. Firstly, I made the Tox21 example notebook with Google Colab. The content of this notebook is how to install the JAXChem, how to use a model of the JAXChem, how to train a model and so on. Google colab doesn't require the hard work of building the environment, so I think this is really useful for newcomers. And then, I made the JAXChem documentation and deployed to readthedocs.org.

In addition to this, I tried to refactor the sparse pattern model using jax.ops.segment_sum method in order to fix the performance issue. The reason I thought segment_sum method may solve the performance issue is the jax.ops.segment_sum is used in the GNN model of flax which google develops as a neural network library for JAX. But, this modification didn't resolve the problem because jax.ops.segment_sum method use jax.ops.index_add internally. I will continue to work for resolving this problem.

What I did

DeepChem

In July, I was mainly working for the nightly-build package and new dataclass for graphs. Firstly, I fixed the nightly-build installation guide and CI scripts. And then, after I improved the type annotation in deepchem.utils, deepchem.dock and deepchem.hyper, I implemented the new dataclass for graphs. Currently, DeepChem has specific data classes for each model (like ConvMol <- GraphConvModel), so I think this is not good situation considering about the maintainability or compatibility to PyG or DGL. (see the details deepchem/deepchem#1942) Now I'm working for the CGCNN support using the new dataclass for graphs.

What I did

Next plan (during final evaluation period)

In August, I will continue to work for implementing the CGCNN model and the PyG or DGL support for DeepChem. This plan is different from the original plan, but I think this is a really useful for many newcomers which want to try ML with chemistry. And then, I will restart to work for JAXChem after finishing this crystal support.

@nissy-dev nissy-dev changed the title Daily standup July Daily Standup July Jun 29, 2020
@nissy-dev
Copy link
Owner Author

nissy-dev commented Jul 2, 2020

7/2

Yesterday

I write evaluations and issues. deepchem#8, deepchem/deepchem#1941, deepchem/deepchem#1942

Today

I will make a notebook example

blockers

I think it is no bockers.

@nissy-dev
Copy link
Owner Author

nissy-dev commented Jul 4, 2020

7/4

Yesterday

I mad the notebook example

Today

I will write the blog post based on this comment #1 (comment).

blockers

I think it is no bockers.

@nissy-dev
Copy link
Owner Author

7/7

Yesterday

I posted the blog!
https://forum.deepchem.io/t/gsoc-brief-report-during-1st-evaluation-period/201

Today

I will build the documents using sphinx.

blockers

I think it is no bockers.

@nissy-dev
Copy link
Owner Author

7/8

Yesterday

I built the document using sphinx.

Today

I'll host the document using the https://readthedocs.org/.
And, I'll start looking into the Material Project Dataset support.

blockers

I think it is no bockers.

@nissy-dev
Copy link
Owner Author

nissy-dev commented Jul 9, 2020

7/9

Yesterday

I hosted the document using the https://readthedocs.org/.
Link : https://jaxchem.readthedocs.io/en/latest/

Today

I'll fix the deepchem installation docs and review some PRs.
And, I'll start looking into the Material Project Dataset support.

blockers

I think it is no bockers.

@nissy-dev
Copy link
Owner Author

nissy-dev commented Jul 13, 2020

7/13

Yesterday

I didn't work in 7/11, 7/12

Today

I will refactor the sparse pattern GCN. Currently, JAXChem uses the jax.ops.index_add for aggregating the neighbor nodes and this leads to a bad performance.

But, two day ago, I found the flax has the example of sparse GCN model. (it includes MPNN!) The flax uses the jax.ops.segment_sum . jax.ops.segment_sum is a almost same as the torch-scatter, I think it is better to use the jax.ops.segment_sum. (torch-scatter is used in PyG) And, I will try to implement the MPNN.

Flax GCN example : https://github.com/google/flax/blob/9cc9b042c52f394464a2f292f6764e1e2836a01a/examples/graph/models.py

About the Material Project Dataset support, I seem that Nathan is working hard deepchem/deepchem#1999. So, after Nathan added the new materials datasets to molnet, I will try to implement the CGCNN.

blockers

I think it is no bockers.

@nissy-dev
Copy link
Owner Author

nissy-dev commented Jul 16, 2020

7/16

Yesterday

I refactor the sparse pattern GCN using jax.ops.segment_sum The PR is deepchem#15
This modification didn't solve the issue because jax.ops.segment_sum also uses jax.ops.index_add internally...

Today

I implement the new molecule graph data and refactor some featurizers and ci scripts.
After merging these PRs, I will make the new graph model featurizers using them

blockers

I think it is no bockers.

@nissy-dev
Copy link
Owner Author

nissy-dev commented Jul 20, 2020

7/18

Yesterday

In a few days, I improved the type annotation and keep codes more healthy. But, these works are not related to jaxchem... So, I am regretting my actions....

Today

In this week, I will focus on the CGCNN support. I will implement the CGCNN featurizer and molnet function for Materials Project Data.

My GSoC goal is supporting inorganic crystal data for DeepChem and fixing the sparse pattern models.

blockers

I think it is no bockers.

@nissy-dev
Copy link
Owner Author

7/23

Yesterday

In a few days, I couldn't work for GSoC because of my research work....

Today

Today, I added the CGCNN featurizer using new graph data class.

My GSoC goal is supporting inorganic crystal data for DeepChem and fixing the sparse pattern models.

blockers

I think it is no bockers.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant