TL;DR The new Stan compiler has an alternative backend that allows you to do this:
stan2tfp is a lightwight interface for this compiler, that allows you to do this with one line of code, and fit the model to data with another.
Why stan2tfp In short - to get the convenience of Stan programs and the scalability of TensorFlow. The model is written in Stan, which means you get a lot of the benefits of having the Stan compiler behind your shoulder (types, bounds, etc).