

These Tensor-based networks allow for networks of computations instead of networks of layers, and have proven to be more flexible for modern deep learning models. This was popular for a while, until it started being replaced by more modern Tensor-based variants. It was supplanted by Torch, Facebook's framework for Lua. With plenty of tutorials, good documentation, and a binding for Python, it's a solid choice. In the Deep Learning space, several frameworks have risen to prominence only to gradually lose ground to the "next big thing." It's hard to say who has the best framework, and a lot of it right now comes down to choices about whether it supports your current and expected needs, whether it runs on your platform, and whether you can code to it in a language you enjoy.Ĭaffe is one of the elders of the field, and with their "Model Zoo" of pre-trained models makes a compelling case for continued usefulness. Machine Learning has been around for a long time and there are dozens of frameworks out there written in everything from low-level C code to AzureML.

In this post, I'll walk you through how to get one of the most popular toolkits up and running on Windows, and run through and explain some fun examples. For a more detailed and far more eloquent history of the field, see NVidia's great post. At this point, we know they are powerful, but we don't really know how powerful they can get, and the field is wide open for advancement. Since then, networks have only gotten deeper (more hidden layers) and their shapes have only gotten stranger (convolutional neurons, feedback loops, and layer skipping). Someone realized that with the amount of data we now have and the compute resources available to us, these constraints no longer applied and these older networks were brought back. We had seen Neural Networks with multiple hidden layers in the past, but training them was so expensive and they didn't seem to outperform other techniques that they'd been discarded. With the advent of Big Data, we suddenly have incredibly large sets of input data we could feed to these models, and with the increasing power of GPUs we have the compute capacity to do so. "which digit is this?") through the use of a "hidden layer" that mapped between the two. People have known for some time that a particular Machine Learning technique - Neural Networks - has the capability to learn complex mappings from inputs (e.g.

There are many tutorials and write-ups on these techniques online, so I won't go too deep, but I'll lay out the basics. Deep Learning is a relatively new set of techniques in the field of Machine Learning that have shown the power to generalize well over a whole host of problems, and even solve some problems that were considered unsolvable just a few years before.
