化学VAE项目开源教程
1. 项目介绍
本项目是基于变分自编码器(VAE)的开源项目,用于处理化学分子结构的SMILES表示。VAE能够将SMILES编码为一个向量表示,并可以从该向量解码回SMILES。此外,VAE还可以与属性预测任务联合训练,以优化潜在空间,进而发现具有最优属性的分子。本项目使用了ZINC数据集,并在预测logP、QED和SAS属性时对潜在空间进行优化。
2. 项目快速启动
首先,确保您的环境中安装了以下依赖项:
- Python 3.5或更高版本
- Keras 2.0.0至2.0.7版本
- Tensorflow 1.1版本
- RDKit
- Numpy
- Jupyter Notebook(用于运行ipynb示例)
创建虚拟环境
conda env create -f environment.yml
source activate chemvae
安装项目:
python setup.py install
或者使用pip:
pip install git+https://github.com/aspuru-guzik-group/chemical_vae.git
运行VAE
在包含exp.json
的目录下运行以下命令:
python -m chemvae.train_vae
确保复制示例目录,以避免覆盖训练好的权重文件(*.h5
)。
3. 应用案例和最佳实践
示例:ZINC数据集
本项目包含一个如何使用VAE处理ZINC数据集的示例。查看zinc
目录,参数设置在以下json文件中:
exp.json
:设置数据位置、实验参数、训练轮数、预测属性等。params.json
:可以覆盖exp.json
和hyperparameters.py
中的参数设置。
设置完参数后,使用上述命令启动VAE训练。
4. 典型生态项目
本项目的生态系统中包括了以下组件:
train_vae.py
:训练VAE的主脚本。models.py
:包含编码器、解码器和属性预测模型的库。tgru_k2_gpu.py
:包含自定义教师强制/采样功能的keras层。sampled_rnn_tf.py
:为tgru_k2_gpu.py
编写的自定义RNN函数,基于tensorflow后端。hyperparameters.py
:VAE的一些默认参数设置。mol_utils.py
:用于将SMILES转换为one-hot编码和反向转换的库。mol_callbacks.py
:train_vae.py
中使用的回调库。vae_utils.py
:用于VAE对象的后期处理工具函数。
以上就是关于化学VAE项目的开源教程,希望能够帮助您快速上手并有效地使用该项目。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考