AI‐24sp‐2024‐04‐11‐Afternoon - TheEvergreenStateCollege/upper-division-cs-23-24 GitHub Wiki
- Work with your partner on the assigned prototype below.
- Finish typing from the Mike Nielsen notes into
network.py
and theload_mnist.py
- Download the MNIST data from Yann Lecun's website again if you don't have it on this workspace.
- Load the training data and begin training a model on your neural network.
We will continue typing and updating the MNIST Classifier from Mike Nielsen's notes. You will be assigned a random prototype from the list below:
- prototype-01
- @
- @nathanMCL
- prototype-02
- @AkinaSS
- @DawsonWhi
- prototype-03
- @AbyssalRemark
- @whereismyprozac
- prototype-04
- @ddnsc
- @Ryan-Geiser
- prototype-05
- Needs to be created from scratch
- @JulianC
- @Gavin-Bowers
- prototype-06
- Needs to be created from scratch
- @pointmeathesky
- prototype-07
- @deo2E
- @faulkdf
- prototype-08
- @emoleary
- @kvothethm
- prototype-09
- @MrTimmyJ
- @ndeanon25
- prototype-10
- @EvergreenSpock
- @zimbabwe1
- prototype-11
- @JonahEadieEvergreen
- @rilesbe
-
Start your GitPod workspace, or open your laptop to your locally cloned
upper-division-cs
on themain
branch, to a clean working directory. -
Change to your assigned prototype directory and gauge how far along it is, and what you can add to it today. Read the
README.md
file.
cd <repo_dir>/ai-24sp/prototypes/prototype-xx
- If you need to, re-download the MNIST data from Yann Lecun's website following Week 01 Afternoon's notes.
Extract the data so the files end in *ubyte
and not *.gz
- Install two Python libraries
pip3 install numpy pillow
- Run
load_mnist.py
and make sure that it creates one filemnist.png
that you can view in VSCode.
$ python3 load_mnist.py
-
Finish typing
network.py
from the Mike Nielsen notes. -
Add a function to
load_mnist
to load all images, reshape them as Numpy arrays, and zips them together with labels.
We will do this part on screen together in lab.
...
-
Add a function to import
network
and instantiate a neural network with the training and validation data in the expected format. -
Run
load_mnist
again. You should see epoch training messages.
Epoch 0: 9129 / 10000
Epoch 1: 9295 / 10000
Epoch 2: 9348 / 10000
...
Epoch 27: 9528 / 10000
Epoch 28: 9542 / 10000
Epoch 29: 9534 / 10000
- Stretch Goal: Save the trained model (weights and biases) as a Python3 pickled object, so that we can see its file size, and you can ship it to another team next week.