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

Поділитися
Вставка
  • Опубліковано 12 січ 2025

КОМЕНТАРІ • 238

  • @kaustaubh1234
    @kaustaubh1234 5 років тому +8

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

  • @biomystical
    @biomystical 5 років тому +65

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

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

  • @kciudaras
    @kciudaras 5 років тому +46

    Waiting for the next episode! Such a great series

    • @laurencemoroney655
      @laurencemoroney655 5 років тому +1

      Thanks!

    • @kaelhop
      @kaelhop 5 років тому +1

      Introducing convolutional neural networks (ML Zero to Hero, part 3): ua-cam.com/video/x_VrgWTKkiM/v-deo.html

  • @ConsultingjoeOnline
    @ConsultingjoeOnline 4 роки тому +42

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

  • @kitulinokitulino3360
    @kitulinokitulino3360 5 років тому +35

    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 5 років тому +4

      Good point!

    • @kitulinokitulino3360
      @kitulinokitulino3360 5 років тому

      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.

  • @amankumarchourasiya2279
    @amankumarchourasiya2279 4 роки тому +7

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

  • @raviverma7197
    @raviverma7197 2 роки тому

    thank you to the whole team of tensorflow

  • @alkhashtee
    @alkhashtee 5 років тому

    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 5 років тому

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

  • @eliasdimadis8307
    @eliasdimadis8307 Рік тому

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

  • @chrismorris5241
    @chrismorris5241 5 років тому +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!

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

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

  • @iamrising7176
    @iamrising7176 4 роки тому +5

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

  • @rohanmanchanda5250
    @rohanmanchanda5250 3 роки тому +1

    Honestly, these videos are better than the codelabs,

  • @Themojii
    @Themojii 4 роки тому +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.

  • @manchalanagesh9585
    @manchalanagesh9585 4 роки тому

    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

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

  • @roningick5707
    @roningick5707 Рік тому

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

  • @kzdm5255
    @kzdm5255 4 роки тому +3

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

  • @shrikantrane9601
    @shrikantrane9601 3 роки тому +2

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

  • @inquisitivelearner8649
    @inquisitivelearner8649 Рік тому +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

  • @samjithraj7467
    @samjithraj7467 5 років тому +1

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

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

  • @krishnakhadka2802
    @krishnakhadka2802 2 роки тому +1

    if u tried out the code in tensorflow 2.0, there are few changes
    tf.train.AdamOptimizer() => tf.optimizers.Adam()
    if getting following error: TypeError: cannot unpack non-iterable float object
    add metrics i.e. model.compile(optimizer=tf.optimizers.Adam(), loss='sparse_categorical_crossentropy', metrics='accuracy')
    or remove test_acc i.e. test_loss= model.evaluate(test_images, test_labels)

  • @weiyewang2903
    @weiyewang2903 3 роки тому

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

  • @lethecat
    @lethecat 3 роки тому

    Wonderful explanations! Looking forward to more videos!

  • @GoribMahi
    @GoribMahi Рік тому

    Wonderful explanations! Looking forword to more videos.

  • @navidabasi
    @navidabasi 4 роки тому +2

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

  • @thamizhendiranc4229
    @thamizhendiranc4229 5 років тому +4

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

  • @kitgary
    @kitgary 5 років тому

    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!

  • @lucasmarques4521
    @lucasmarques4521 3 роки тому +1

    I just didn´t understand why the number 128.
    It´s just a arbitrary number ?

    • @laurencemoroney655
      @laurencemoroney655 2 роки тому +2

      Mostly, and it's up for experimentation. Find the smallest one that gives the best results.

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

  • @oliverli9630
    @oliverli9630 5 років тому +6

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

    • @laurencemoroney655
      @laurencemoroney655 5 років тому +2

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

    • @oliverli9630
      @oliverli9630 5 років тому

      @@laurencemoroney655 all right. thanks for answering :)

  • @mustafakhan5821
    @mustafakhan5821 2 роки тому +1

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

  • @aaronphan3625
    @aaronphan3625 5 років тому

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

  • @mohammedamirjaved8418
    @mohammedamirjaved8418 2 роки тому

    Laurence Moroney! You are just Love..

  • @psy0rz
    @psy0rz 5 років тому

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

  • @JamesJon1187
    @JamesJon1187 3 роки тому

    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.

  • @smartcontxlimited5658
    @smartcontxlimited5658 5 років тому

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

  • @pradeepjat5929
    @pradeepjat5929 5 років тому

    Very good series(Love Machine Learning)

  • @felipeletelierbasaez6369
    @felipeletelierbasaez6369 5 років тому +1

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

  • @Superman_Kryptonite
    @Superman_Kryptonite 4 роки тому +1

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

  • @PritishMishra
    @PritishMishra 4 роки тому

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

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

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

  • @William_Clinton_Muguai
    @William_Clinton_Muguai 3 роки тому

    I love it! AI is super-amazing!

  • @dhapolapankaj
    @dhapolapankaj 5 років тому

    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 5 років тому +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.

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

  • @TorIvanBoine
    @TorIvanBoine 5 років тому

    Any hints on how to install tensorflow without any errors?

  • @timothymalche8907
    @timothymalche8907 4 роки тому +1

    Good explanation but how to determine 128 functions?

  • @dragon_warrior_
    @dragon_warrior_ 3 роки тому

    dayum these videos are cool and the codelabs too

  • @rishisharma5249
    @rishisharma5249 5 років тому +1

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

    • @AllinOne-vd9oy
      @AllinOne-vd9oy 5 років тому

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

    • @samjithraj7467
      @samjithraj7467 5 років тому

      Rishi Sharma from coursera ?

  • @saraths9044
    @saraths9044 4 роки тому

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

  • @stepanvalerivich6999
    @stepanvalerivich6999 5 років тому +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 5 років тому +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)

  • @fatmabradai9601
    @fatmabradai9601 Місяць тому

    I couldn andrestand 128 and the the function f0 .. f127 how it works to get the 9 result

  • @lysapala2812
    @lysapala2812 3 роки тому

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

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

  • @learnwithajwa4689
    @learnwithajwa4689 4 роки тому

    It's really helpful me in understanding the the concept

  • @erkutates151
    @erkutates151 5 років тому

    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 5 років тому

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

  • @TejasPhase
    @TejasPhase 5 років тому

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

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

  • @luisaguiar4415
    @luisaguiar4415 4 роки тому

    Very clear. Great video

  • @Innovativest
    @Innovativest 2 роки тому

    sorry, where is the code he says it is in the notebook below?

  • @rajansaharaju1427
    @rajansaharaju1427 5 років тому

    Outstanding series

  • @alaaeddineboutout9543
    @alaaeddineboutout9543 4 роки тому +1

    why u choose 128 functions ?

  • @azmatsiddique3564
    @azmatsiddique3564 4 роки тому

    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(),

  • @tariqshabirbhatti4793
    @tariqshabirbhatti4793 5 років тому

    following this current series of ML...!

  • @luis96xd
    @luis96xd 4 роки тому

    Amazing video, it was well explained

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

  • @Usle1230editz
    @Usle1230editz 2 роки тому

    Amazing expert & tutor, thanks..Awesome

  • @slkslkful
    @slkslkful 5 років тому

    thanks for this great series

  • @aliabed9394
    @aliabed9394 4 роки тому

    I think that not always a computer vision system is a machine learned system, right?
    Thanks

  • @javiersuarez8415
    @javiersuarez8415 5 років тому

    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 5 років тому +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.

  • @manfyegoh
    @manfyegoh 5 років тому

    cant wait for the next video!

  • @Multimassar
    @Multimassar 4 роки тому

    I did not understand the 128 part, why picking 128?

  • @davidgodri3982
    @davidgodri3982 5 років тому

    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 5 років тому

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

  • @kinglaw1688
    @kinglaw1688 3 роки тому

    Im currently learning python do I need to be good at maths to learn what you are teaching here?

    • @laurencemoroney655
      @laurencemoroney655 2 роки тому

      I don't think so. I'm not particularly good at Maths.. :P

  • @iangonzalez4309
    @iangonzalez4309 4 роки тому

    After running test_loss, test_acc = model.evaluate(test_images, test_labels), I got this error: TypeError: cannot unpack non-iterable numpy.float64 object
    Does anyone know why?

    • @donatassederevicius6313
      @donatassederevicius6313 4 роки тому

      You need to add an accuracy metric:
      model.compile(optimizer = tf.keras.optimizers.Adam(),
      loss = 'sparse_categorical_crossentropy',
      metrics=['accuracy'])

  • @arifindobson
    @arifindobson 5 років тому

    TensorFlow rocks!

  • @yumquickcook
    @yumquickcook 5 років тому

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

    • @LaurenceMoroney
      @LaurenceMoroney 5 років тому

      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

  • @the_techelite_6097
    @the_techelite_6097 3 роки тому

    So how does all this code look like when compiled

  • @michzouthins1657
    @michzouthins1657 5 років тому

    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 5 років тому +1

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

  • @rohanmanchanda5250
    @rohanmanchanda5250 3 роки тому

    1:07 - Ashuwashoo? What's that sir??

  • @Sagar_Tachtode_777
    @Sagar_Tachtode_777 4 роки тому

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

  • @ManojAP
    @ManojAP 5 місяців тому

    Thanks sir, it helps lot

  • @hadimasri420
    @hadimasri420 5 років тому

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

    • @laurencemoroney655
      @laurencemoroney655 5 років тому

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

  • @RandomGuy-hi2jm
    @RandomGuy-hi2jm 5 років тому +1

    can we do the same with voice data???

    • @jarosawmaruszewski1678
      @jarosawmaruszewski1678 5 років тому +2

      Why not. Just series of numbers with label assigned. NN is agnostic to input nature.

  • @smhmkkh
    @smhmkkh 4 роки тому

    How do people find all these photos on e.g shoes. He used 70 thousand images of them of course its not possible to collect them 1 by 1 right?

  • @powerhour4602
    @powerhour4602 5 років тому

    Are we no longer acknowledging the difference between ML and DL? Is DL now nestled within ML?

    • @LaurenceMoroney
      @LaurenceMoroney 5 років тому +1

      Not at all. I'm just trying to keep this as simple as possible by reducing the concept count. At the moment, we're at a very abstract high level where there's little difference between the two, and it would take a lot more detail before we'd need to get into the distinctiveness between them. Let's focus on teaching the concepts first so that we can understand the more advanced stuff as it appears.

  • @Robert-ht5kd
    @Robert-ht5kd Рік тому

    You didn"t say what are those f0 - f127 functions.

  • @subrahmanyamvemuri5881
    @subrahmanyamvemuri5881 4 роки тому

    This is wonderful.

  • @zhx4427
    @zhx4427 4 роки тому

    where could I learn the code

  • @saisagole2143
    @saisagole2143 4 роки тому

    Why did you specifically chose 128 functions

  • @hamedk7228
    @hamedk7228 5 років тому

    Moroney is a hero!

  • @hal_from_all_nations
    @hal_from_all_nations 7 місяців тому

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

  • @revietech5052
    @revietech5052 4 роки тому

    Why do we have 128 functions? Why 128?

    • @laurencemoroney655
      @laurencemoroney655 4 роки тому +1

      Purely arbritrary. Test different values to get the best results.

  • @KirillBezzubkine
    @KirillBezzubkine 5 років тому

    Waiting for the next vid. Thx

  • @ranaahtsham936
    @ranaahtsham936 5 років тому

    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

  • @sagar73594
    @sagar73594 5 років тому

    Nicely done.