Now that you have seen how to implement a perceptron from scratch in Python and have understood the concept, we can use a library to avoid re-implementing all of these algorithms. Luckily, there are plenty of libraries that make it possible for us to focus on the architecture and the composition of the network without having to lose time in too many implementation issues.
In particular, the main breakthrough of the last decade, and what has made the deep learning evolution so rapid, is the use of graphics cards. In particular, NVIDIA created CUDA, a programming interface that made it possible to use all of the power of modern Graphical Processing Unit (GPU) for general programming. A GPU is a piece of hardware primarily designed to render images; it contains a much higher number of cores compared to a CPU, but these cores are only capable of performing simple operations...