A vertex-and edge-labeled graph (vertices = atoms, edges = bonds, vertex label = element, edge label = bond order) is a fundamental representation of the concept of a small molecule . However, because classical machine learning algorithms operate in a Euclidean vector space, much research is devoted to the design of fixed-size, information-rich vector representations of molecules that encode their salient features . Many molecular fingerprinting methods extract topological features from the molecular graph to produce a "bag of fragments" bit vector representation of the molecule . For example, Molecular ACCess System (MACCS) structural key fingerprints of a molecular graph are bit vectors indicating the presence or absence of a pre-defined list of subgraph patterns. Other hand-crafted molecular feature vectors include chemical, electronic, and structural/shape (3D) properties of the molecule as well .