Basic Computer Vision with ML (ML Zero to Hero - Part 2)

Поделиться
HTML-код
  • Опубликовано: 13 июл 2024
  • In part two of Machine Learning Zero to Hero, AI Advocate Laurence Moroney (lmoroney@) walks through basic computer vision with machine learning by teaching a computer how to see and recognize different objects.
    Beyond Hello World, a Computer Vision Example: goo.gle/34cHkDk
    This video is also subtitled in Chinese, Indonesian, Italian, Japanese, Korean, Portuguese, and Spanish.
    Watch more Coding TensorFlow → bit.ly/Coding-TensorFlow
    Subscribe to the TensorFlow channel → bit.ly/2ZtOqA3
  • НаукаНаука

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

  • @kaustaubh1234
    @kaustaubh1234 4 года назад +4

    A sensible teacher . Perfect for scientific teaching.Thanks a lot.

  • @kciudaras
    @kciudaras 4 года назад +46

    Waiting for the next episode! Such a great series

    • @laurencemoroney655
      @laurencemoroney655 4 года назад +1

      Thanks!

    • @kaelhop
      @kaelhop 4 года назад +1

      Introducing convolutional neural networks (ML Zero to Hero, part 3): ruclips.net/video/x_VrgWTKkiM/видео.html

  • @chrismorris5241
    @chrismorris5241 4 года назад +11

    Very excited and appreciative of this series. Doing a great job of simplifying a complex topic. Thanks again and can't wait for the next episode!

  • @biomystical
    @biomystical 4 года назад +64

    I knew this before, but now I feel like I am really learning it in practice, good teaching style

  • @ConsultingjoeOnline
    @ConsultingjoeOnline 3 года назад +42

    I wish I would have discovered this series sooner!
    Thank you!

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

    Great teaching! At last, after years of searching found a great tutorial for that topic! Keep on the great job..

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

    thank you to the whole team of tensorflow

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

    Wonderful explanations! Looking forward to more videos!

  • @amankumarchourasiya2279
    @amankumarchourasiya2279 4 года назад +7

    Thankyou so much for providing this material. We need tutors like you.

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

    I am a non-IT, Mechanical Engineering Professional (27 Years in Manufacturing Industry) and very thankful for the wonderful way of teaching that I ever had in my life!.

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

    Thanks for the sharing, this series really help a lot !

  • @smartcontxlimited5658
    @smartcontxlimited5658 4 года назад

    Thanks Laurence, this is a great series, very informative.

  • @aaronphan3625
    @aaronphan3625 4 года назад

    Thanks for the material Laurence. I'm looking forward to future videos.

  • @psy0rz
    @psy0rz 4 года назад

    Awesome! Couldnt find part 3, only to realise this is brand new:)

  • @iamrising7176
    @iamrising7176 4 года назад +5

    Your job description should be: Make Hard Concepts Look Easy. Thanks so much.

  • @luis96xd
    @luis96xd 3 года назад

    Amazing video, it was well explained

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

    Wonderful explanations! Looking forword to more videos.

  • @William_Clinton_Muguai
    @William_Clinton_Muguai 3 года назад

    I love it! AI is super-amazing!

  • @learnwithajwa4689
    @learnwithajwa4689 4 года назад

    It's really helpful me in understanding the the concept

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

    Laurence Moroney! You are just Love..

  • @thamizhendiranc4229
    @thamizhendiranc4229 4 года назад +4

    Really gave me the perfect outline for the computer vision. Thank you !!!

  • @subrahmanyamvemuri5881
    @subrahmanyamvemuri5881 3 года назад

    This is wonderful.

  • @alkhashtee
    @alkhashtee 4 года назад

    I don't understand who are those people and what they thinking to dislike this of piece of treasure. Come on and show me what you can do better, instead of just being lazy/jealous and dislike the video.
    Go ahead Laurance Moroney and keep doing what you doing we all love you and Josh Gordon.

    • @LaurenceMoroney
      @LaurenceMoroney 4 года назад

      I do understand it somewhat -- and it's typically people who *already know* this stuff are critical of it being explained this way. In order to keep it simple, I'm trying to layer in concepts, but when they don't see those concepts explained in this video, they think that it is incomplete. That's something that we call 'Curse of Knowledge' at Google, and I'm doing my best to avoid it here. I'm sorry to the folks that don't enjoy it, but you aren't the target audience for this :)

  • @manchalanagesh9585
    @manchalanagesh9585 3 года назад

    Ure super , I searched for these some doubts on that youtube, u be right person which u give correct knowledge, my sincere thanks to u by touching ure feets

  • @popbayern89
    @popbayern89 4 года назад +1

    Hello Lawrence,
    Thank you so much for this series. I am new to Tensorflow and I need to use it to classify images, along with a matrix representation that represents a certain feature (analogous to XML files with Object Detection APIs) ... As I have got no idea where to start, which Tensorflow image classification script or framework would you use, if you were me?

  • @PritishMishra
    @PritishMishra 3 года назад

    BEST TUTORIAL EVER....!!!!!!!!

  • @samjithraj7467
    @samjithraj7467 4 года назад +1

    Good Episode.. You explained it a very simple way.

  • @TejasPhase
    @TejasPhase 4 года назад

    Thanks for this Video. Now waiting for the next one.

  • @torstenknodt6866
    @torstenknodt6866 2 года назад +20

    Would be great if you could explain why 128 is perhaps a good value when having these 28*28=728 inputs and you want 10 categories at the end.

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

    Honestly, these videos are better than the codelabs,

  • @manfyegoh
    @manfyegoh 4 года назад

    cant wait for the next video!

  • @dragon_warrior_
    @dragon_warrior_ 3 года назад

    dayum these videos are cool and the codelabs too

  • @slkslkful
    @slkslkful 4 года назад

    thanks for this great series

  • @pradeepjat5929
    @pradeepjat5929 4 года назад

    Very good series(Love Machine Learning)

  • @suryanshdaspatnaik3474
    @suryanshdaspatnaik3474 4 года назад

    i love it!!!

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

    Amazing expert & tutor, thanks..Awesome

  • @RoDrop
    @RoDrop 4 года назад

    Awesome, thanks for sharing

  • @MArifinDobson
    @MArifinDobson 4 года назад

    TensorFlow rocks!

  • @rajansaharaju1427
    @rajansaharaju1427 4 года назад

    Outstanding series

  • @mihir24051969
    @mihir24051969 3 года назад

    Thank you so much !

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

    Again, thank you.

  • @kitulinokitulino3360
    @kitulinokitulino3360 4 года назад +34

    Great video.
    Last number of Table showing softmax at minute 5:54 should be 0.978 and not 9.78. These are probabilities and should sum to 1

    • @laurencemoroney655
      @laurencemoroney655 4 года назад +4

      Good point!

    • @kitulinokitulino3360
      @kitulinokitulino3360 4 года назад

      Laurence Moroney you’re most welcome :)

    • @mistsu1171
      @mistsu1171 4 года назад +1

      Oh I didn't know it was supposed to sum to 1. I thought it's just a random value...

    • @sansha2687
      @sansha2687 4 года назад +5

      @@laurencemoroney655 it is not Good point. All the numbers in the row totals upto 10 which is number of labels, you can check 9.78+0.22=10.

  • @JollyBeJolly
    @JollyBeJolly 4 года назад

    Thank you so much

  • @iamgerer
    @iamgerer 3 года назад

    thank you so much!

  • @felipeletelierbasaez6369
    @felipeletelierbasaez6369 4 года назад +1

    Where have you been this whole time Sir? Can't wait for the next episode!

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

    Everything is explained nicely except why the middle layer is chosen to be 128. What if this middle layer was 32, or 300? From a mathematical perspective I understand that more functions likely results in better fitting, but how did you determine the ideal number to use? Also, what if we just skipped this second layer entirely?

  • @bharath_v
    @bharath_v 3 года назад

    Good One!

  • @kzdm5255
    @kzdm5255 3 года назад +3

    Why are there only 127 functions when there are 28x28 pixels?

  • @kalyanalladi
    @kalyanalladi 4 года назад

    Crisp and clear

  • @tariqshabirbhatti4793
    @tariqshabirbhatti4793 4 года назад

    following this current series of ML...!

  • @KirillBezzubkine
    @KirillBezzubkine 4 года назад

    Waiting for the next vid. Thx

  • @PritishMishra
    @PritishMishra 4 года назад

    Thank you.

  • @sagar73594
    @sagar73594 4 года назад

    Nicely done.

  • @hamedk7228
    @hamedk7228 4 года назад

    Moroney is a hero!

  • @rickkamlunglee
    @rickkamlunglee 4 года назад

    Great tutorial and exercise. Just one note on the last exercise (exercise 8) with the following line:
    if(logs.get('acc')>0.9):
    Resulted in Error:
    TypeError: '>' not supported between instances of 'NoneType' and 'float'
    Quick google pointed be to change 'acc' to 'accuracy' as follows:
    if(logs.get('accuracy')>0.9):
    Then it works. Hope it helps my fellow students...

  • @javiersuarez8415
    @javiersuarez8415 4 года назад

    Thank you for sharing this videos with us. I have a question Laurence, if a had a reduced set, let us say 50 samples an 2 categories, it is worth it to increase the quality of the image or the deepness of the network to improve the accuracy score? Im my case the label comes from an expensive analysis and we are tryin to find a good aproximation using a CNN.

    • @LaurenceMoroney
      @LaurenceMoroney 4 года назад +1

      It would very much depend on the diversity of your samples. One technique to avoid overfitting, particularly with a small set is to look at Image Augmentation in Keras.

  • @inquisitivelearner8649
    @inquisitivelearner8649 10 месяцев назад +1

    Loss function - How good/bad the model did
    Optimizer - generate new parameters for the functions to do better
    Relu- Rectified linear unit
    Softmax - Picks the bigge at number in the set
    Model.predict

  • @michzouthins1657
    @michzouthins1657 4 года назад

    Cool! Very informative! If it was also about working with tensors on Google Cloud with your own pictures! I would really appreciate it!

    • @LaurenceMoroney
      @LaurenceMoroney 4 года назад +1

      Later I will show working with images that are downloaded as a zip file. It should be easy to adapt that.

  • @rcrazy5841
    @rcrazy5841 4 года назад

    thank goodness for the support of pytorch in colab'

  • @davidgodri3982
    @davidgodri3982 4 года назад

    Great video! I noticed some typos in the exercises code - such as in the last exercise the callback's name doesn't match callback created (i.e. [callbacks] should be [myCallback()]). I hope that helps! Please keep the videos and exercises coming! :)

    • @laurencemoroney655
      @laurencemoroney655 4 года назад

      Thanks! Sometimes moving from code to slides stuff creeps in. Hopefully it's ok in the links.

  • @ericlima7572
    @ericlima7572 4 года назад

    Gold!

  • @kitgary
    @kitgary 4 года назад

    After watching this series, I can tell that machine learning is so easy and everyone with enough practice and passion can become a machine learning engineer!

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

    Does anyone know why there are just 128 functions to give out a number? I mean why 128?

  • @Themojii
    @Themojii 3 года назад +1

    Great video. Just one typo. Time 5:37 is 0.978 (not 9.78) which is a probability score where all those 10 numbers should add up to 1.

  • @rabinadk1
    @rabinadk1 4 года назад +1

    Softmax doesn't set largest to one. If you just want to get the one with highest probability you can choose from the values of z. Softmax returns probability of each class.

  • @rishisharma5249
    @rishisharma5249 4 года назад +1

    Big Fan of yours sir
    Completed your deep learning. ai courses

    • @AllinOne-vd9oy
      @AllinOne-vd9oy 4 года назад

      Rishi bhai deep learning. ai courses ki link share kar sakte ho

    • @samjithraj7467
      @samjithraj7467 4 года назад

      Rishi Sharma from coursera ?

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

    bless you

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

    Can you elaborate how exact 128 is ? From how it come in picture ?

  • @saraths9044
    @saraths9044 4 года назад

    Sir I understood the working of the function relu on the second layer, but why is it used there?

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

    Why is it 128 functions?

  • @Stwinky
    @Stwinky 4 года назад

    Yeah Laurence!!!

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

    It's great to always use the same Datasets for learning, but I think I can learn quicker If I was shown how to create my own datasets and analyze them. Datasets should be called "Trainers"

    • @laurencemoroney655
      @laurencemoroney655 4 года назад

      For images, you can just create subdirectories of images, and use these as your dataset. See the next video in this series for more details.

  • @Sagar_Tachtode_777
    @Sagar_Tachtode_777 4 года назад

    great teaching style, Thank you...
    to run this code which tool you are using??
    R or Python ??

  • @TorIvanBoine
    @TorIvanBoine 4 года назад

    Any hints on how to install tensorflow without any errors?

  • @eliulm
    @eliulm 4 года назад

    nice

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

    At 4:00 in the video what does adjusting the 128 value do to the training model?

  • @oliverli9630
    @oliverli9630 4 года назад +6

    Will next episode explain why 128 neurons in the middle? thanks.

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

      No, sorry. The right number for a given problem is something you need to figure out.

    • @oliverli9630
      @oliverli9630 4 года назад

      @@laurencemoroney655 all right. thanks for answering :)

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

    Isn't 5:50 argmax not softmax?
    Also, this course if fantastic! THanks for breaking down everything, unlike some other "beginner" courses that leave all the comprehension footwork to the student!

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

      Welcome! Argmax finds the biggest. Softmax normalizes them to add up to 1 and then finds the biggest.

  • @d3nt391
    @d3nt391 3 года назад

    Can someone explain to me why in the example code we are using this fashion dataset but it keeps referring to the "handwritten digits" we're trying to classify? Is this a mistake?

  • @dhapolapankaj
    @dhapolapankaj 4 года назад

    Does the Algorithm decides which number to assign to Ankle Boot?
    Or How we can assign a number to specific object?
    Although we know the number of outputs, I'm little bit confused on assigning numeric output value!

    • @laurencemoroney655
      @laurencemoroney655 4 года назад +1

      It doesn't. The person that created the dataset labelled each piece of data, so instead of labelling something 'ankle boot', they labelled it '6'.
      Then, when training, the NN is told, 'when you see these pixels, they're a 6', 'when you see these pixels, they're a 9', and it tries to figure out the rules that determine those mappings.

  • @su-swagatam
    @su-swagatam 4 года назад +3

    I was following along with the code and when I tried to evaluate the test set with the model I got a type error:'float' object is not iterable should I cast it as an int? Great content by the way...

    • @laurencemoroney655
      @laurencemoroney655 4 года назад

      Which line specifically?

    • @basharwadan8789
      @basharwadan8789 4 года назад +1

      try to divide train_images and test_images by 225.0
      train_images, test_images = train_images/255.0 , test_images/255.0

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

    good

  • @cygmoid
    @cygmoid 4 года назад

    Does increasing the number of functions in the keras.layer.Dense make the neural network accurate?

    • @laurencemoroney655
      @laurencemoroney655 4 года назад

      It *can*, or it might be a waste of resources. That's something to experiment with.

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

    I didn’t get these f values. What are they and why 0-127?

  • @amankumarchourasiya2279
    @amankumarchourasiya2279 4 года назад

    Is my_images expected to be a numpy array or the array formed by reading an image using cv2 library of python? Please reply.

    • @laurencemoroney655
      @laurencemoroney655 4 года назад

      Generally it should be structured the same as the training dataset -- so explore the format of that, and you'll have your answer. It differs based on how you train the model.

  • @yumquickcook
    @yumquickcook 4 года назад

    Is there a more basic ml learning videos? These r good ,but m cmpltly new with these

    • @LaurenceMoroney
      @LaurenceMoroney 4 года назад

      These are as basic as I could do! :) Try the first 1-2 chapters of "Deep Learning in Python" by Francois Chollet for a more fundamental description

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

    Im another one who don't catch why 128 neurons in the middle layer. Great Video, thanks.

  • @timothymalche8907
    @timothymalche8907 3 года назад +1

    Good explanation but how to determine 128 functions?

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

    I confidently said “1” when you asked how many shoes do I see

  • @stepanvalerivich6999
    @stepanvalerivich6999 4 года назад +3

    Hey Laurence, just to clarify, does the value 128 represent the number of hidden layers we are implementing in the neural network?
    Looking forward to more videos!

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

      The 128 is the number of neurons in that layer, not the number of layers. The number of layers can be derived by counting the lines of code where we use a tf.keras.Layer(something)

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

    if we have relu and softmax in each layer- where are the model parameters/weights that will be adjusted by the optimizer ?

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

      The filter values in the convolutional layers, and the weights/biases in the 'Dense' ones

  • @erkutates151
    @erkutates151 4 года назад

    I got a question. Why any library is imported as their initials? is this a rule in programming or ease of use?
    import tensorflow as tf? import numpy as np? why is that?

    • @laurencemoroney655
      @laurencemoroney655 4 года назад

      I think it's just convenience, short and easy to remember. You could call it anything you like (import tensorflow as xy)

  • @koushikdatta5130
    @koushikdatta5130 4 года назад

  • @azmatsiddique3564
    @azmatsiddique3564 3 года назад

    Hello Sir,
    Is it compulsory to write keras.layers.Flatten(input_shape=(28,28)) ???????
    this code also work for me
    model = tf.keras.models.Sequential([tf.keras.layers.Flatten(),

  • @Superman_Kryptonite
    @Superman_Kryptonite 3 года назад +1

    why 128? I didnt get it, why it couldnt be just 100?

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

    But how do I know, how many layers and how many neurons I need? Is it just by testing and watching, if the machine is doing its job well, or is there a trick how to figure it out?

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

      Usually by trial and error, a neural architecture search, or just a good guess :)

  • @alaaeddineboutout9543
    @alaaeddineboutout9543 3 года назад +1

    why u choose 128 functions ?

  • @hadimasri420
    @hadimasri420 4 года назад

    hello Laurence pls how can i know which optimizer i have to choose and which loss? im so confused pls help me

    • @laurencemoroney655
      @laurencemoroney655 4 года назад

      The answer there is 'it depends'. My recommendation, before you understand them all, is to look at similar solutions that people have open sourced and start with the function choices they made. To learn more about different function types, and how they work, I'd recommend deeplearning.ai's specialization on Coursera taught by Andrew Ng. It was one of the primary ways I learned. :)

  • @ranaahtsham936
    @ranaahtsham936 4 года назад

    Can you please guide us on "how to prepare your own custom images datasets for testing and training?" (like I have .png images what should be the method or ways to convert my dataset for a neural network using TensorFlow.)
    #AskTanserflow

  • @zhx4427
    @zhx4427 4 года назад

    where could I learn the code