Master's Degree in Big Data analysis and engeneering. Assignment 1 of the Deep Learning course.
The jupyter notebook file features all three implementations and very detailed explanations. The python ones also include all implementations separated into individual files.