Author: Bethany Lusch, combining and adapting materials evolved over time by Asad Khan, Prasanna Balaprakash, Taylor Childers, Corey Adams, Kyle Felker, and Tanwi Mallick
This tutorial covers the basics of neural networks (aka "deep learning"), which is a technique within machine learning. We will learn about the mathematics of neural networks by building them "by hand." In next week's tutorial, we will learn about how to use the higher-level functions in the Python module TensorFlow.
We'll start with an image classification problem in this notebook: Fitting MNIST with a multi-layer perceptron (MLP)
- If you are using ALCF, first log in. From a terminal run the following command:
-
Although last week we cloned the repo, you'll want the updated version. To be reminded of last week's instructions for syncing your fork, click here.
-
Now that we have the updated notebooks, we can open them. If you are using ALCF JupyterHub, you can be reminded of the steps here.
-
Change the notebook's kernel to
conda/2022-07-01
(you may need to change kernel each time you open a notebook for the first time):- select Kernel in the menu bar
- select Change kernel...
- select conda/2022-07-01 from the drop-down menu
Here are Asad Khan's recommendations for further reading:
- tensorflow.org tutorials
- keras.io tutorials
- CS231n: Convolutional Neural Networks for Visual Recognition
- Deep Learning Specialization, Andrew Ng
- PyTorch Challenge, Udacity
- Deep Learning with Python
- Keras Blog
And Bethany's personal favorite: a thorough hands-on textbook: book with notebooks.