libmolgrid: GPU Accelerated Molecular Gridding for Deep Learning
  Applications
  There are many ways to represent a molecule as input to a machine learning
model and each is associated with loss and retention of certain kinds of
information. In the interest of preserving three-dimensional spatial
information, including bond angles and torsions, we have developed libmolgrid,
a general-purpose library for representing three-dimensional molecules using
multidimensional arrays. This library also provides functionality for composing
batches of data suited to machine learning workflows, including data
augmentation, class balancing, and example stratification according to a
regression variable or data subgroup, and it further supports temporal and
spatial recurrences over that data to facilitate work with recurrent neural
networks, dynamical data, and size extensive modeling. It was designed for
seamless integration with popular deep learning frameworks, including Caffe,
PyTorch, and Keras, providing good performance by leveraging graphical
processing units (GPUs) for computationally-intensive tasks and efficient
memory usage through the use of memory views over preallocated buffers.
libmolgrid is a free and open source project that is actively supported,
serving the growing need in the molecular modeling community for tools that
streamline the process of data ingestion, representation construction, and
principled machine learning model development.
