Machine learning problems with structured output spaces, such as generating from a context-free grammar, are difficult to represent in current deep learning frameworks. These frameworks let a user specify the neural network architecture for scoring a single output, but not the output space itself, which makes structured prediction difficult to express. In this talk, we describe probabilistic neural programs, an open-source Scala library for structured deep learning that lets a user specify both the architecture and output space in a simple, elegant form. This framework lets users rapidly implement, train, and run a variety of state-of-the-art structured prediction models that would be difficult or impossible to implement with other tools. We’ll demonstrate how the framework can be used to tackle an example structured prediction problem.