Releases: chainer/chainer-chemistry
v0.7.1 release
This is the release note of v0.7.1.
Highlights
The paper, “Weisfeiler-Lehman Embedding for Molecular Graph Neural Networks” official implementation (#422, thanks @k-ishiguro !)
- Paper link: https://arxiv.org/abs/2006.06909
- Example: https://github.com/chainer/chainer-chemistry/tree/v0.7.1/examples/molnet_wle
New features
Data
Models
- Neural Network implementations for WLE, CWLE, GWLE (#422)
Examples
- molnet_wle (#422)
v0.7.0
This is the release note of v0.7.0. See here for the complete list of solved issues and merged PRs.
Note that this is planned to be the final major release. As announced in chainer blog, further development will be limited to only serious bug-fixes and maintenance.
Highlights
- Graph Conv Neural Network with Sparse pattern is added & SNS dataset is supported to try big sparse graph data training (#398, thanks @knshnb!)
- See blog (Japasene) and slideshare for further information
- MEGNet, CGCNN model is supported (#396, thanks @nd-02110114!)
Changes that break compatibility
- Use shifted softplus in SchNet (#395)
New features
Models
- SparseRelGCN (#398, thanks @knshnb!)
- SparseGIN (#398, thanks @knshnb!)
- GIN with COO matrix (#398, thanks @knshnb!)
- MEGNet (#396, #405, #409, thanks @nd-02110114!)
- CGCNN (#396, #405, thanks @nd-02110114!)
Dataset
- SNS Dataset support is added to try big sparse graph data
- Citation Network: cora, citeseer (#398, #402, thanks @knshnb!)
- Reddit (#398, #402, thanks @knshnb!)
Dataset class
See table below for usage
Chemical | Network | |
---|---|---|
adjacency matrix | NumpyTupleDataset |
PaddingGraphDataset |
scatter operation | SparseGraphDataset |
SparseGraphDataset |
sparse matmul | not supported | PaddingGraphDataset (use_coo=True) |
Function
- Add shifted softplus (#395)
- Used in SchNet
Examples
v0.6.0
This is the release note of v0.6.0. See here for the complete list of solved issues and merged PRs.
Changes that break compatibility
-
[Big Change] Unify arguments in model, update and readout (#368)
-
return svg text instead of ipython SVG object in
MolVisualizer
andSmilesVisualizer
(#388) -
Support ChainerX (#376)
-
fix typo (#358, Thank you @shllln)
Refactoring:
New features
Model, Link
- Add Message Passing Neural Network(MPNN) (#312)
- Add SparseGGNN (#342, Thank you @ir5)
- Add GNN-FiLM (#386)
- Add GraphWarpModule(GWM) (#321, #340, #368, #372)
- Add GWMGraphConvModel
- Add Graph Isomorphism Network(GIN) (#321, #337, #345, #371, Thank you @TaizoAyase)
Scaler
- FlowScaler (#318)
- Support more than 3-dim array by StandardScaler (#348)
- MinMaxScaler (#351)
- MaxAbsScaler (#350)
Utils
Docker
Development Utils
Bug-fix
- addHs in SchNet preprocess (#390)
- weave preprocessor (#360)
- fix the type of return value from R2ScoreEvaluator (#339)
Tests
v0.5.0
This is the release note of v0.5.0. See here for the complete list of solved issues and merged PRs.
Independent graph convolution layers
New features
Model, Link
-
GGNN: support num_edge_type as argument (#294)
-
Add StandardScaler link (#309)
-
Add GraphMLP (#295)
-
GGNN input size invariant support (#297)
-
NFP input size invariant support (#296)
Functions
- softmax with mask (#306)
Dataset
- Add PDBBind dataset (in MoleculeNet) (#255)
- Add Zinc 250k dataset (#276)
- Add
kekulize
option in preprocessor (#262)
Saliency modules
Utils
- util function for save/load files to json (#303)
Evaluator
- Add R2 score evaluator (#253)
Splitter
- Add time order splitter (#254)
Changes that break compatibility
- always return canonical smiles from parser (#264)
- move
construct_discrete_edge_matrix
tocommon
(#260) - Separate links to modules (#270)
Bug fixes
- Inverse scaling for predicted values (#250, Thank you @kazuyaujihara)
- Fix FutureWarning in
permute_adj
(#277) - report metrics as scalars (#282)
- Rename
device_id
insideBaseForwardModel
for chainer v6 (#280)
Tests
Example
Others
v0.4.0
This is the release note of v0.4.0. See here for the complete list of solved issues and merged PRs.
New features
- MoleculeNet dataset support (#165, #179, #181, #182, #187, #205, #209, #216, #230, #233)
- Examples using the MolculeNet dataset are also provided.
- Settings recommended in the original paper is used.
- Splitter support
- Loss function implementation which deals with NaN
- More evaluators
- More parsers
- Add
return_is_successful
option to parsers (#219 #220) - Add
extract_total_num
(#221) - Add
raise_value_error
toROCAUCEvaluator
(#157)
Changes that break compatibility
- Set default argument for the script option of
examples/own_dataset/train.py
(#171) - Fix indexing behavior in
NumpyTupleDataset
whendata_index
is a list of length 1 (#200) - Modify total count behavior of
SDFFileParser
, which only affects to logging output (#220)
Bug fixes
- Use non-isomeric SMILES (#237, #240)
- Remove NaN value in an adjacency matrix when
out_size
is larger than the number of atoms (#169, Thank you @mihainorariu)
Tests
Support version
- Remove Chainer v2 (#194) and add Chainer v3 from Travis CI tests (#195)
- Freeze RDKit version in Travis CI to 2017.09.3.0 (#227)
- Add description of supported library versions (#232)
Example
- Model Evaluation script
- Tox21 (#147)
- QM9 (#189, #225, #226 Thank you @mihaimorariu)
- Remove
InferenceLoop
from the Tox21 example (#184, #222) - Remove conditional import of
Classifier
from the Tox21 and QM9 examples (#185)
Others
- Change assertion messages for preprocessors (#162, Thank you @mihaimorariu)
- Fix typo in
datasets/qm9.py
(#176, Thank you @natsukium) - Retrieve version number in setup.py without imp (#198)
- Add .pytest_cache to .gitignore (#199)
- Fix document formats (#218)
v0.3.0
New features
- Classifier (#124, #137, #151), supports
predict
,predict_proba
methods - Regressor (#129, #137, #151), supports
predict
method - BaseForwardModel (#137, #151) and add
save_pickle
andload_pickle
to it (#139) - Add
target_index
toparse
method ofCSVFileParser
andSDFFileParser
(#131) - Add
extract_total_num
toCSVFileParser
andSDFFileParser
(#131) - Add
target_index
option toget_qm9
(#131) - Add
train_target_index
,val_target_index
, andtest_target_index
toget_tox21
(#131) - Add
dropout_ratio
toRSGCN.__init__
(#146).
Changes that break compatibility
chainer_chemistry.dataset.preprocessors.weavenet_preprocessor.DEFAULT_NUM_MAX_ATOMS
has been removed. Usechainer_chemistry.WEAVE_DEFAULT_NUM_MAX_ATOMS
instead (#127).
Bug fixes
- Fix the behavior of
concat hidden
argument of GGNN (#117, #118) - Fix the order of transpose of GGNN (#143)
- It was a serious bug that degraded the performance of GGNN. (Thank you @ir5 for the bug report!)
- Fix examples to run with Python 2.7 (#144) (Thank you @mihaimorariu)
Example
- Add an example of using own dataset (#114)
- Add an example of Classifier (include saving model by pickle) using Tox21 dataset (#124, #125, #136, #141, #152, #156)
- Add prediction script to the QM9 example (#140)
- Add an example of Regressor (include saving model by pickle) using QM9 dataset (#129, #152, #156).
Others
- Improve document of concat_mols (#116)
- Import without installing RDKit (#119, #123)
- Add introductory slide to README (#130)
- Speed up example test scripts (#132)
- Add tests that check invariance of Graph CNN under graph isomorphism (#145)
- Add tests of
RSGCN
(#146) - Remove import of matplotlib (#148)
- Add a comment on model portability (#150)
- Apply flake8 (#155)
Also thank you @mihaimorariu (#144) and @ir5 for the implementation, documentation, bug report and example improvements!
v0.2.0
This is the release of v0.2.0.
New features
- Add
RSGCN
(Renormalized Sepectral Graph Convolutional Network) (#89 thank you @anaruse!) - Add
BalancedSerialIterator
for imbalanced data training (#59) - Add
ROCAUCEvaluator
for binary classification task evaluation (#62) - Add
self_connection
option inconstruct_adj_array
(#100)
Changes that break compatibility
return_smiles
returnnumpy.ndarray
, instead oflist
(#79)csv_file_parser.parse
andsdf_file_parser.parse
methods returndict
that contains dataset and smiles, instead variable lengthtuple
(#94)
Bug fixes
- QM9 dataset ordering (#107)
Example
- Support
SchNet
inference example in tox21 example (#103) - Add
RSGCN
example in QM9, tox21 example (#89, #104) - Add
BalancedSerialIterator
,ROCAUCEvaluator
sample usage in tox21 example (#60, #62)
Others
- Dataset exploration notebook in QM9, tox21 example (#78)
- Add many tests.
Also thank you @amaotone (#50), @kazuyaujihara (#85), @msakai (#88) and @anaruse (#89) for the implementation, documentation and example improvements!
v0.1.0
This is the first release of Chainer Chemistry.
- Github repository: https://github.com/pfnet-research/chainer-chemistry
- Document: http://chainer-chemistry.readthedocs.io/en/latest/
We will follow Semantic Versioning 2.0.0, which means any API can change at anytime until Version 1.