Chemperium critical temperature (2D), PyTorch port
A ten-model ensemble that predicts the critical temperature (K) of a molecule from its SMILES. The weights are the published Chemperium liquid/tc/2d ensemble by Dobbelaere et al. They were converted unchanged from Keras to PyTorch safetensors.
All credit for the model, training data and weights goes to the original authors:
- Code: mrodobbe/chemperium, commit
fad4f30a83de75c5eae3473a9b116064d2c8b18c(MIT licence, seeLICENSE). - Trained models and data: Zenodo 10.5281/zenodo.11409710 (CC BY 4.0).
@ARTICLE{Dobbelaere2024,
title = "Geometric Deep Learning for Molecular Property Predictions with Chemical Accuracy Across Chemical Space",
author = "Dobbelaere, Maarten R and Lengyel, Istvan and Stevens, Christian V and Van Geem, Kevin M",
journal = "Submitted",
year = 2024
}
What was changed
Nothing scientific. The ten Keras HDF5 checkpoints were read with h5py, and every weight was copied unchanged (float32, Keras (in, out) kernel layout). The pickled MinMaxScaler was written out as plain JSON in scaler.json. config.json records the architecture and the SHA-256 of every source file. The conversion script is dev/convert_chemperium.py in screening-properties.
reference/tensorflow_reference.json contains the predictions of the original TensorFlow implementation for 280 SMILES ([Tc_K, ensemble_sd_K], or null where the molecule is outside the model's range). The PyTorch port reproduces all 278 predictions within 1.2e-4 K (2.3e-7 relative).
Files
| File | Content |
|---|---|
model_0.safetensors โฆ model_9.safetensors |
ensemble members |
config.json |
architecture, member list, provenance |
scaler.json |
output min-max scaling (K) |
Use
The model is used by screening-properties (the property package of the ScreeningTool process-screening framework), which downloads this repository at a pinned revision and checks every file's SHA-256.
from screening_properties import get_properties, Component
props = get_properties([Component("my-compound", smiles="CCOC(=O)C")], properties=["critical_temperature"], required=[])
The value is the mean of the ensemble, and the reported uncertainty is the ensemble standard deviation, which is not a calibrated confidence interval. Molecules with 75 or more bonds (counting explicit hydrogens) are not predicted.
- Downloads last month
- -