Build a Deep CNN Image Classifier with ANY Images
Get the Code github.com/nicknochnack/Image...
So...you wanna build your own image classifier eh? Well in this tutorial you're going to learn how to do exactly that...FROM SCRATCH using Python, Tensorflow and Keras. But best yet, you can do it on virtually any dataset. Go on, give it a go!
Links
Sigmoid Activation: en.wikipedia.org/wiki/Sigmoid...
Relu Activation: en.wikipedia.org/wiki/Rectifi...)
Image Downloader Extension: chrome.google.com/webstore/de...
Conv2D Layer: www.tensorflow.org/api_docs/p...
MaxPooling Layer: keras.io/api/layers/pooling_l...
Chapters
0:00 - Start
0:28 - Explainer
1:19 - PART 1: Building a Data Pipeline
3:08 - Installing Dependencies
8:30 - Getting Data from Google Images
23:12 - Load Data using Keras Utils
33:22 - PART 2: Preprocessing Data
35:56 - Scaling Images
42:23 - Partitioning the Dataset
47:34 - PART 3: Building the Deep Neural Network
48:21 - Build the Network
1:02:32 - Training the DNN
1:06:37 - Plotting Model Performance
1:09:50 - PART 4: Evaluating Perofmrnace
1:10:38 - Evaluating on the Test Partition
1:13:59 - Testing on New Data
1:20:39 - PART 5: Saving the Model
1:21:08 - Saving the model as h5 file
1:24:43 - Wrap Up
Oh, and don't forget to connect with me!
LinkedIn: bit.ly/324Epgo
Facebook: bit.ly/3mB1sZD
GitHub: bit.ly/3mDJllD
Patreon: bit.ly/2OCn3UW
Join the Discussion on Discord: bit.ly/3dQiZsV
Happy coding!
Nick
P.s. Let me know how you go and drop a comment if you need a hand!
#deeplearning #python
This. Was. AMAZING! Oh my gosh. Thank you for such for this tutorial. I've been wanting to get into machine learning for so long, but never knew where to start or how to work these models. With how long this video was and how excellent your commentary was, it helped so much! I plan to watch a ton of your videos about creating some more models.
This tutorial is amazing, not only are instructions easy to follow but sufficient explanation is provided so I know why each line of code was added. Great Job!
Absolutely brilliant. I will use this structural approach in my third paper for my PhD. Thanks so much
I really love these longer tutorials. You explained things so well in this one that I feel like AI development finally clicked for me, not just in terms of this specific application, but also in general. I would understand if you'd be worried about length vs entertainment, but honestly you teach so well and you are so enthusiastic I don't think that should even be a concern. Thank you so much! :)
Agreed !! Waiting for such vids
Thanks a lot Nick! I like how you skim through the mathematical concepts behind your code. Very informative! I'm watching the whole playlist :)
Wow! It was awesome. I built my first CNN architecture with the help of this video.
Your detailed explanation has led me to a better understanding of the matter... Thank you...
Amazing Tutorial, highly underrated channel, will share this with my friends.
Awesome video. Love the way you explained all of the steps in great common sense detail. 5 Stars 😊
Realmente increíble, muy explicativo paso a paso y es de los pocos tutoriales que puedes seguir sin tener ninguna complicación. Gracias por compartir con todos.
Its rare to see someone explain in detail every step of the way! Great tutorial!
But not _too_ much detail. It's a good balance of theory and practice.
This was an amazing tut for a beginner like me. Thank you man... Great Explaination and Great Visualisation. Each part of your code was explained perfectly.
As a non coder person I instantly subscribed because of the simplicity you showed by your teaching skills. Thanks man, love to see more content from you.
as a CV engineer, I instantly hit the dislike button under this video
@@CantPickTheNameIwant that’s what I wanted to say 😂😂big source of misinformations on this channel, specifically in this video
@@mihai3678 Can you tell which one is misinformation and how should it be? So I can know which one that I should look for... THank you....
@@mihai3678 how come? do you think you could explain?
@@CantPickTheNameIwant at least you should clear your point if you said it
Amazing job on these videos! Would love to see a tutorial featuring 9 or more classes, thanks!
I second that!!
please Nicholas
??? I just kept adding classes, when it hits 9 it just moves onto 10....
Yes, Nicholas please! multiclass tutorial from you is needed=) Thank you
Amazing tutorial, clear and easy to follow
This tutorial is live savior. Recently I am doing my thesis on medical image processing and this video is an absolute guideline. Thanks a ton Nicholas :3
yess !!! do u have any idea what changes should be done in the NN foro multi classes ??
@@samarth2915 for multiclass classification, following changes need to be made. 1) the activation function for the output layer in ANN will be Softmax 2) The loss function would be Categorical CrossEntropy(). 3) if you use this shown method of the data pipeline, then you will have to create multiple subfolders for each class in the multi-class classification problem.
I love your videos, keep it up! I would like for you to make a video explaining about how to handle false positives with objects we don't want to detect.
Hello Nick, thank you for this awesome tutorial, I learned a lot. I was wondering if you published another tutorial with more classes involved? (at 13:01) Thanks
Best CNN tutorial I've never seen
Thanks man, exactly how i will like to learn. Everypart of the code explained and visualised. No assumption ☺
Thank you so much for making this tutorial! It was so, so helpful!
Would love to see some more stuff on deep reinforcement learning! :)
It was very useful video. Thank you very much! This video answered my questions about preparing image input data for machine learning.
Incredible Tutorial Nick!!
You are really a great teacher and I love the way you organize your code. Keep it up Nic
This is truly a fantastic tutorial. I had a working model in just a few hours. I didn't realize it could be done that quickly! Thank you!
Nicholas this video is one of the best tutorials I have seen on image classification. Thank you
Nick, thank you so much for the valuable tutorial. really appreciated. 👍
Woow, What a perfect explanation. Thank you so much for this tutorial.
ay bro this is the best explanation i've found so far. Thanks
Thanks for sharing, amazing tutorial!
Exceptional talent for teaching! Informative, clear, and I love the pace of it. No fluff and to the point. Thank you and great job!
Never seen such a comprehensive tutorial.. just a beginner in ML and DL so such tutorials help alot.. thank you
Amazing explanation, Im using this for thesis project, I'll let you know how well it went 👍
I've learned more in 30mins than in my image processing class
You're the man Nicholas! Thanks for the video!
Massive video Nicholas!!! I'm very grateful!!
thanks for the tutorial....well explained, i tried it and it's working perfect. Thanks Nicholas
Finally some good tutorial, thank you Sir!
Hey Nicholas, that is an amzing tutorial, i really learnt tonnes to take me to my next learning of ML. Thanks so much.💯
Great Tutorial! As you said a tutorial on callbacks would be great. Thanks Nicholas!
Yeah, wish I spent some more time on it in this vid. You got it @Vignesh!
Thanks Nicholas, i'll try it
Thank you for the amazing insightful tutorial
Amazing tutorial! Thanks Nicholas
Amazing video with perfect explanation I wonder if you can make some kind of tutorial with image classification using RNN in the future
Thank you so much for this Tutorial!! IT IS THE BEST !! P.S. A side note for the recent viewer, while compiling the model, use the command: model.compile('adam', loss = tf.losses.sparse_categorical_crossentropy, metrics = ['accuracy']) This change caters to the recent change in the naming conventions and ensures that the saved .h5 model runs when loaded
OMG you're a lifesaver!
it was an amazing explanation, glad I visited this channel.
Sir, this...was...amazing. Thank You! ✨
Brilliant!!!!!! Man thanks a lot, not finished yet. Allthough it is awesome so farr, learned a lot.
Thank you for providing such great experience, this helped alot
Thank you so much for this video. You really explained every bit of it.
You are goated with the sauce
A nice practical start to this topic. It makes me look forward to learning more of the details in order to troubleshoot and train correctly. Even though I was following along with Nicholas, my neural network was making incorrect predictions. I reran all my code from scratch and the same failed predictions. The third time I trained from scratch, it seems like the predictions were more likely to be accurate. It might be because my image downloader downloaded less images than Nicholas. I only had 3 batches of training data. I guess the point of all this is that if you are failing to get accurate predictions, maybe try rerunning your code to get different fit parameters, and/or get more data.
this is very well done sir! thanks for the great content!
Nich, would please also make theory explaining CNN, object detection, their metrics & hyperparameter tuing
Ohhhh man, theory isn't really my fav but I'll see what I can do!
Wow, I didn’t know Neon did programming videos too. You’re really smart. Clap 👏
Thank you very much Nicholas, I have a CNN image classification project. This is tons of help.
Great content and I love that you speak proper English! I am not a native speaker and had my fill of Australian and Indian accents.
Wow!! This is the best tutorial. Thank you for making this. Please do 1 with multi classes classification, regularization, dropouts, normalization(basically tuning parameters) and confusion matric.😃
The great explanation I've ever seen! Thanks a lot!
Thank you very much for this tutorial you really made my life easy👌🏼
You are so helpful! Amazing teaching!
This video made me happy. Thank you sensei.
Fantastic tutorial Nicholas, every step explained as simply as conceivably possible. Thank you!
Outstanding tutorial
Dear sir, Your video is so awesome and you deliver each point very clearly and it need more video related this topics and student want to be more learn to your channel I hope you will be share more video such kind of work... Good job sir👍
Amazing, you are my hero Nich, bless you ❤
thank you so much sir. you are helping so many people.
thank you very much for the nice explanations! you explain all the details!!!! thank you again, I am learning a lot!!
Amazinly clear, thanks. Love this tutorial. One of the best i've seen. Do you have any paid courses?
your tutorial is great. looking for part 2
Incredible tutorial.
The best tf explanation I've ever seen, big thumb up!
Thank you my friend for your excellent work!
Thanks man! Finally finished this!
would really appreciate one with more classes! Trying to make an AI for SET
So interesting ,Thank you for your video. As a beginnger for python, I can build a model. It's amazing!!!
Nice! Imagine if we could build a classifier that can spot Base64 in a screen capture and extract it accordingly. In digital Forensics this could be quite handy in cases where base encoding is used to hide particular image data.
awesome tutorial! would love a video on how to use more than two classes
Hi Nick, You are right you were dividing the data twice by 255 so it came out to be 0.0039. (1/255 = 0.0039). Thanks for the video. Happy learning!.
Amazing video !! , enjoyed every second of it
Your videos are top notch, explicit and yet humorous at the same time😅. YOu make learning AI easy. Thanks Nic.
THAT'S A MASTERPIECE!!! THANKS A LOT!
Awosome work NICHOLAS , Please make video for the multiple classes classifier too.
Dude makes DL actually fun to learn! I can't learn anything from the lecturers at my college because they talked to much and didn't even explain anything! Thanks man
Amazing tutorial!
I love this tutorial. Out of curiosity, can this be applied with nonfacial models? ex. different types of buildings, cars, etc.
Well explained!! Would love to see you do the same for satellite imageries (crop identification, urban change detection,etc)
yes please!
Awesome very detailed tutorial. Thanks :)
Thank you so much! Great tutorial!
This tutorial is legendary. I learned a lot and do appreciate this!
Hi Nicholas great session and have learned a lot, If possible in the future can you please create a video on image segmentation and assigning clusters to it , This will be helpful to understand that from group of images can we cluster similar images. thanks and once again thank you for sharing your learning
Another amazing video! 👏👏👏
your coding is fantastics and easy to follow
Hallo Nick. Thank you so much for your work! you are literally changing people s life with you channel! I wanted to ask if I could use this deep cnn to detect vertical landmarks on blurred images with depth information. The landmarks are on the walls of a building in the background of the images.
Excellent tutorial! thank you very much! 🤓
Hi Nicholas, the tutorial is fantastic. There is a small bug in the code. The data object is always shuffling the data so there is no difference between training and validation data. To fix this bug it is necessary to change these lines: 1. Edit the line data = tf.keras.utils.image_dataset_from_directory('data'). It should be: data = tf.keras.utils.image_dataset_from_directory('data', shuffle=False,) 2. After this line add the following: data = data.shuffle(1000, seed=100, reshuffle_each_iteration=False) Without this correction the val_accuracy will always be 1 as there is the same data. (The problem arises when calling the take method because the data is reshuffled.)
Are you sure that this is correct? When testing this although this is stopping the accuracy becoming 100%, it's validation accuracey is 1.00 from the start??
There is another bug even bigger than that, he is doing data leakage. When he download the images from google, there are a lot of them duplicated or triplicated, so when he splits the data, same image is in all three divisions (train, val and test), for sure, so is its requeried to purge the data before all the process.
As a student who is working on an image classification project, I learn a lot here and it was a very nice and interactive explantation. Thank You Nick!
This is sooo good.Everything is easy to understand.Can you also do a video on building CNN-LSTM hybrid model for image classification.If you can do so it would be a big help 🥺.
wow the great video explanation, I ever seen before ..... thanks