There are many Machine Learning libraries in the wild. Which should I use and what are the differences?
Most of the current frameworks are using so-called computational graph. In these libraries, you first need to define the graph and then you need to create a data pipeline in which the data is processed using the graph. These are frameworks like Tensorflow. Other frameworks construct these graphs during runtime. This is not as efficient, but it allows for flexible code. For more information, definitely see this article on Chainer (which fits into the last category).