Dataset and preprocessing. For our experiments we use the QM9 small molecule dataset . QM9 contains 133k molecules with at most 9 heavy atoms (C, N, O, F) provided in SMILES representation. Following the example of Liu et al. , each molecule is kekulized using the popular chemoinformatics toolkit RDKit . We then generate the atom matrices and bond tensors for each molecule by encoding each atom and bond using a one-hot scheme. Atom matrices (A) for molecules with fewer than 9 heavy atoms are padded with a "dummy" atom giving A ∈ R 9x5 . The bond tensors (B) are supplemented with an additional channel representing no bonds between atoms and dequantized by adding uniform random noise (ϵ ∼ U [0, 0.6]) giving B ∈ R 4x9x9 .