@@laurencemoroney655 Hello, Laurance. Thank you so much. I believe you are one of the few people who truly comprehend the most abstract ML concepts. I was about to smack my head against the wall. You rescued me. University professors do not teach as well as you do because they didn't understand ML fully.
Outstanding explanation!! Clear and effective communications skills. Google is really making a huge contribution to improving the human condition by making tensorflow accessible to everyone. Sort of the same way IBM released the FFT to the public !
It was a great learning and understanding of Machine Learning for which I was hearing since last year! You teaching process is so nice that anybody (Non-IT) could be able figure out what is Machine Learning Process! Thank you!!!
yo videos are the best .. and so easy to understand. Itsmore like you have a previous experience with teaching at Primary School....Im trying to say u have a good gift of teaching
Another great video from Laurence! Thanks for the great lecture! Have a splendid day everyone. Good luck with your journey on conquering the world of Machine Learning!😁👍
@@laurencemoroney655 Thank you so much for your reply Laurence! Just to clarify, I didn't mean conquering the physical world, I meant to conquer the world OF machine learning. As in, to reach a level of proficiency in machine learning skills! Have a fantastic day! Thank again, and yes, let's make this world a better place 😊👍
Sir am very much thankful to you as now I can visualize what am doing inside CNN. Previously I cannot connect the theories and practical but now I have some training ideas.
please create a playlist of only Introducing convolutional neural networks (ML Zero to Hero, parts) otherwise, i like your work. learning more from this.
It *might*. But more likely decreasing will lead to overfitting, increasing will lead to inefficiency of learning, as it's trying to learn more convolutions that match features when it may not need to. Think about it this way -- when distinguishing Rock/Paper/Scissors, how many unique 'items' would you need to have a set of rules to determine the differences between them? Maybe it's 64, but maybe only 20 would be enough etc. Part of the fun is in making your NNs as efficient as possible by removing stuff that while it might be useful, might also be not worth the training cost of having it in...
Saw a special on PBS about hawks or eagles. The birds occasionally flew too close to electrical generating windmills. A camera connected to a computer system would scan the near horizon for a bird nearby. If a flying bird was located, the windmill blades were prevented from turning, thus saving the bird from being killed by the rotating blade. Must have been machine learning application
I do have a follow-up question and I have spent days to figure it out. I used your example to train a model that can recognize pictures in a book. I works perfectly as long as I am in the python environment. But I can't seem to get it out of there. I used model.save, but I have not found a method to convert that data into any format I can use in any other application. I am aiming for Tensorflow sharp, because I want to use it in Unity, but I also failed in tesorflowjs - where at least I got a comprehensible error message about the shape. Is this approach even meant to do anything outside this environment?
Keras assigns filters pseudo-randomly, and then learns which ones 'work' over time. For the vertical/horizontal examples I hand-wrote code to apply them as a filter just to illustrate the point. Code is here: github.com/lmoroney/dlaicourse/blob/master/Course%201%20-%20Part%206%20-%20Lesson%203%20-%20Notebook.ipynb
I have a question: We know that in Covolutional Neural Network, the filters are brought into picture and they scan through the image by breaking the image into patches. Moreover the concept of Stride and Padding is also brought in order to retain some information but when we perform Pooling, based on some aggregate metric, generally there is a loss of information. How do we go onto prevent that loss of Information!? Is there any way around!? Or any tweaking in Pooling layer can help it out. You reply is awaited.
The point isn't really to *prevent* loss of information, but to learn a set of filters that when applied to the images will help us more effectively match the images to the labels. So it's less about maintaining pixel fidelity and more about understand what makes an image match its associated label.
When I try to run the comand: model.fit(train_images, train_labels, epochs=5) I receive this error message: ValueError: Error when checking input: expected conv2d_1_input to have 4 dimensions, but got array with shape (60000, 28, 28) **PS: I used the code of the second video (CV with ML part 2) and I add the convolutional layers, as Laurence taught. Somebody knows how to solve this issue?
Nervermind, I already fixed this reading the lecture on google colab I had to add 2 lines on my code in order to solve training_images=training_images.reshape(60000, 28, 28, 1) test_images = test_images.reshape(10000, 28, 28, 1)
I've got one query, if I have 32 filters in first CNN and 64 filters in 2nd CNN. When I pass an single image through first CNN block, then I will get 32 outputs from 32 filters . So does each output will go through those 64 filters in 2nd CNN block? That makes total outputs from 2nd CNN block will be 64x32= 2048 outputs by the end of 2nd CNN layer for one single image? Help me to sort out this issue Mr.moroney. Thanks
Laurence sir, am enjoying your series very well but am absolutely newbie to ML, i hope you recommend some beginner guide that i can put my hands on it for more understanding. Thanks, regards.
Hehe i already visited github repo and tried all up coming parts of the video 😂 so smart of me... But these videos are really really very simple for anybody to get started for the first time
@@RajaSekharaReddyKaluri following along the Google colab notebook in the address link you can see the GitHub username Btw i have forked the repo you can have a look github.com/imneonizer/mlday-tokyo
(28,28,1) means that it only has one layer... if it was color (28,28,3). As far as I know this is it. (3,3) as far as I read in the docs is the strides (An integer or tuple/list of 2 integers, specifying the strides of the convolution along the height and width.) Correct me if I´m wrong.
@@fmaion Yep -- exactly. If you look at 1:18, I'm using a 3x3 grid for the convolution. Hence (3,3) in the size. If I wanted 5x5 grids, for example, I'd change that parameter
Hello Laurence! First off, thank you so much for these videos, they're really informative and helpful. I tried implementing the code shown in this video, but I get this error: ValueError: Error when checking input: expected conv2d_input to have 4 dimensions, but got array with shape (60000, 28, 28) Please do help. Thanks!
@Rohan Giriraj, the problem is that you need to reshape your training_images. Just add the following lines after loading the data: training_images = training_images.reshape(60000, 28, 28, 1) test_images = test_images.reshape(10000, 28, 28, 1) Let me know if this helps!
i face one problem . i have 5 category of images i gather data set and ground truth and train cnn model and do prediction all well . but as soon as new category and when i run throught my trained model it categorize the new category into one of 5 category existing how . how can i prevent this false positive behaviour . the unseen image it predicts with high confidence which is a big problem
If you have a new (6th) category, then you'll need a new model that can predict 6 categories, which you could get either by building a new one from scratch (recommended in this case) or through transfer learning.
I didn't wanna subscribe since advanced videos will most likely intimidate a beginner, but you said, "don't forget to subscribe", so I was like... Well ok....
@@beaconsys Sorry, I wasn't clear! :) -- We have an internal production team and studio at Google offices that do the post production etc. for us. It's not a piece of software or tool.
I like this video so much. If you don't mind,I would like to ask you permission to share this video to the other website in China for the reason that UA-cam is blocked from acessing in China .Of course,I will give sources of the original website .Thank you very much
no where on youtube i was able to get such clarity on tensor flows. You guys literally have saved me a lot of time
Up to now this is the best explanation of how does Convolutional neural networks work. Awesome!
This is the best beginning AI series I've seen. It really cuts through the mysteries.
Truly, I literally hit my head because I thought I was too dumb for a week. His explanation is superb and intuitive.
Laurence is the best one in explaining these things! Laurence "TheFeynman" Moroney :D
Haha! The Feynman! :)
Greatest example of how an image looks after multiplied by a filter I have come across so far!
You make these concepts look so easy, I am relearning and enjoying.
Cool, I'm glad! :)
@@laurencemoroney655 Hello, Laurance. Thank you so much. I believe you are one of the few people who truly comprehend the most abstract ML concepts. I was about to smack my head against the wall. You rescued me. University professors do not teach as well as you do because they didn't understand ML fully.
Outstanding explanation!! Clear and effective communications skills.
Google is really making a huge contribution to improving the human condition by making tensorflow accessible to everyone.
Sort of the same way IBM released the FFT to the public !
Thanks! :)
That's the best explanation straight forward, clear and concise-thanks
It was a great learning and understanding of Machine Learning for which I was hearing since last year! You teaching process is so nice that anybody (Non-IT) could be able figure out what is Machine Learning Process! Thank you!!!
This series is really amazing! Love it!
Awesome, thanks!
I love this series of explaination! It's easy to follow along. I can't wait for the next episode!
Next one is last one :)
@@laurencemoroney655 you have the link "part 4"?
yo videos are the best .. and so easy to understand. Itsmore like you have a previous experience with teaching at Primary School....Im trying to say u have a good gift of teaching
Thanks so much! :)
Excellent. The link to the notebook appears broken. His book "AI and Machine Learning for Coders" is just amazing too.
Bravo!!! So far the best explanation and support material on NN and DL
Thanks, Antonio! :)
you have explained this far better than my DS lecturer!
best videos about ML i just love it its soo good even for me as an beginner. Thank you !
Welcome! Glad you like :)
Another great video from Laurence! Thanks for the great lecture! Have a splendid day everyone. Good luck with your journey on conquering the world of Machine Learning!😁👍
Thanks! But instead of conquering the world, let's use our skills to make it a better place :)
@@laurencemoroney655 Thank you so much for your reply Laurence! Just to clarify, I didn't mean conquering the physical world, I meant to conquer the world OF machine learning. As in, to reach a level of proficiency in machine learning skills! Have a fantastic day! Thank again, and yes, let's make this world a better place 😊👍
Sir am very much thankful to you as now I can visualize what am doing inside CNN. Previously I cannot connect the theories and practical but now I have some training ideas.
Great!
This is the best explaination that i have never seen
Awesome! Suddenly everything makes sense. Thanks mate , you are the best
Welcome!
I have done some courses and read books too, but the way you explained everything is really great. Thanks for the great content.
This is really good for beginners, short and sweet videos... and alot to learn
Thanks!
Laurence's videos go well with his book"AI and Machine Learning for Coders".
OMG, so fluent and cool videos! Thank you!
Best and simple way of explanation to layman like me
Nice Work appreciate it
👍🙏
Thanks! :)
This is really awesome, well explained and easy to understand. Thanks
Thank you so much!!! from south korea
Welcome!
THis vedio teaches really good! Thank you!
Amazing job Laurence !!
Thanks for watching! :)
That was extremely helpful and informative, thank you a lot to Laurence Moroney for that :)
please create a playlist of only Introducing convolutional neural networks (ML Zero to Hero, parts) otherwise, i like your work. learning more from this.
It's part of the bigger 'Coding TensorFlow' show, and I prefer to keep it in that playlist, sorry!
Thank you Lawrence for this teaching. The link to the codelab is showing 404 error. could you please rectify this?
Try this one developers.google.com/codelabs/tensorflow-4-cnns#1
Amazing
It's the best I have seen
4:05 why 64 does increasing this no. overfit the model
It *might*. But more likely decreasing will lead to overfitting, increasing will lead to inefficiency of learning, as it's trying to learn more convolutions that match features when it may not need to. Think about it this way -- when distinguishing Rock/Paper/Scissors, how many unique 'items' would you need to have a set of rules to determine the differences between them? Maybe it's 64, but maybe only 20 would be enough etc. Part of the fun is in making your NNs as efficient as possible by removing stuff that while it might be useful, might also be not worth the training cost of having it in...
@@laurencemoroney655 totally got you point. we should keep filters as high that it will not overfit and as low that it is cost efficient.
Hi There! I am not able to find the notebook that you have mentioned in the link. Can anyone share it with me if they have ?
Try this one developers.google.com/codelabs/tensorflow-4-cnns#1
Excelentes videos!!!! Son los mejores maestros que todos pueden desear! Thanks!!!!
Thank you! :)
Saw a special on PBS about hawks or eagles. The birds occasionally flew too close to electrical generating windmills. A camera connected to a computer system would scan the near horizon for a bird nearby. If a flying bird was located, the windmill blades were prevented from turning, thus saving the bird from being killed by the rotating blade. Must have been machine learning application
thank you for that amazing video, so this was in image prediction what about text prediction are there any videos and examples, please
I'm shooting a series on NLP for Zero to Hero next week :)
I would like to correct at 1:32 in the equation at 7th term you had mistakenly type (1.5*42) instead of (1.5*142.)
Thank you for the clear explanation.
Seymore I'm loving it.. FEED me the next ep!!
I'm a mean green mother from Western Europe and I'm fightin' mad! :)
awesome video! exactly what I needed :)
Wow, this an excellent explanation, thanks!
Thank u for the amazing information and teaching but plz add Arabic subtitles for this series 🙏🏻❤️
Very nice video Laurence. You are a very teacher too 👍
Thank you! :)
This is so freaking good, explained so well thank you
PERFECTLY EXPLAINED!
Damn..
You are the best thing in the internet..
I do have a follow-up question and I have spent days to figure it out. I used your example to train a model that can recognize pictures in a book. I works perfectly as long as I am in the python environment. But I can't seem to get it out of there.
I used model.save, but I have not found a method to convert that data into any format I can use in any other application. I am aiming for Tensorflow sharp, because I want to use it in Unity, but I also failed in tesorflowjs - where at least I got a comprehensible error message about the shape. Is this approach even meant to do anything outside this environment?
Maybe take a look at TensorFlow Lite? www.tensorflow.org/lite/guide/get_started#2_convert_the_model_format
I love your explanation
Hi Laurence, how do you choose in keras the filters (kernels)?, like the ones on your examples to filter vertical and horizontal lines?
Keras assigns filters pseudo-randomly, and then learns which ones 'work' over time. For the vertical/horizontal examples I hand-wrote code to apply them as a filter just to illustrate the point. Code is here: github.com/lmoroney/dlaicourse/blob/master/Course%201%20-%20Part%206%20-%20Lesson%203%20-%20Notebook.ipynb
I have a question:
We know that in Covolutional Neural Network, the filters are brought into picture and they scan through the image by breaking the image into patches. Moreover the concept of Stride and Padding is also brought in order to retain some information but when we perform Pooling, based on some aggregate metric, generally there is a loss of information. How do we go onto prevent that loss of Information!? Is there any way around!? Or any tweaking in Pooling layer can help it out.
You reply is awaited.
The point isn't really to *prevent* loss of information, but to learn a set of filters that when applied to the images will help us more effectively match the images to the labels. So it's less about maintaining pixel fidelity and more about understand what makes an image match its associated label.
I would like to thank you for all what to you do.
You are very welcome! :)
When I try to run the comand: model.fit(train_images, train_labels, epochs=5)
I receive this error message: ValueError: Error when checking input: expected conv2d_1_input to have 4 dimensions, but got array with shape (60000, 28, 28)
**PS: I used the code of the second video (CV with ML part 2) and I add the convolutional layers, as Laurence taught.
Somebody knows how to solve this issue?
Nervermind, I already fixed this reading the lecture on google colab
I had to add 2 lines on my code in order to solve
training_images=training_images.reshape(60000, 28, 28, 1)
test_images = test_images.reshape(10000, 28, 28, 1)
am getting a 404 err0r when i try opening the link to the codelab. Kindly help
I've got one query, if I have 32 filters in first CNN and 64 filters in 2nd CNN. When I pass an single image through first CNN block, then I will get 32 outputs from 32 filters . So does each output will go through those 64 filters in 2nd CNN block?
That makes total outputs from 2nd CNN block will be 64x32= 2048 outputs by the end of 2nd CNN layer for one single image?
Help me to sort out this issue Mr.moroney.
Thanks
stackoverflow.com/questions/36946671/keras-model-summary-result-understanding-the-of-parameters
Hi what math resources should I study for the mathematical concepts behind convolutional neural networks and machine learning in general?
It's hard to wait for every next video. Complete course playlist should be upload in a week. #
TensorFlow
Was tempted to do that, but then the first one wouldn't be available until next week along with the last one :)
When I run the code the error is “ Keras” is not defined. How do I get the keras.Sequential function to work ?
Would be great if you could graphically show the impact of the parameters to the layers.
Laurence sir, am enjoying your series very well but am absolutely newbie to ML, i hope you recommend some beginner guide that i can put my hands on it for more understanding. Thanks, regards.
This is a beginner guide :) -- To go higher, maybe look at Francois Chollet's "Deep Learning in Python" book, at least the earlier chapters...
Vera level explanation....
Very nice tutorial!
Thanks!
Damn good. Explained so well. Thank you.
Hehe i already visited github repo and tried all up coming parts of the video 😂 so smart of me... But these videos are really really very simple for anybody to get started for the first time
That's cheating!
@Nitin Rai
Can you provide me link to GitHub repo??
@@RajaSekharaReddyKaluri following along the Google colab notebook in the address link you can see the GitHub username
Btw i have forked the repo you can have a look github.com/imneonizer/mlday-tokyo
I've been following the series and I must say it's an insightful video about CNN,could you also shed some light on backpropagation calculus.
That's a bit complex for this series, but I'll consider it for future vids
Simple and awesome!!
Thanks, Raja
Can Anybody Please Tell Me What Is (3,3) In Conv 2D Code And Also Why The Input Shape Is (28,28,1) Not Just (28,28)?
(28,28,1) means that it only has one layer... if it was color (28,28,3). As far as I know this is it.
(3,3) as far as I read in the docs is the strides (An integer or tuple/list of 2 integers, specifying the strides of the convolution along the height and width.)
Correct me if I´m wrong.
@@fmaion Yep -- exactly. If you look at 1:18, I'm using a 3x3 grid for the convolution. Hence (3,3) in the size. If I wanted 5x5 grids, for example, I'd change that parameter
The convolutional layers you mention are they perform by standard mathematics or through trying to imitate neurons?
Hi there. How does ML function with tracking data points? Thanks
Hello Laurence! First off, thank you so much for these videos, they're really informative and helpful.
I tried implementing the code shown in this video, but I get this error:
ValueError: Error when checking input: expected conv2d_input to have 4 dimensions, but got array with shape (60000, 28, 28)
Please do help.
Thanks!
Can you try it with my code (linked in description), and see if it goes away.
@Rohan Giriraj, the problem is that you need to reshape your training_images.
Just add the following lines after loading the data:
training_images = training_images.reshape(60000, 28, 28, 1)
test_images = test_images.reshape(10000, 28, 28, 1)
Let me know if this helps!
i face one problem . i have 5 category of images i gather data set and ground truth and train cnn model and do prediction all well . but as soon as new category and when i run throught my trained model it categorize the new category into one of 5 category existing how . how can i prevent this false positive behaviour . the unseen image it predicts with high confidence which is a big problem
If you have a new (6th) category, then you'll need a new model that can predict 6 categories, which you could get either by building a new one from scratch (recommended in this case) or through transfer learning.
so basiclly the filters just give an abstract and simple image with some features and from those features we identify the object is that it
finally cnn well explained!! thanks
Thanks so much! :)
why tensorflow is not detecting my gpu after cuda and cudnn install
I didn't wanna subscribe since advanced videos will most likely intimidate a beginner, but you said, "don't forget to subscribe", so I was like... Well ok....
I wasn't going to subscribe until I read your thought-provoking story of subscriber redemption. It won me over.
Thank you , sir so much!!!
Welcome!
The Codelab link is broken, please update
where can i find part 1 and 2
They're on this channel...
Hello tensorflow, your videos are so good, can you please share with me what application you use to prepare them
Slides are done in Google docs...
I film in front of a green screen
Google have a professional video production studio that then put them together.
@@laurencemoroney655 can you give a link for that video production studio? I tried, but they all lead to 3rd party tools. Thanks.
@@beaconsys Sorry, I wasn't clear! :) -- We have an internal production team and studio at Google offices that do the post production etc. for us. It's not a piece of software or tool.
I like this video so much. If you don't mind,I would like to ask you permission to share this video to the other website in China for the reason that UA-cam is blocked from acessing in China .Of course,I will give sources of the original website .Thank you very much
I think the Google folks in China are already doing that with a Chinese-language version
Sir How can I learn tf programming step by step from absolute beginning?
Try my Coursera 'Introduction to TensorFlow' course
Thanks a lot!
Sir can u make a project hand writing recognition use deep learning CNN
Take a look at the MNIST dataset for a good start in this.
Thank yoou , great vedio !
Thanks! :)
Thank you.
The link to the codelab is not working...its giving a 404 error...
Anyways, this series is amazing!! Suddenly everything makes sense!
Fantastic!
:)
Hi Sir, your explanation is great. But what happens if we specify the input_shape=(28, 28 , -1)?
Please reply ASAP, Thanks.
#AskTensorFlow
I'm a little confused by the question -- why would you want to? The images are 28x28 with 1 byte color depth, hence 28x28x1
Is tf.keras.layers the same as tf.layers?
stackoverflow.com/questions/51089334/what-is-the-difference-between-tf-keras-layers-versus-tf-layers
The Codelab link looks broken for me.
same
Here is the updated link: developers.google.com/codelabs/tensorflow-3-convolutions#0
link is not working anymore ://
where can I access the code?
Here is the updated link: developers.google.com/codelabs/tensorflow-3-convolutions#0
@@TensorFlow thank you
Here is the link to the notebook, developers.google.com/codelabs/tensorflow-3-convolutions#0,the link in the description is not working.
Can you guys make a video on "how to insert custom dataset in tensorflow"
You mean publish to TFDS? I'm working on one of those...
whats problem in this?
just create your custom data and load it though pandas. simple
thank you
Awesome!
Thanks!
link is broken
Hello sir ,it was very knowledgeable video, I want to make cow face recognition program using machine learning with python, so pls advise me
But I prefer see what happens between layers on more simple example, it all about mess of coefs but anyway ...
It's hard to have simpler examples, but maybe try the Y=2X-1 one I've used before and inspect the neurons for weights and biases?
Thanks!
Welcome! :)