LMucko/qm9
QM9 (characterized molecules) This dataset contains the 130,831 characterized molecules in QM9. The release has 133,885 molecules; the canonical 3,054 uncharacterized entries are listed in uncharacterized.txt and excluded here. Each row has three columns: atoms: atomic numbers (list<uint8>) coords: centered/PCA-aligned Cartesian coordinates (list<list<float16>>) metadata: a typed nested struct with identifiers, atom symbols, bond indices, bond orders, canonical SMILES… See the full description on the dataset page: https://huggingface.co/datasets/LMucko/qm9.
QM9 (characterized molecules)
This dataset contains the 130,831 characterized molecules in QM9. The release has 133,885 molecules; the canonical 3,054 uncharacterized entries are listed in uncharacterized.txt and excluded here.
Each row has three columns:
atoms: atomic numbers (list<uint8>)coords: centered/PCA-aligned Cartesian coordinates (list<list<float16>>)metadata: a typed nested struct with identifiers, atom symbols, bond indices, bond orders, canonical SMILES, atom/bond counts, RDKit validity, and all 19 QM9 scalar properties
The splits use the EDM convention from Hoogeboom et al.: NumPy seed 0, with 100,000 training, 17,748 validation, and 13,083 test molecules. QM9 itself does not define a canonical split.
Load
from datasets import load_dataset
data = load_dataset("LMucko/qm9")
data["train"][0]
data["validation"][0]
data["test"][0]Rebuild
uv run build_qm9_metadata_parquet.pyThe script downloads the canonical QM9 archive into data/qm9_source/ and writes data/train.parquet, data/validation.parquet, and data/test.parquet.
