Тёмный

TensorFlow Tutorial #02 Convolutional Neural Network 

Hvass Laboratories
Подписаться 26 тыс.
Просмотров 196 тыс.
50% 1

How to make a Convolutional Neural Network in TensorFlow for recognizing handwritten digits from the MNIST data-set.
This tutorial has been updated to work with TensorFlow 2.1 and possibly later versions using "v.1 compatibility mode".
github.com/Hvass-Labs/TensorF...
The 2nd convolutional layer can be hard to understand because of the multiple input and output channels. Here is the math formula but it is probably even more confusing: www.tensorflow.org/api_docs/p...

Наука

Опубликовано:

 

2 авг 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 246   
@Red-ft9sb
@Red-ft9sb 8 лет назад
ONE WORD! EXCELLENT! Far superior to Udacity's DL course which only provides confusion. Same with the rest, I care about concepts a lot as implementation is too basic once you get the fundamentals of what you are implementing. Excellent work sir!
@hvasslabs
@hvasslabs 8 лет назад
Thanks very much! I also took the official Udacity course and found it to be frustrating, that's why I started doing these videos.
@KamalNayanlotus
@KamalNayanlotus 7 лет назад
same here !! Udacity's course is quite unclear with its assignments !! they haven't clearly defined what need to be done ....!!
@galloden
@galloden 7 лет назад
Agreed. Watching these videos, the concepts 'click' with ease vs. some of the online courses that overlook the simple explanations that is sometimes required to students to understand whats going on.
@gw1284
@gw1284 7 лет назад
EXCELLENT explanation!
@geekyboy7725
@geekyboy7725 6 лет назад
Hey what do u think future of ML
@himanshuladia9099
@himanshuladia9099 6 лет назад
One of the highly underrated conv neural net videos on the internet.
@generalqwer
@generalqwer 7 лет назад
Udacity DL student here and this is gold! thinking about posting it in the forums
@pratyushpriyadarshi8130
@pratyushpriyadarshi8130 6 лет назад
Thank you for your effort into creating this tutorial series for tensorflow!
@raiakil
@raiakil 6 лет назад
I was having the trouble of my life understanding the TF business but thanks to you I now understand. Thank you sincerely
@user-tl5vx1un1m
@user-tl5vx1un1m 8 лет назад
Wow, your work is great. Helper function you made gave us the intuition of Convolution Neural Networks. I wanted to see filtered images by convolution layers. And you showed me them. Thank you!
@zweibo
@zweibo 5 лет назад
You made the most intuitive insight on CNN. Well documented! Thanks for working on this.
@qinpeng8871
@qinpeng8871 6 лет назад
Best CNN tutorials I've ever seen so far. So good!
@brodyjames919
@brodyjames919 7 лет назад
I've learned more from a single one of your tutorials than hours upon hours digging through Tensorflow documentation. I honestly wish you could have been there for the development of Tensorflow making design decisions. I'm sure it'd be much more intuitive to use and better documented.
@hvasslabs
@hvasslabs 7 лет назад
Thanks that's a very nice compliment! They definitely needed SOMEONE to make executive design decisions. The TensorFlow API feels like they had 100 people all going in different directions without a supervisor. The multiple builder API's is a great example of this. There should have been only one single builder API instead of 3-4-5 different ones. I did actually propose that Google hired me to work on tutorials. I even said I was flexible on salary and job-title. But I never heard anything from them. It is a pity that they don't take documentation and teaching materials more seriously.
@papachristoumarios
@papachristoumarios 8 лет назад
Great and in-depth descriptive video on Covnets!
@mdmaklachurrahman5554
@mdmaklachurrahman5554 5 лет назад
Best tutorial I ever watched on this topic.Thank you so much.
@swapnilg.5996
@swapnilg.5996 4 года назад
hands down the best tutorials out there. Thanks a lot!
@27051740
@27051740 6 лет назад
This tutorial > any paid Deep learning and CNN tutorial ever! Best Cnn tutorial on youtube!
@hvasslabs
@hvasslabs 6 лет назад
Thanks very much!
@GilangD21
@GilangD21 6 лет назад
you are a true savior for me man, wish the best always come for you.
@Seanog1231
@Seanog1231 5 лет назад
You explain the basics so well making the whole experience almost painless. The discontinued libraries make getting started a pain but I guess nothing stands still in this AI world. Well done sir and a donation will be on the way to my favorite charity.
@hvasslabs
@hvasslabs 5 лет назад
Thanks and I'm glad to hear you're donating to charity! :-) The problem was that the Google Devs didn't want a high-level API for TensorFlow. It was a stupid effing decision that has caused a lot of grief to everyone using TensorFlow.
@alesolano5507
@alesolano5507 7 лет назад
Amazing! Thanks a lot! You, Andrej Karpathy's cs231n class and Michael Nielsen's book are helping me way too much! Thanks again for this incredible tutorial.
@jiashenglai5509
@jiashenglai5509 6 лет назад
This is simply excellent. Very professional. Thank you so much
@001zeal
@001zeal 7 лет назад
this is wonderfully exlained.. thank you so much
@Anik70053
@Anik70053 6 лет назад
Great tutorial in understanding MNIST.
@ginebro1930
@ginebro1930 6 лет назад
I fell in love with that code because it's so well commented hahaha, thanks so much for the tutorial!
@hvasslabs
@hvasslabs 6 лет назад
I'm glad you like it THAT much :-)
@ausseriridische976
@ausseriridische976 5 лет назад
I know haha to document this well is literally goals!
@RaghavaIndra
@RaghavaIndra 6 лет назад
Best tutorial on the internet!
@chenqiancai16
@chenqiancai16 6 лет назад
This is definitely the best explanation I have ever seen !!! Thank you so much for the effort !!!
@hvasslabs
@hvasslabs 6 лет назад
Thank you!
@abcdxx1059
@abcdxx1059 6 лет назад
Took me a week now I'm not getting frustrated by those errors and it feels good to get rid of them
@Ahmedkedir
@Ahmedkedir 7 лет назад
Awesome tutorial for self-learners. Thank you
@atamjeetgrewal211
@atamjeetgrewal211 6 лет назад
Thank You. This is the best tutorial
@Ekami67
@Ekami67 7 лет назад
Thanks a lot these video series are magnificent! Helping me a lot for my Udacity deep learning foundations nanodegree where they took the videos from the free Udacity DL course everyone is complaining about...
@hvasslabs
@hvasslabs 7 лет назад
Thank you!
@luislamprea2667
@luislamprea2667 7 лет назад
Excellent, explanation of using Tensor flow for CNN .. thanks
@jalil_kartal
@jalil_kartal 5 лет назад
Thank you. Very beautiful explanation.
@hppeng
@hppeng 7 лет назад
THANK YOU. So clearly described.
@amirsadrpour3456
@amirsadrpour3456 7 лет назад
Thank you so much for these videos !
@praveengudhi2247
@praveengudhi2247 7 лет назад
Great Great Lectures... I have learned a lot
@aliakbarpamz
@aliakbarpamz 7 лет назад
The best explanation of CNN. Thank you
@oscarbergqvist4992
@oscarbergqvist4992 6 лет назад
Amazing tutorial, thanks!
@gauravbhandari8089
@gauravbhandari8089 7 лет назад
You Sir are a Genius...!Thank you for this video.
@albertolanaro2341
@albertolanaro2341 7 лет назад
Great tutorial!
@guiray2000
@guiray2000 6 лет назад
Super good explanation.
@hoangtrungdung5196
@hoangtrungdung5196 7 лет назад
Very very nice. I'm not sure that I can understand the rest of these tutorials. At least I understand the first tutorial and I think I must leave a comment here and say thank you very much. This tutorial is really detailed
@hvasslabs
@hvasslabs 7 лет назад
Thank you!
@ayushkushwaha262
@ayushkushwaha262 5 лет назад
EXCELLENT...EXCELLENT...EXCELLENTTTTT...explanation! sir thank you so muchhhh .
@kerrychu8953
@kerrychu8953 6 лет назад
YOU ARE A LEGEND! THANK YOU FOR THIS AWESOME SERIES! I WILL DONATE MONEY TO OUR LOCAL CHARITY!
@hvasslabs
@hvasslabs 6 лет назад
Great!
@chrissipola8940
@chrissipola8940 7 лет назад
Very well done. This helped me enormously.
@hvasslabs
@hvasslabs 7 лет назад
I'm glad it did!
@MdNasirUddinLaskarBD
@MdNasirUddinLaskarBD 8 лет назад
Excellent tutorial. Thanks.
@TinhNguyen-om6yg
@TinhNguyen-om6yg 7 лет назад
Thanks for the useful tutorial
@araschlagies3910
@araschlagies3910 6 лет назад
Great Tutorial. Thanks
@robertdepptv7564
@robertdepptv7564 6 лет назад
The thing I want to know, I get it with in 4 min... So man you earn subscription with in 3min... Thanks for your good information...keep going...
@punithbv6584
@punithbv6584 6 лет назад
I need help on how can I use the same CNN for regression problem, like for given input image output should edge detected . What kind of cost function I need to use and how should be predict . Thanks
@aliakbarpamz
@aliakbarpamz 7 лет назад
I want to try my own data set images as training and testing. Any idea to do that?
@Nishkarsh24
@Nishkarsh24 4 года назад
Thankyou so much... Really awesome code.
@abcdxx1059
@abcdxx1059 6 лет назад
Your tutorial are great
@maxlightco213
@maxlightco213 7 лет назад
Amazing! Thank you so much for your video. I think Google should buy this tutorial for MNIST! :D
@user-gu1sv3ct4f
@user-gu1sv3ct4f 6 лет назад
how can i create my oun training dataset? howcan i feed the images to network?
@austinp.b6625
@austinp.b6625 6 лет назад
How would you get 14*14 output from a 5*5 pixel slide on 28*28 pixel ? - i got the same 28 pixels snce after each calculation one pixels is formed and one is neglected.
@Unknown-jb8ec
@Unknown-jb8ec 5 лет назад
Hello. Thank you for the tutorial - I wish I started my learning with it. Just wanted to ask you if you know any good references for the specifics on how to take the trained model and implement it. What I mean is once the models was trained, we get sets of filters for each of the layers and apply them to the input image. You do briefly explain how this is done, but I can not find a good tutorial that does in depth - I am rather interested in implementing the model (let's say in hardware) instead of designing or training it. For example, in layer 2, when the first pixel of each input is convoluted with its corresponding filter we then use Relu on each result or add them up first? what happens if the value is > 255? Another question is zero padding - should it be done on the inputs or outputs? Any info would help. Thank you again.
@samwallace3469
@samwallace3469 6 лет назад
Question: in the 2nd convolutional layer, are the filters being used in parallel for each of the input feature maps equal to each other?
@yunlongsong7618
@yunlongsong7618 7 лет назад
what a f* great tutorialllllllllllllll. Thank you so much.
@sumukhamanjunath7154
@sumukhamanjunath7154 6 лет назад
layer_conv2,weights_conv2 = \ new_conv_layer() Since the output of a convolutional layer is a 4d tensor..how can u assign it to 2 variables ? plz reply asap
@Abby.Tripathi
@Abby.Tripathi 5 лет назад
how will I get the output for the predicted input?
@gravitycuda
@gravitycuda 5 лет назад
Den bedste tutorial med teori og praktiske lektioner. Mange tak. Fra Ballerup
@hvasslabs
@hvasslabs 5 лет назад
Det var pudsigt. Jeg boede i Hedeparken i Ballerup da jeg var lille. Jeg tror at det var i samme opgang hvor der nu er lægeklinik. Fra din youtube side, ser det ud til at du måske kommer fra Indien?
@amalalsaeh4894
@amalalsaeh4894 6 лет назад
thank you ,that is so useful
@zhengxuanm
@zhengxuanm 6 лет назад
Amazing!thanks sir!
@TerenceChill286
@TerenceChill286 5 лет назад
Why is padding set to "SAME" in the maxpool unit? Doesn't this prevent the dimensionality to decrease?
@amalalsaeh4894
@amalalsaeh4894 6 лет назад
why did you set parameters in filters with randomly values ? we want to extract features for example when we want to detect straight line the filter will set as straight lines of ones and -1s and so on
@spaceyfounder5040
@spaceyfounder5040 7 лет назад
Awesome, respect man!
@kartiksaxena753
@kartiksaxena753 6 лет назад
How to implement next_batch on your own dataset??
@mayurbhandari7209
@mayurbhandari7209 6 лет назад
how do i train this model on my data set.??
@praveengudhi2247
@praveengudhi2247 7 лет назад
i have one doubt regarding the model, there are models like QuocNet, AlexNet, Inception, which models is included in this tutorial
@Oscar-if6lq
@Oscar-if6lq 5 лет назад
Where are these filters used in the Convolutional layers derived from? They appear to have arbitrary shapes inside them, is that the case or do they have some purpose?
@adrianchang9740
@adrianchang9740 6 лет назад
Hi! Regarding why not use relu in the last layer, is it because it will overlook some features?
@robert3258
@robert3258 4 года назад
Hi, why choose not to use a hidden layer? What the the use cases for using hidden layers?
@anjopag31
@anjopag31 6 лет назад
If you're working with a dataset like, say, CIFAR-10, would you have to account for the multiple channels?
@ghadeera7004
@ghadeera7004 7 лет назад
Great tutorial is there is any for LSTM
@mayankbhandari3536
@mayankbhandari3536 6 лет назад
You are a blessing :)
@shreyansh2847
@shreyansh2847 6 лет назад
This is the best lecture series on tensorflow I have come across. Can you please cover capsule nets in the upcoing tutorials?
@hvasslabs
@hvasslabs 6 лет назад
Thank you! I am not planning on making a video on Capsule Networks. Next year there'll probably be another variation so I could continue this forever and it is extremely costly for me to make these videos.
@zeyuding4623
@zeyuding4623 6 лет назад
In the flattern part,why is there 128 features?
@vanditharao7327
@vanditharao7327 5 лет назад
weights should be the number of dimensions and not the filter_size right? For example, in my data the no. of dimension is 28*28 , but the filter size is 3*3 and no of filter is 32 shape = [ number of dimensions in input, number of dimensionsin input, num_channels, no. of filter] shape = [28, 28, 1, 32 ]
@sahilgaming7320
@sahilgaming7320 6 лет назад
Your videos are awesome.... Thanks for that... i have one question that if i passed the document which have all the two,three and four digit number then how should i predict that all number if i passed that document image??
@omeryalcn5797
@omeryalcn5797 6 лет назад
one word : best
@pujanagarkar9583
@pujanagarkar9583 5 лет назад
really awesome
@startpoint74
@startpoint74 5 лет назад
Excellent
@suvajitacharjee5757
@suvajitacharjee5757 6 лет назад
Hi, how to get the code for this tutorial? Please let me know.
@mfdkiller2008
@mfdkiller2008 5 лет назад
What is the type of the model? (LeNet-5 , AlexNet, VGGNet, GoogLeNet or ResNet)
@maalejamine8314
@maalejamine8314 4 года назад
Good tutorial sir, am wondering where can i find the solution for these exercices.
@bryanannan9904
@bryanannan9904 7 лет назад
How do I load my own data? I scanned my own letters, resized to 32X32 and saved them as csv file with 1024 numbers in each line. Thanks in advance.
@srinivaskrishnan411
@srinivaskrishnan411 5 лет назад
Awesome tutorial. But, have a question reg. how the last convolution layer gets mapped to the fully connected layer(s) and then that gets mapped to the output. I completely understood how the filters (features) get applied on the input picture to obtain the intermediate images. But, the last layer, where 36 filters get applied, how does these filters are applied to the fully connected layers? Is it just more filters get applied on these intermediate images (the output of the last convolution layer)? If yes then what is the difference? And how does the last layer in the fully connected layer gets mapped to the output image - i.e., how does the CNN knows to match the images to the proper image? I am a bit confused there.
@MaunilVyas
@MaunilVyas 7 лет назад
Thank you sir :)
@chaimaabelabbes4548
@chaimaabelabbes4548 7 лет назад
thank u sir for ur great video !!! i just wanna know how can i test that on one image that i will give it to ..plz anny help
@itsFieldEngineer
@itsFieldEngineer 4 года назад
cls_pred = np.zeros(shape=num_test, dtype=np.int32) getting below error at the above-mentioned line, Kindly help ValueError: sequence too large; cannot be greater than 32
@thatsjash
@thatsjash 6 лет назад
I'm just curious why only 36 output channels? Why not more or less?
@selvaganesh138
@selvaganesh138 5 лет назад
original input image is of 28*28 pixels. then we have convolution layer1 with 16 filters of 5*5 and stride is 1 (according to the explanation from video). So the output of the first convolution layer supposed to be 14*14*16. Can anyone explain me why this is 14*14*16.? Even if I take the stride as 2, it should be 12*12*16....
@astaragmohapatra9
@astaragmohapatra9 5 лет назад
Why did you use -1 while reshaping x_image
@darkcaper703
@darkcaper703 6 лет назад
Will you be doing capsule networks ?
@chriszeng1694
@chriszeng1694 6 лет назад
Excellent video! And I want to ask, what does weights mean in plot_conv_weights function?
@brokecoder
@brokecoder 6 лет назад
Who gives the filters for the very first convolutional layer of the very 1st sample batch??
@brokecoder
@brokecoder 6 лет назад
Oh right they must be the weight matrix
@laledakhokha
@laledakhokha 7 лет назад
Are there any resources out there to make your own data set just like MNIST or CIFAR 10. I am new to the field. Will appreciate your help.
@hvasslabs
@hvasslabs 7 лет назад
Tutorial #09 creates a data-set from video-files.
@adeeb12321
@adeeb12321 7 лет назад
thanks
@canyi9103
@canyi9103 7 лет назад
awesome! awesome!awesome!
@rajatkumar-ks1cu
@rajatkumar-ks1cu 6 лет назад
I M Getting Error in loading Input data @ 36:19 Error : - cannot find reference input_data PLz Some1 Help me out
@paulbenedictjabines2261
@paulbenedictjabines2261 5 лет назад
how did the 28x28 pixel end with 14x14 through convolutional layer 1? What I expect is a 24x24 output.
@balsdsa
@balsdsa 5 лет назад
The convolutional layer presented is basically 2 layers connected. First is the convolutional layer that takes a 28x28 and outputs a 28x28 and the second one takes the output of the first and runs a 2x2 kernel over it reducing its dimensionality by 2. Such that the height and width is halved, resulting in final output of 14x14.
@manojsingla5042
@manojsingla5042 5 лет назад
Hi! Thanks for this tutorial.. cleared many doubts. one thing I want to ask is that u said after convolution layer we use rectifier to remove negative values and make them zeros, but I am here in doubt that from where do those negative values come in the first place?. I would be really thankful if u would clear that..
@tungtran6405
@tungtran6405 4 года назад
thanks so much
@tusharmishra4441
@tusharmishra4441 5 лет назад
from mnist import MNIST data = MNIST(data_dir="data/MNIST/") this part is not working having some problem with __init()__ data_dir is invalid plzz helo
Далее
TensorFlow Tutorial #03-B Layers API
21:27
Просмотров 12 тыс.
Convolutional Neural Networks from Scratch | In Depth
12:56
🎙ПЕСНИ ВЖИВУЮ от КВАШЕНОЙ🌇
3:16:26
TensorFlow Tutorial #23 Time-Series Prediction
28:06
Просмотров 195 тыс.
But what is a convolution?
23:01
Просмотров 2,5 млн
TensorFlow Tutorial #18 TFRecords & Dataset API
19:56
Neural Networks Explained from Scratch using Python
17:38
The moment we stopped understanding AI [AlexNet]
17:38
Просмотров 832 тыс.
Battery  low 🔋 🪫
0:10
Просмотров 13 млн