Build a Deep CNN Image Classifier with ANY Images

แชร์
ฝัง
  • เผยแพร่เมื่อ 2 มิ.ย. 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
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 599

  • @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 ปีที่แล้ว +23

    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 หลายเดือนก่อน +47

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

    • @lemon_and_berry
      @lemon_and_berry 2 หลายเดือนก่อน

      Agreed !! Waiting for such vids

  • @salvinprasad8592
    @salvinprasad8592 ปีที่แล้ว +2

    Absolutely brilliant. I will use this structural approach in my third paper for my PhD. Thanks 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 :)

  • @venomlovekitties
    @venomlovekitties ปีที่แล้ว +46

    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 10 หลายเดือนก่อน +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 7 หลายเดือนก่อน

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

  • @mahendrakergaurav5867
    @mahendrakergaurav5867 ปีที่แล้ว

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

  • @alextotheroh8071
    @alextotheroh8071 8 หลายเดือนก่อน +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!

  • @bratutub3
    @bratutub3 2 ปีที่แล้ว

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

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

  • @photorealm
    @photorealm ปีที่แล้ว

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

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

  • @ubaidabbas8175
    @ubaidabbas8175 22 วันที่ผ่านมา

    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.

  • @atharvmunot8305
    @atharvmunot8305 2 หลายเดือนก่อน +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

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

  • @dimasalangxt3482
    @dimasalangxt3482 2 ปีที่แล้ว +25

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

    • @leonp5281
      @leonp5281 ปีที่แล้ว +1

      I second that!!

    • @qualitycontrol716
      @qualitycontrol716 ปีที่แล้ว

      please Nicholas

    • @danielleivy8180
      @danielleivy8180 ปีที่แล้ว

      ???
      I just kept adding classes, when it hits 9 it just moves onto 10....

    • @poisonedexistence3027
      @poisonedexistence3027 ปีที่แล้ว +1

      Yes, Nicholas please! multiclass tutorial from you is needed=) 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 ☺

  • @allisonmoczynski5655
    @allisonmoczynski5655 หลายเดือนก่อน

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

  • @firenoo
    @firenoo 2 ปีที่แล้ว

    Amazing tutorial, clear and easy to follow

  • @Gordonias
    @Gordonias 2 ปีที่แล้ว +4

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

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

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

  • @russstephanson6987
    @russstephanson6987 5 หลายเดือนก่อน +2

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

  • @somtoogbe108
    @somtoogbe108 5 หลายเดือนก่อน +2

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

  • @navarclaudio
    @navarclaudio ปีที่แล้ว

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

  • @ProjectSibanda
    @ProjectSibanda ปีที่แล้ว

    Incredible Tutorial Nick!!

  • @senaldharmasiri8990
    @senaldharmasiri8990 ปีที่แล้ว

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

  • @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!

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

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

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

  • @dariusdevo9554
    @dariusdevo9554 ปีที่แล้ว

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

  • @patricklynch6871
    @patricklynch6871 ปีที่แล้ว

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

  • @lubwamaemmanuel7743
    @lubwamaemmanuel7743 2 หลายเดือนก่อน

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

  •  ปีที่แล้ว +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

  • @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!

  • @Alice8000
    @Alice8000 5 หลายเดือนก่อน

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

  • @hassanbabaousmail194
    @hassanbabaousmail194 ปีที่แล้ว

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

  • @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!

  • @maximeentsi2205
    @maximeentsi2205 2 ปีที่แล้ว +1

    Best CNN tutorial I've never seen

  • @pritamrajbhar9504
    @pritamrajbhar9504 ปีที่แล้ว

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

  • @kokylolify
    @kokylolify ปีที่แล้ว

    Finally some good tutorial, thank you Sir!

  • @priyanshgupta1902
    @priyanshgupta1902 ปีที่แล้ว

    Amazing tutorial! Thanks Nicholas

  • @sapphirenoctua
    @sapphirenoctua 11 หลายเดือนก่อน

    You are so helpful! Amazing teaching!

  • @FandangoJepZ
    @FandangoJepZ 2 ปีที่แล้ว +2

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

  • @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!

  • @efeaydemir1413
    @efeaydemir1413 ปีที่แล้ว

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

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

  • @terwasevictorsesugh3902
    @terwasevictorsesugh3902 หลายเดือนก่อน

    your tutorial is great. looking for part 2

  • @abhishekfnu7455
    @abhishekfnu7455 5 หลายเดือนก่อน

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

  • @scounterscounter6702
    @scounterscounter6702 13 วันที่ผ่านมา

    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

  • @martinology5215
    @martinology5215 ปีที่แล้ว

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

  • @manishtanwar8578
    @manishtanwar8578 ปีที่แล้ว

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

  • @ravd123
    @ravd123 ปีที่แล้ว

    Awesome very detailed tutorial. Thanks :)

  • @user-dz5ic4mw3w
    @user-dz5ic4mw3w ปีที่แล้ว

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

  • @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!

  • @amirhosseinkarimi1760
    @amirhosseinkarimi1760 6 หลายเดือนก่อน

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

  • @okohfranklin.c
    @okohfranklin.c ปีที่แล้ว

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

  • @THE8SFN
    @THE8SFN ปีที่แล้ว

    Thank you for the amazing insightful tutorial

  • @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👍

  • @eddyateye810
    @eddyateye810 9 หลายเดือนก่อน

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

  • @okopyl
    @okopyl ปีที่แล้ว

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

  • @borutcerne
    @borutcerne 11 หลายเดือนก่อน

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

  • @lemon_and_berry
    @lemon_and_berry หลายเดือนก่อน

    Amazing video !! , enjoyed every second of it

  • @raffaelemasucci4082
    @raffaelemasucci4082 7 หลายเดือนก่อน

    Thank you my friend for your excellent work!

  • @bibinlouis4927
    @bibinlouis4927 7 หลายเดือนก่อน

    This video made me happy. Thank you sensei.

  • @amc8437
    @amc8437 11 หลายเดือนก่อน

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

  • @dimitrimattheis3740
    @dimitrimattheis3740 ปีที่แล้ว

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

  • @filixzs
    @filixzs ปีที่แล้ว

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

  • @rodrigopennacchi2451
    @rodrigopennacchi2451 9 หลายเดือนก่อน

    Thanks for sharing, amazing tutorial!

  • @brunospfc8511
    @brunospfc8511 2 ปีที่แล้ว +3

    Thanks Nicholas, i'll try it

  • @ocraking
    @ocraking 4 วันที่ผ่านมา

    amazing video and amazing teacher. We would love if you can explain callbacks in another video, thanksss

  • @fassoyangce1075
    @fassoyangce1075 2 ปีที่แล้ว +1

    Another amazing video! 👏👏👏

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

  • @emiliani8side
    @emiliani8side 7 หลายเดือนก่อน +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.

  • @aldrinjohnencina6153
    @aldrinjohnencina6153 ปีที่แล้ว

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

  • @abcxyz-ht3ch
    @abcxyz-ht3ch ปีที่แล้ว

    Thank you for providing such great experience, this helped alot

  • @dragway0385
    @dragway0385 ปีที่แล้ว

    Amazing, you are my hero Nich, bless you ❤

  • @shayestebazsefidpar5584
    @shayestebazsefidpar5584 ปีที่แล้ว

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

  • @binalweerasena753
    @binalweerasena753 6 หลายเดือนก่อน +7

    Now you don't need to pip install tensorflow-gpu. GPU features are already inside tensorflow main library. Trying to install tensorflow-gpu got me an error which ate up my time.
    Thanks Renotte for this amazing videos. You truly inspire us, the newbies.goodvibes

    • @afkhoso
      @afkhoso 5 หลายเดือนก่อน +3

      thanks! had the same issue! comments and conversations like this help others very much!

  • @misunsong291
    @misunsong291 ปีที่แล้ว +1

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

  • @user-ro5mc9jm1b
    @user-ro5mc9jm1b ปีที่แล้ว

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

  • @rikiriki43
    @rikiriki43 11 หลายเดือนก่อน

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

  • @richardcasey4439
    @richardcasey4439 19 วันที่ผ่านมา

    Outstanding tutorial

  • @twopolaar599
    @twopolaar599 9 หลายเดือนก่อน

    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

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

  • @aviparnabiswas3707
    @aviparnabiswas3707 2 ปีที่แล้ว +2

    Hello Nick, was wondering can CNN be used to classify the before and after measurement of lawn grass cutting? I was wondering how well this model will work with such images.

  • @archiellagas6384
    @archiellagas6384 ปีที่แล้ว

    your coding is fantastics and easy to follow

  • @atharvpal7038
    @atharvpal7038 5 หลายเดือนก่อน

    Thanks man!
    Finally finished this!

  • @numforfrank9205
    @numforfrank9205 ปีที่แล้ว

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

  • @koneali7539
    @koneali7539 หลายเดือนก่อน

    Very insightful! Thanks

  • @absba9
    @absba9 หลายเดือนก่อน

    Incredible tutorial.

  • @28Lost
    @28Lost ปีที่แล้ว

    You are a great teacher. Love the video =D

  • @housemdaaji4884
    @housemdaaji4884 ปีที่แล้ว +8

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

  • @diagnointelligent2332
    @diagnointelligent2332 ปีที่แล้ว

    wow the great video explanation, I ever seen before ..... thanks

  • @urd4651
    @urd4651 ปีที่แล้ว

    Excellent tutorial! thank you very much! 🤓

  • @gblazerify
    @gblazerify หลายเดือนก่อน

    Amazing tutorial!

  • @yusufkemaldemir9393
    @yusufkemaldemir9393 ปีที่แล้ว

    Who are you bro:))) This is best training video I have seen on TH-cam.