Build a Deep CNN Image Classifier with ANY Images

Поделиться
HTML-код
  • Опубликовано: 22 май 2024
  • 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
  • НаукаНаука

Комментарии • 597

  • @marti-nz
    @marti-nz Год назад +13

    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!

  • @TheSakyoGamer
    @TheSakyoGamer Год назад +22

    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.

  • @KarrsonHeumann
    @KarrsonHeumann 10 месяцев назад +46

    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! :)

  • @mohamedgaal5340
    @mohamedgaal5340 2 месяца назад +1

    Thanks a lot Nick! I like how you skim through the mathematical concepts behind your code. Very informative! I'm watching the whole playlist :)

  • @salvinprasad8592
    @salvinprasad8592 Год назад +2

    Absolutely brilliant. I will use this structural approach in my third paper for my PhD. Thanks so much

  • @venomlovekitties
    @venomlovekitties Год назад +45

    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.

    • @CantPickTheNameIwant
      @CantPickTheNameIwant 11 месяцев назад +1

      as a CV engineer, I instantly hit the dislike button under this video

    • @mihai3678
      @mihai3678 11 месяцев назад

      @@CantPickTheNameIwant that’s what I wanted to say 😂😂big source of misinformations on this channel, specifically in this video

    • @daryladhityahenry
      @daryladhityahenry 9 месяцев назад +2

      @@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....

    • @akikabanu5885
      @akikabanu5885 6 месяцев назад

      @@mihai3678 how come? do you think you could explain?

    • @muhammaduseram9405
      @muhammaduseram9405 3 месяца назад

      @@CantPickTheNameIwant at least you should clear your point if you said it

  • @hugehammer2706
    @hugehammer2706 Месяц назад +1

    Wow! It was awesome. I built my first CNN architecture with the help of this video.

  •  Год назад +42

    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

  • @alextotheroh8071
    @alextotheroh8071 7 месяцев назад +4

    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!

  • @ubaidabbas8175
    @ubaidabbas8175 11 дней назад

    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.

  • @mahendrakergaurav5867
    @mahendrakergaurav5867 Год назад

    Amazing Tutorial, highly underrated channel, will share this with my friends.

  • @adowanshahriar3623
    @adowanshahriar3623 Год назад +12

    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

    • @samarth2915
      @samarth2915 Год назад

      yess !!! do u have any idea what changes should be done in the NN foro multi classes ??

    • @priyam66
      @priyam66 Год назад +4

      @@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.

  • @atharvmunot8305
    @atharvmunot8305 Месяц назад +3

    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

  • @joelmaiza
    @joelmaiza Год назад +1

    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.

  • @bratutub3
    @bratutub3 2 года назад

    Your detailed explanation has led me to a better understanding of the matter... Thank you...

  • @photorealm
    @photorealm Год назад

    Awesome video. Love the way you explained all of the steps in great common sense detail. 5 Stars 😊

  • @dimasalangxt3482
    @dimasalangxt3482 2 года назад +25

    Amazing job on these videos! Would love to see a tutorial featuring 9 or more classes, thanks!

  • @eru3890
    @eru3890 2 года назад +2

    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.

  • @Gordonias
    @Gordonias 2 года назад +4

    Would love to see some more stuff on deep reinforcement learning! :)

  • @allisonmoczynski5655
    @allisonmoczynski5655 Месяц назад

    Thank you so much for making this tutorial! It was so, so helpful!

  • @ProjectSibanda
    @ProjectSibanda Год назад

    Incredible Tutorial Nick!!

  • @okopyl
    @okopyl Год назад

    Amazinly clear, thanks. Love this tutorial. One of the best i've seen.
    Do you have any paid courses?

  • @somtoogbe108
    @somtoogbe108 4 месяца назад +2

    You are really a great teacher and I love the way you organize your code. Keep it up Nic

  • @russstephanson6987
    @russstephanson6987 5 месяцев назад +2

    Nicholas this video is one of the best tutorials I have seen on image classification. Thank you

  • @Nice_lolat
    @Nice_lolat 9 месяцев назад

    Thanks man, exactly how i will like to learn. Everypart of the code explained and visualised. No assumption ☺

  • @pedrobizzotto556
    @pedrobizzotto556 Год назад +5

    Its rare to see someone explain in detail every step of the way! Great tutorial!

    • @andybrice2711
      @andybrice2711 Месяц назад +1

      But not _too_ much detail. It's a good balance of theory and practice.

  • @Huapua
    @Huapua Год назад +4

    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.

  • @aminaleali7161
    @aminaleali7161 6 месяцев назад

    Exceptional talent for teaching! Informative, clear, and I love the pace of it. No fluff and to the point. Thank you and great job!

  • @firenoo
    @firenoo 2 года назад

    Amazing tutorial, clear and easy to follow

  • @lubwamaemmanuel7743
    @lubwamaemmanuel7743 Месяц назад

    Hey Nicholas, that is an amzing tutorial, i really learnt tonnes to take me to my next learning of ML. Thanks so much.💯

  • @yosephawoke9584
    @yosephawoke9584 8 месяцев назад +1

    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!

  • @aysegulsezen4280
    @aysegulsezen4280 11 месяцев назад

    It was very useful video. Thank you very much! This video answered my questions about preparing image input data for machine learning.

  • @FandangoJepZ
    @FandangoJepZ 2 года назад +2

    would really appreciate one with more classes! Trying to make an AI for SET

  • @Alice8000
    @Alice8000 5 месяцев назад

    Wow, I didn’t know Neon did programming videos too. You’re really smart. Clap 👏

  • @arnabghosh5547
    @arnabghosh5547 2 года назад +41

    Nich, would please also make theory explaining CNN, object detection, their metrics & hyperparameter tuing

    • @NicholasRenotte
      @NicholasRenotte  2 года назад +30

      Ohhhh man, theory isn't really my fav but I'll see what I can do!

  • @maximeentsi2205
    @maximeentsi2205 2 года назад +1

    Best CNN tutorial I've never seen

  • @navarclaudio
    @navarclaudio Год назад

    Massive video Nicholas!!! I'm very grateful!!

  • @manishtanwar8578
    @manishtanwar8578 Год назад

    Awosome work NICHOLAS , Please make video for the multiple classes classifier too.

  • @priyanshgupta1902
    @priyanshgupta1902 Год назад

    Amazing tutorial! Thanks Nicholas

  • @senaldharmasiri8990
    @senaldharmasiri8990 Год назад

    ay bro this is the best explanation i've found so far. Thanks

  • @terwasevictorsesugh3902
    @terwasevictorsesugh3902 Месяц назад

    your tutorial is great. looking for part 2

  • @faizansiddiqui4901
    @faizansiddiqui4901 Год назад

    Nick, thank you so much for the valuable tutorial. really appreciated. 👍

  • @ameer-alahmadi
    @ameer-alahmadi Год назад

    The great explanation I've ever seen! Thanks a lot!

  • @vigneshm4916
    @vigneshm4916 2 года назад +2

    Great Tutorial! As you said a tutorial on callbacks would be great. Thanks Nicholas!

    • @NicholasRenotte
      @NicholasRenotte  2 года назад

      Yeah, wish I spent some more time on it in this vid. You got it @Vignesh!

  • @sanjanatarekar5942
    @sanjanatarekar5942 Год назад +8

    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.😃

  • @hassanbabaousmail194
    @hassanbabaousmail194 Год назад

    Woow, What a perfect explanation. Thank you so much for this tutorial.

  • @scounterscounter6702
    @scounterscounter6702 2 дня назад

    What a journey.. needs me a day ( cuda,..versions...etc..)..but now first model is running fine on my grave-letters ( no joke ). next challenge will now be to have more than 0 and 1 ..more than this 2 dataSets.. THX again for this fantastic tutorial

  • @mikohalurangersid-green493
    @mikohalurangersid-green493 2 года назад

    Amazing video with perfect explanation
    I wonder if you can make some kind of tutorial with image classification using RNN in the future

  • @lemon_and_berry
    @lemon_and_berry Месяц назад

    Amazing video !! , enjoyed every second of it

  • @brunospfc8511
    @brunospfc8511 2 года назад +3

    Thanks Nicholas, i'll try it

  • @dimitrimattheis3740
    @dimitrimattheis3740 Год назад

    awesome tutorial! would love a video on how to use more than two classes

  • @pritamrajbhar9504
    @pritamrajbhar9504 Год назад

    it was an amazing explanation, glad I visited this channel.

  • @patricklynch6871
    @patricklynch6871 Год назад

    You're the man Nicholas! Thanks for the video!

  • @abhishekfnu7455
    @abhishekfnu7455 4 месяца назад

    Thank you so much for this video. You really explained every bit of it.

  • @filixzs
    @filixzs Год назад

    Amazing explanation, Im using this for thesis project, I'll let you know how well it went 👍

  • @rodrigopennacchi2451
    @rodrigopennacchi2451 8 месяцев назад

    Thanks for sharing, amazing tutorial!

  • @dariusdevo9554
    @dariusdevo9554 Год назад

    The best tf explanation I've ever seen, big thumb up!

  • @amirhosseinkarimi1760
    @amirhosseinkarimi1760 6 месяцев назад

    this is very well done sir! thanks for the great content!

  • @bibinlouis4927
    @bibinlouis4927 7 месяцев назад

    This video made me happy. Thank you sensei.

  • @THE8SFN
    @THE8SFN Год назад

    Thank you for the amazing insightful tutorial

  • @efeaydemir1413
    @efeaydemir1413 Год назад

    Brilliant!!!!!! Man thanks a lot, not finished yet. Allthough it is awesome so farr, learned a lot.

  • @okohfranklin.c
    @okohfranklin.c Год назад

    thanks for the tutorial....well explained, i tried it and it's working perfect. Thanks Nicholas

  • @sapphirenoctua
    @sapphirenoctua 10 месяцев назад

    You are so helpful! Amazing teaching!

  • @Christian-dd2qm
    @Christian-dd2qm Год назад

    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.

  • @borutcerne
    @borutcerne 11 месяцев назад

    Fantastic tutorial Nicholas, every step explained as simply as conceivably possible. Thank you!

  • @martinology5215
    @martinology5215 Год назад

    Sir, this...was...amazing. Thank You! ✨

  • @aaditmaheshwari4080
    @aaditmaheshwari4080 10 месяцев назад

    Great video man, thanks so much for this tutorial. I was wondering if using pre-trained models such as ImageNet differs from this process too much or not... Is it a similar process?

  • @user-dz5ic4mw3w
    @user-dz5ic4mw3w Год назад

    Never seen such a comprehensive tutorial.. just a beginner in ML and DL so such tutorials help alot.. thank you

  • @richardcasey4439
    @richardcasey4439 8 дней назад

    Outstanding tutorial

  • @kokylolify
    @kokylolify Год назад

    Finally some good tutorial, thank you Sir!

  • @ravd123
    @ravd123 11 месяцев назад

    Awesome very detailed tutorial. Thanks :)

  • @raffaelemasucci4082
    @raffaelemasucci4082 7 месяцев назад

    Thank you my friend for your excellent work!

  • @amc8437
    @amc8437 10 месяцев назад

    Thank you very much Nicholas, I have a CNN image classification project. This is tons of help.

  • @shayestebazsefidpar5584
    @shayestebazsefidpar5584 Год назад

    thank you very much for the nice explanations! you explain all the details!!!! thank you again, I am learning a lot!!

  • @ziddimalikziddimalik1288
    @ziddimalikziddimalik1288 Год назад

    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👍

  • @emiliani8side
    @emiliani8side 6 месяцев назад +3

    Superb and well detailed video! It would be amazing to see you breakdown image classification through multi-classification rather than binary with maybe 4 different datasets? Also, a confusion matrix to display values at the end would also be extremely helpful.

  • @lancemarchetti8673
    @lancemarchetti8673 4 месяца назад +2

    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.

  • @atharvpal7038
    @atharvpal7038 4 месяца назад

    Thanks man!
    Finally finished this!

  • @abcxyz-ht3ch
    @abcxyz-ht3ch Год назад

    Thank you for providing such great experience, this helped alot

  • @koneali7539
    @koneali7539 Месяц назад

    Very insightful! Thanks

  • @absba9
    @absba9 20 дней назад

    Incredible tutorial.

  • @aldrinjohnencina6153
    @aldrinjohnencina6153 Год назад

    thank you so much sir. you are helping so many people.

  • @housemdaaji4884
    @housemdaaji4884 Год назад +8

    Well explained!! Would love to see you do the same for satellite imageries (crop identification, urban change detection,etc)

  • @user-ro5mc9jm1b
    @user-ro5mc9jm1b Год назад

    Thank you very much for this tutorial you really made my life easy👌🏼

  • @sanjayravi8181
    @sanjayravi8181 Год назад

    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!.

  • @eddyateye810
    @eddyateye810 9 месяцев назад

    I've learned more in 30mins than in my image processing class

  • @ashie4239
    @ashie4239 Год назад

    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 🥺.

  • @bl4z3_kanazaki
    @bl4z3_kanazaki Год назад +1

    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

  • @revathysuresh942
    @revathysuresh942 Год назад +1

    Hi, does this model work on ultrasound images data set too? Thanks for the great explanation, I'm just starting off with machine learning and programming. It's amazing how you came with a great video like this, looking forward to learn more from this channel.

  • @rikiriki43
    @rikiriki43 11 месяцев назад

    So interesting ,Thank you for your video. As a beginnger for python, I can build a model. It's amazing!!!

  • @dragway0385
    @dragway0385 Год назад

    Amazing, you are my hero Nich, bless you ❤

  • @alainjude9745
    @alainjude9745 8 месяцев назад

    Hello Nicholas. Thanks for your explanation of the subject with the appropriate examples. I'm having my internship right now and your explanations helped me to understand what is done. I've also used the code. Forgive me if it offends you. I didn't know where I could look to know under which licence this code was.

  • @gblazerify
    @gblazerify Месяц назад

    Amazing tutorial!

  • @numforfrank9205
    @numforfrank9205 Год назад

    Your videos are top notch, explicit and yet humorous at the same time😅. YOu make learning AI easy. Thanks Nic.

  • @archiellagas6384
    @archiellagas6384 Год назад

    your coding is fantastics and easy to follow

  • @misunsong291
    @misunsong291 Год назад +1

    This tutorial is legendary. I learned a lot and do appreciate this!

  • @alexiadeboynes4656
    @alexiadeboynes4656 Год назад

    Thank you so much! Great tutorial!

  • @Atiqs-fs4hc
    @Atiqs-fs4hc 2 месяца назад

    This is really greatt tutorial❤ and Nich, can you make face emotion detection using CNN with the 4 or more datasets?

  • @urd4651
    @urd4651 Год назад

    Excellent tutorial! thank you very much! 🤓

  • @twopolaar599
    @twopolaar599 8 месяцев назад

    I just finished my model on classifying images of cats and dogs, and Im shocked at how accurate it is! The feeling of finally finishing it SO good, I finally feel accomplished.

    • @malhargirgaonkar1668
      @malhargirgaonkar1668 8 месяцев назад

      Can it work to classify image in more than 1 category? I have 11 categories

    • @twopolaar599
      @twopolaar599 8 месяцев назад +1

      @@malhargirgaonkar1668 Yeah, but im pretty sure you got to adjust some of the code. For examples, you cant do anything with binary classification if you have more than two categories. I recommend trying to do it with two categories first, then add more categories later once you have finished