Skip to content

Releases: chainer/chainer-chemistry

v0.7.1 release

17 Aug 03:29
1577aef
Compare
Choose a tag to compare

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 !)

New features

Data

  • WLE (Weisfeiler-Lehman Embedding) preprocessing support (#422)
  • DeepChemScaffoldSplitter (#422)

Models

  • Neural Network implementations for WLE, CWLE, GWLE (#422)

Examples

v0.7.0

10 Dec 09:38
56e83de
Compare
Choose a tag to compare

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!)
  • MEGNet, CGCNN model is supported (#396, thanks @nd-02110114!)

Changes that break compatibility

  • Use shifted softplus in SchNet (#395)

New features

Models

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

  • network_graph example is added for cora, citeseer, reddit dataset training (#398, thanks @knshnb!)

v0.6.0

11 Sep 07:49
45a6489
Compare
Choose a tag to compare

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 and SmilesVisualizer (#388)

  • Support ChainerX (#376)

  • fix typo (#358, Thank you @shllln)

Refactoring:

  • Separate links to modules (#270, #301, #305)
    • This is for users to define their own network easily.

New features

Model, Link

Scaler

  • FlowScaler (#318)
  • Support more than 3-dim array by StandardScaler (#348)
  • MinMaxScaler (#351)
  • MaxAbsScaler (#350)

Utils

  • GraphConvPredictor (#317)
  • set_up_predictor (#336)
  • AutoPrintReport (#373)
  • Train Utils (#382)

Docker

Development Utils

  • typing module (#331)
  • document checker (#332)

Bug-fix

  • addHs in SchNet preprocess (#390)
  • weave preprocessor (#360)
  • fix the type of return value from R2ScoreEvaluator (#339)

Tests

v0.5.0

07 Feb 09:01
5e01e1a
Compare
Choose a tag to compare

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

  • Separate links to modules (#270, #301, #305)
    • This is for users to define their own network easily.

New features

Model, Link

  • Add RelGCN (#269, #316)

  • Add RelGAT (#217, #299, #302, #315)

  • 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 to common (#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 inside BaseForwardModel for chainer v6 (#280)

Tests

  • Improvements on daily test (#243)
  • Improvements on slow preprocessor test (#263)

Example

  • Add example for own dataset (#249)
  • update shell script for examples (#266, #273, #275)
  • QM9
    • Scale output labels in QM9 example (#256)
    • Evaluate each label separately (#314)

Others

  • Fix documents (#241, #242)
  • Support features indexer with length 0 (#246)
  • Update README (#265)
    • Fix rdkit version (#247)
    • Add research projects list (#248)

v0.4.0

19 Jul 09:53
2bb749a
Compare
Choose a tag to compare

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
    • RandomSplitter (#196)
    • StratifiedSplitter (#201)
    • ScaffoldSplitter (#202)
  • Loss function implementation which deals with NaN
    • mean_squared_error (#190)
    • mean_absolute_error (#193)
  • More evaluators
    • BatchEvaluator (#210)
    • PRCAUCEvaluator (#210)
  • More parsers
  • Add return_is_successful option to parsers (#219 #220)
  • Add extract_total_num (#221)
  • Add raise_value_error to ROCAUCEvaluator (#157)

Changes that break compatibility

  • Set default argument for the script option of examples/own_dataset/train.py (#171)
  • Fix indexing behavior in NumpyTupleDataset when data_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
  • 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

24 Apr 10:10
8efb38a
Compare
Choose a tag to compare

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 and load_pickle to it (#139)
  • Add target_index to parse method of CSVFileParser and SDFFileParser (#131)
  • Add extract_total_num to CSVFileParser and SDFFileParser (#131)
  • Add target_index option to get_qm9 (#131)
  • Add train_target_index, val_target_index, and test_target_index to get_tox21 (#131)
  • Add dropout_ratio to RSGCN.__init__ (#146).

Changes that break compatibility

  • chainer_chemistry.dataset.preprocessors.weavenet_preprocessor.DEFAULT_NUM_MAX_ATOMS has been removed. Use chainer_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

01 Mar 10:19
9d396e9
Compare
Choose a tag to compare

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 in construct_adj_array (#100)

Changes that break compatibility

  • return_smiles return numpy.ndarray, instead of list (#79)
  • csv_file_parser.parse and sdf_file_parser.parse methods return dict that contains dataset and smiles, instead variable length tuple (#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

14 Dec 10:59
4c8a009
Compare
Choose a tag to compare

This is the first release of Chainer Chemistry.

We will follow Semantic Versioning 2.0.0, which means any API can change at anytime until Version 1.