Welcome to an introduction to PyTorch hosted by Expero and Agile!
Your instructor today is Graham Ganssle. Please don't hesitate to get up and scribble a question on the whiteboard!
Before you begin, you should have the following installed:
And, optionally:
When you leave today you should know how to build and train simple PyTorch models. We'll build a neural network in the course today, which is not the only model type PyTorch is capable of representing. In fact, the library is full of goodies which you should play with at home after this course! Here's what we'll be working on today in chronological order:
-
Tensors - what are they?
-
Gradients - how do gradients play a role in the world of deep learning?
-
Optimization - how to use tensors (1.) and gradients (2.) to find function extrema.
-
Neural networks (regression) - we'll train a neural network to approximate a continuous, differentiable function.
-
Neural networks (classification) - we'll train a neural network to tell us a rock type based on the chemical composition of a sample.
This repo contains a TON of code. We'll run things in the following order:
nb/1.0-Tensors-Gradients-Optimization.ipynb
nb/2.0-Simple-Neural-Network.ipynb
dat/scrape.sh
dat/data_prep.ipynb
nb/3.0-Simple-Neural-Network_realData.ipynb
The data we've used in this repo comes from GEOROC.