Computational Methods For Deep Learning