Thanks for an awesome lecture,.
Here is a rough outline of the topics mentioned. This can perhaps be wikified (@jeremy ) and people can add more notes.
- Welcome
- notebook tuorial
- mentioning jupyter notebooks
- you can do deep learning. mentioning course-v3.fast.ai and forums
- jeremy introduces himself
- makaing deep learning accessible
- about the 7 lessions,
- 10h/week
- about deep learning, claims about deep learning, black box, needs data etc
- what can you do after lecture 1
- baseball/cricket
- Start by looking at code
- opening jupyter notebook, lesson 1
- about the library
- docs.fast.ai
- pytorch
- vision, nlp, tabular, collaborative data
- import * enables you to tab complete
- looking at data and the datasets
- pet dataset
- fine grained classification
- url constants in fastai
- python 3 slash pathlib
- what do you do with a new dataset
- how do we get the labels
- imagedatabunch
- from_name_re
- about sizes
- ImagrDataBunch object
- normalize
- q: what does the fn do if img size is not 224
- q: what does it mean to normalize images
- mean 0, standard deviation 1 on all color channels
- q: isnt 256 size more practical --> 7x7
- looking at your data: data.show_batch
- label names are claled classes
data.classes
data.c
= number of classes, for vision- training a model - using a learner
- 2 things: databunch / model, arch
- starting with resnet 34 since faster, later 50, start with the smaller one and see if it is good enough
- list of
metrics
, things that gets printed out as it is training, error rate etc - imgnet weights, transfer learning
- 30 example enough
- overfitting
- validation set
learn.fit_one_cycle
- shift tab to see definition
- 4 times how many times do we go through the dataset (overfitting vs pets in general)
- looking at the paper, comparing the solution to the 2012 state of the art
- starting
- 3-4 lines of code smashed state of art
- feedback: fell into habit of googling without running the code, regret spent 70h didnt run code So spend time running the code
- looking at what came out of the learner
- about fast.ai platform
- docs.fast.ai
- comparing dogs vs cats table fastai resnet34, fastai resnet50 Keras
- when we can pick a good default w do it for you
- how far can you take it, nlp example featured in wired
- github: “natural language semantic code search”
- forums
- today: image classification
- next 7 weeks deeper
- where does it take you: sarah hooker example, delta analytics, mobile phones to listen to chainsaw noises, alerting rangers to stop deforestation, she is now a google brain researcher, setting up google brain research center in africa
- chrisitine MLeavey Payne at openai, music samples, automatically create chamber music compositions, classical pianist
- advice:pick one project, do it really well and make it fantastic
- apply your skills in your domain
- alex, overfitting, combinding radiology skills: combine your domain expertise
- alex, overfitting, combinding radiology skills: combine your domain expertise
- Melissa Fabros, helped Kiva, a microlending lending to build a system to recognize faces (also black women and not only white men)
- Envision, help blind people to understand the world around them
- the course can get you to the cutting edge, example world record in image net with $40 of compute
- helena saren, @glagolista a new style of art combines her paintings with GANs
- kanye pictures, style transfer, job at aws
- splunk: algorith mafter lesson 3, indentify fraud
- hotdog not hotdog, emmy nominated
- forum threads can turn into to something great, language model zoo, lots of different languages => academic comptetition, thai, german state of the art, done by students working together on the forum
- dont be intimidated, you can feel like you are the only new person. you get state of the art, i cant start my server… don’t be shy, provide info, everyone on the forum started out intimidated
- q: why are you using resnet vs inception: resnet good enough, inception memory intesinve, it is ok
- code: train model, generates weights
learn.save
- Results, what comes put
interp = ClassificationInterpretation.from_learner(learn)
plot_top_losses
: how good was your predictiondoc()
similar to help, outputs “show in docs” link- confusion matrix
most_confused()
- Finetuning, make our model better
- added extra layers and trained those
- we want to go back and train the whole model, to get it good:
unfreeze
- fit once cycle: error got worze after unfreeze: what is going on behind the scenes?
- pictures of Visualizing and Understanding Convolutional Networks
- layer 1
- layer 2
- layer 3 - repeating patterns
- layer 4 -
- layer 5
- layer 34
- fine tuning, unlikely that we make layer 1 better
- , we dont want to change early layer
- unfreeze default trians all layers at same speed, we change that by:
- load
lr_find
what is the fasted we can train it at without it zipping of, learning rate is how quickly am i updating my model- shift tab to check default learning reate, undestadn why we got high loss, we can pick something well before it started to get worse, but we dont want to learn all the layers at that rate
- range of learning rate: slice, train the first layers at a lr of 1e-6 and the last layer at 1e-4 and distribute
- these 2 stages are enough to get world class result, about as good in practice as most people
- more layers to impreve, resnet 50 etc.
- likely that you get an error: GPU memory
- Memory fix: smaller batch size, it is fine to sue smaller, it might take a bit longer
- unfroze fit more
- res50 good model already
- q: boxes, about the numebrs mean => next week, interpret
- most confused
- task: run this notebook, and get own image dataset,
- guide: someone is makein a guide how to dl sets form googleimages
- demo: how to do different ways of creating datasets, mnist sample
path.ls()
train valid- (path/‘train’).ls() => image style dataset
from_folder
read_csv
0 or one- paths
from_df
regex - complex => arbitary function form name and function
- code array of labels
from_lists
- try this out
- howe to get stuff
- doc(from_name_re) => shwo in docs, every line of code in notebook comes from documentation, there are alot of examples oin documations with step to step
- fast_docs in github, and click doc_src… the documentations are notebooks, you can download documentation and run it => all docs are code
- all you read, have examples you can try
- q: will library use multi gpu by dfault: one gpu, multi cpu
- q: can library use 3d data? yes, there is a forum thread
- example: alumnis at splunk: new anti fraud system, how he created it, telemetry of users, and watched the mouse movments, speed=color, clicks spludges, cnn trained, used that to train fraud model, took something that is not a picture and turned it into a picutre,
- sound
- run lesson one, and repeat process on own dataset
- tell success on the forum
- constraits
- try for hour, plase ask
- if you build a model from a dataset, please let us know
Edit: Updated for the edited version of the video.
Note: this was done using Slack so some of the comments can be slightly behind, depending on how quickly i pressed enter. feel free to adjust the timestamp if you find some that should be changed