Machine Learning resources:
A classic starting point is Andrew Ng’s course (although the assignments are expected in Matlab/Octave): https://www.coursera.org/learn/machine-learning and http://cs229.stanford.edu/
Github repos from workshops:
- ALCF workshop – https://github.com/brettin/ml_tutorials
Specifically for Neural networks/Deep learning:
- Text book on Deep Learning by Ian Goodfellow, Yoshua Bengio and Aaron Courville. Freely available: http://www.deeplearningbook.org/
- Stanford CS231 course on Convolutional neural networks by Fei-Fei Li and Andrej Karpathy: https://cs231n.github.io/ (Video Lectures: https://www.youtube.com/playlist?list=PLkt2uSq6rBVctENoVBg1TpCC7OQi31AlC)
- Free online book by Michael Nielsen: http://neuralnetworksanddeeplearning.com/
- Andrew Ng’s new Deep Learning Specialization on coursera: https://www.coursera.org/specializations/deep-learning
- scikit-learn: python library that provides a range of machine learning tools – not only supervised and unsupervised learning methods, but also for pre-processing pipelines, validation etc. Not intended for deep learning framework. No GPU support.
- TensorFlow/Theano: popular python libraries for deep learning. Both have GPU support. Theano is one of the oldest libraries for deep learning. TensorFlow is newer, faster, and has a guaranteed support from Google.
- Keras (https://keras.io/): a user-friendly python wrapper around Theano and Tensorflow – it has a modular structure and a ‘pythonic’ interface. Recommended for fast prototyping deep networks. But for higher functionalities and advanced computations, one may have to use TensorFlow/Theano.
Blogs regarding algorithms and implementation: