Official implementation of our Junction Tree Variational Autoencoder https://arxiv.org/abs/1802.04364
In this fork the code is updated to run with Pyhon 3 and a newer version of PyTorch.
We have accelerated our code! The new code is in fast_jtnn/
, and the VAE training script is in fast_molvae/
. Please refer to fast_molvae/README.md
for details.
- Linux (We only tested on Ubuntu)
- RDKit (version == 2017.09) ... with newer rdkit you need to recalculate the vocabulary and retrain the models
- Python (version == 3.6)
- PyTorch (version >= 1.3.1)
- tqdm
To install RDKit, please follow the instructions here http://www.rdkit.org/docs/Install.html
We highly recommend you to use conda for package management.
The following directories contains the most up-to-date implementations of our model:
fast_jtnn/
contains codes for model implementation.fast_molvae/
contains codes for VAE training. Please refer tofast_molvae/README.md
for details.
The following directories provides scripts for the experiments in our original ICML paper:
bo/
includes scripts for Bayesian optimization experiments. Please readbo/README.md
for details.molvae/
includes scripts for training our VAE model only. Please readmolvae/README.md
for training our VAE model.molopt/
includes scripts for jointly training our VAE and property predictors. Please readmolopt/README.md
for details.jtnn/
contains codes for model formulation.
Wengong Jin (wengong@csail.mit.edu)