Lesson 2: Practical Deep Learning for Coders 2022
Вставка
- Опубліковано 2 сер 2024
- Q&A and all resources for this lesson available here: forums.fast.ai/t/lesson-2-off...
00:00 - Introduction
00:55 - Reminder to use the fastai book as a companion to the course
02:06 - aiquizzes.com for quizzes on the book
02:36 - Reminder to use fastai forums for links, notebooks, questions, etc.
03:42 - How to efficiently read the forum with summarizations
04:13 - Showing what students have made since last week
06:45 - Putting models into production
08:10 - Jupyter Notebook extensions
09:49 - Gathering images with the Bing/DuckDuckGo
11:10 - How to find information & source code on Python/fastai functions
12:45 - Cleaning the data that we gathered by training a model
13:37 - Explaining various resizing methods
14:50 - RandomResizedCrop explanation
15:50 - Data augmentation
16:57 - Question: Does fastai's data augmentation copy the image multiple times?
18:30 - Training a model so you can clean your data
19:00 - Confusion matrix explanation
20:33 - plot_top_losses explanation
22:10 - ImageClassifierCleaner demonstration
25:28 - CPU RAM vs GPU RAM (VRAM)
27:18 - Putting your model into production
30:20 - Git & Github desktop
31:30 - For Windows users
37:00 - Deploying your deep learning model
37:38 - Dog/cat classifier on Kaggle
38:55 - Exporting your model with learn.export
39:40 - Downloading your model on Kaggle
41:30 - How to take a model you trained to make predictions
43:30 - learn.predict and timing
44:22 - Shaping the data to deploy to Gradio
45:47 - Creating a Gradio interface
48:25 - Creating a Python script from your notebook with #|export
50:47 - Hugging Face deployed model
52:12 - How many epochs do you train for?
53:16 - How to export and download your model in Google Colab
54:25 - Getting Python, Jupyter notebooks, and fastai running on your local machine
1:00:50 - Comparing deployment platforms: Hugging Face, Gradio, Streamlit
1:02:13 - Hugging Face API
1:05:00 - Jeremy's deployed website example - tinypets
1:08:23 - Get to know your pet example by aabdalla
1:09:44 - Source code explanation
1:11:08 - Github Pages
Thanks to bencoman, mike.moloch, amr.malik, gagan, fmussari, kurianbenoy, and heylara on forums.fast.ai for creating the transcript.
Thanks to Raymond-Wu on forums.fast.ai for creating the timestamps.
I've taken many ML courses over the years and I love the hands on nature of this with Jupyter notebooks, the extra background provided with the book, the quizzes, and the top down approach that orients you on breadth before depth. This is done right from a pedagogy standpoint.
thank you for making AI education free and accessible 😊
It's my pleasure
❤ This course will have a ripple effect for an entire generation of programming
Also, whoever is using Gradio's version 4.39 or above, the following is code is for the Gradio interface:
# creating the gradio interface
image = gr.Image(height=192, width=192)
label = gr.Label()
examples:list = ['./assets/dog.png', './assets/cat.png', './assets/dunno.png']
intf = gr.Interface(fn=classify_image, inputs=image, outputs=label, examples=examples)
intf.launch(inline=False)
This is very neat content, and your way of explaining those concepts is calm and posed, very enjoyable to watch ! Thank you.
Thank you so much for adding the commands for wsl to add the drivers on ubuntu. this is the most time consuming part for me when I setup a new computer. I really appreciate it.
Jeremy thank you so much for all the effort. It means a lot ! Really appreciate
No fillers so much knowledge I wish all my teachers were this good.
Thank you for the amazing course.
Update for 2023. In Gradio deployment notebook, `intf.launch(inline=False)` needs to change to `intf.launch(inline=False,share=True)` to have the public web link.
Respect for giving out high quality information, you are the real deal and so few people actually know...
Thank you, Jeremy, and everyone involved in creating this great course. It only gets better with every new iteration!
Just like a Neural Network no? :)
This tutorials is really helpful, thanks so much. you are boosting my knowledge.
Really cool !
Thank you to share with us.
It's way more fun to learn by building something people can actually use!! Thanks a ton!
Thank you for the amazing videos Prof. Howard!
OMG, I'm so excited to see new updates to this course! EDIT: Is there somewhere that I can read about what has changed?
Loved every bit of it. Thanks, jph00. ;)
Great educational video!
Thank you very much for this course :)
I love your lecture! 😄
Great lecture! Jeremy is amazing at explaining such cryptic concepts
"And when I say one day, more specifically... today!" XD
Today is a good day. 😀
Thank you so much!
Jeremy ... you are the real deal ... thanks for giving your personal time and energy to open the world of ML to mere mortals like us older engineers ... you are a real world blessing!
So fun hearing anecdotes of classifying images of a dog cat with your daughter
Thanks Jeremy!
p.s. if you try to go step by step and got error "module 'gradio' has no attribute 'inputs'", try gradio==3.48.
It works well for me.
This course is amazing
so amazing classss
this is bery good thank you ;)
Yes it can - don't despair!
You know what's hilarious is that I actually read the book chapter before watching the lesson and I had the hardest time finding my Azure Bing API Key after I made my account and whatnot... It literally took me longer to just do that step than the entire rest of the lesson lol. And then Jeremy just goes yeah screw that I'm going to use duckduckgo instead haha.
for those who are using windows and got the following error message: "NotImplementedError: cannot instantiate 'PosixPath' on your system", the fix is:
import pathlib
temp = pathlib.PosixPath
pathlib.PosixPath = pathlib.WindowsPath
I need triple the time of the video to understand it, but I am getting there, thanks! By the way, the dog-cat thing apparently is a puppy...
@jeremy in the randomization/augmentation process in real-time in memory, does a single image and its variants all get included in a single batch? If they do, how does this affect the quality of the weight updates vs spreading some of the augemented images to other batches
thank you for the great content. do you recommend jupyter notebook over jupyter lab? (any reason, is nbdev supported in jupyter lab?)
also you mention number of epochs recommended. it could be useful just to give a number on how many epochs were needed to do the original training on the model that we are fine tuning against to give some perspective.
Where can we find the notebook at 41:32 for Dogs v Cats on your local?
Also wondering this, having trouble following along that this section...
It was covered in Lesson 1. Check out the Resources section here: course.fast.ai/Lessons/lesson1.html
Got the same problem. It's the app.ipynb file that I can't find. Did you manage to find it?
@@paulmest where is it in the resources section?
@@bampy81 did you find it? if yes please lemme know
With gradio==4.28.3 the example code in the video won't work.
error "module 'gradio' has no attribute 'inputs'"
Fix:
image = gr.Image(height=192, width = 192)
label = gr.Label()
Love the course !! But I really recommend streamlit instead of gradio.. :D
56:57 curl doesnt have --no-progress-meter option. If you are setting up on mac remove that option from the command
yo this is an amazing.
so cool
What is the repo used for this set of jupyter notebooks? The Fastbook directory seems to have the textbook version that uses Azure SDK keys whereas Jeremy refers to the DDG alternative. I am not able to find the right folder under the fast ai repos.
Watching this last few sections of this video as a frontend developer . Was one of my best moments 😂😂😂😂.
I skipped the entire thing 😂😂😂😂😂
Hi jeremy, as always great course. But what about practical deep learning from the foundation? I am waiting 2 years for those.
Thanks
Where can we get the locally run notebook that you used to create the python script for the gradio app? Could this be run in Kaggle instead of locally and exported / downloaded? It makes it confusing that you're jumping from Kaggle to colab to local notebooks. Is that necessary?
what does calling 'train' method on dls object do? does it show the images that are used to train the model? what does 'valid' method do?
The weird dog at 47:20 is "Chó Dúi" and he is from Vietnam, it is unlucky that he just passed away last year :(
Where can I look for the notebook to lesson 2 using ddg method?, cause on the fastai book website still show the version using key and Microsoft Azure
It seems that nbdev 2.0 works very differently, because the export doesn't work anymore. Is there a good tutorial on how to use the new version?
49:12 Looking at the source code for nbdev.export, there is no `notebook2script` function. The closest in functionality appears to be `nb_export(nbname, lib_path = None)`. nbdev version: 2.0.6. Did anyone run into the same issue?
This video is probably referencing v1 of nbdev. For v2, you can use:
# Bash Terminal
nbdev_export --path "app.ipynb"
or
# Jupyter Notebook
from nbdev import nbdev_export
nbdev_export("app.ipynb")
A `nbdev` folder is created with the `app.py` file in it.
anything to convert an existing project to nbdev?
In the step of cleaning the data . Are we moving the files in the folder ? Do we have to have to create the model again?
10:57 I was getting an error after running dls = bears.dataloaders(path) from the cells further fown in the notebook. I needed to change the quotations marks in the cell with bear_types for the variable path = Path("bears") (double quotation marks)... Took me some googling around to make it work!
I've also needed deindent the for loop for the bear_types and remove the folders created before running the code again.
if not path.exists():
path.mkdir()
for o in bear_types:
dest = (path/o)
dest.mkdir(exist_ok=True)
download_images(dest, urls=search_images_ddg(f'{o} bear photo'))
@@piecucci I had the exact same problem. Thanks for commenting this!🙏
You mention that the learner needs all the same functions it had in training. Is this due to using pickle? Can you just use cloudpickle instead and not provide the training environment?
It says fastpages is deprecated and one should use quattro instead. Thoughts?
mamba install jupyter notebook is required nbdev alone doesnt install jupyter on Mac
btw that dog cat image is actually a puppy that looks like a cat
Hello, is it fine to run Jupyter notebook on VS code instead of running it on a local browser?
That dog-cat has an AI generated feel to me.
I created a hugging space faces page and created a new space called "minimal", selected apachie, radio, and public. Im on mac and copied the repo into the terminal. I then tried to do code . but it says "command not found: code" I am not sure what I did wrong.
I had the same issue
First make sure you have downloaded Visual Studio Code
Open Visual Studio Code
Type Cmd+Shift+P and input '> shell command' and click Shell Command: Install 'code' command in PATH command.
Restart your terminal
In the terminal type in “cd minimal”
Then input “code . "
uninstall and reinstall vscode. Sometimes the environment path get corrupted and the updates don't happen properly
I had the same issue. It worked straight after I had restarted the windows 11 PC
I'm running into an issue where the ImageClassifierCleaner is not working properly in a Kaggle notebook. Anyone else face a similar issue and know a solution?
Re-running all the cells from the start fixed it for me
how to study this course. does it only have 8 lectures ?
No there's 25 lectures. Go to course.fast.ai/ .
Is there a reason why you use windows? I've been working industry as a developer for 7 years now and have only seen one person use windows and they always had issues. Just curious if it's cuz microsoft now ships with linux kernel or if there's any benefits for deep learning.
I like being able to use a stylus directly on the screen. I use WSL (Linux) or SSH into a Linux server for nearly all my work though.
43:32
The one thing that didn't seem super clear to me is why he is doing everything in a Linux environment in the first place. Why not just install python and all the libraries on regular windows without that extra step of having to go to linux first.
13:32
First, thanks for the great lesson, I really appreciate it!
Second, any Magento developers get excited when the Magento logo came up? ua-cam.com/video/F4tvM4Vb3A0/v-deo.html
Love the course but I do hate the way you code. I have spent way too much time figuring out which imports are giving me which function I’m using
To find out what import provides a function, type the function name and hit shift-enter.
You wouldn't download 600 images of bears!
dog? pig? loaf of bread. SYSTEM ERROR
it is a dog
Thank you Jeremy, but we are programmers... 80% of time you spent on showing stuff we already know... git, jupiter etc... can you make 30 minute course with core concepts of fastai framework. What models when used etc...
has anyone managed to solve 'NotImplementedError: The operator 'aten::_linalg_solve_ex.result' is not currently implemented for the MPS device. ' issue on macos m series?
no but I have the same problem. I just did it in Google Colab.
6:57 Need to import widgets before using ImageClassifierCleaner
from fastai.vision.widgets import *
thanks