The RNN architecture (Figure ) used in this publication is similar to previous approaches . First an embedding layer with 256 dimensions converts the discrete one-hot-encoded SMILES to a continuous representation. Then 3 layers composed of 512 GRU units comprise the bulk of the network. Lastly, a fully-connected linear layer performs a softmax operation on the output, making the values sum up to one so they can be used as a probability distribution with the same size as the vocabulary. The sampling process of the model is illustrated in Figure . First the "^" token is passed in and the RNN outputs a probability distribution for all the possible tokens. For the next token to be sampled, the RNN requires the previous token and hidden state (memory) to be inputted again.