hello everyone welcome to the semicolon

this is the first video of the series deep learning and I would like to start

off with deep neural networks so deep neural networks are neural networks

which we have seen already so if you just increase the number of layers they

become deep neural networks so that is it nothing much in it so now we move on

to another variant of neural network deep neural network which is

convolutional neural networks so convolutional neural networks are

specifically made for image recognition and classification purposes so they are

inspired by the animal visual cortex so this is how they look when they see an

image like this there are convolutional sub samplings and these again and again so

let’s take an example and build it out in Kera’s as well so we’ll be building

this sorry I have done it in paint and that is why it looks horrible but you

will understand what it means so say we take a 50×50 image and applied 32

filters each of three cross three resize so these filters are to be learned by our

convolutional neural network but then we apply we initialize the weights randomly

and then we apply to 50×50 images and there are 32 filters so we get 30 to 50×50

images and there is a relu activation of course now again to these 32 images

we apply more 32 filters or we apply those filters again so we get a 48×48

images now what we do is in the first filter when we apply we keep the

boundary same and here we remove the boundary so we get 48×48 images 32

images each of size 48×48 now what max pooling is you remove you

have a 2×2 grid and you just maximum value of that grid so say this

48×48 image has grids and in that 2×2 grid whichever is the

highest you take one out of it so in that way the size of the image is

reduced. so now we get 24×24 images 32 in number and now we drop out now

drop out what it does it remove some weights and drains it so that there is a

concept called overfitting and that leads to very good results in training

but very poor results in real life problems so we have to avoid it because

we want our model to work in real life as well. so when we drop out this

prevents it from the problem of overfitting so after that we flatten so

what we do is we dissolve this grid and we put it in a linear structure and

now it’s the same as our normal neural network, a deep neural network you can

say so we have 32x24x24 features here and we’ll be passing it

through 128 and then we have 200 outputs so these outputs can vary based upon the

number of classifications or based on the number of factors so as for now this

is what convolutional neural network is convolutional neural network

is so we’ll be learning how to implement it in Keras soon. so these are libraries

which we have to input, sequential dense dropout, flatten, activation, convolution,

max pooling and the other libraries to do the pre-processing part of the data

then we import numpy as well then we import OS and change the directory so

because my files the data is present in deep learning folder and then we import

a test train split as well. so I’ve I’ve set my optimizer to none because I

have problems with blass installation but you do not have to do it then the

image sizes 50×50 and my images are present in input and data folder. so I

initialize two lists and then I do the following, I convert the image I read

each image in the folder convert each image to RGB then divide by 255 and I

am dividing by 255 because the highest pixel value is 255

and I want my image pixel values to be between 0 to 1 and then I’m come converting them into

97

00:05:10,979 –>00:05:16,650

numpy array these are the parameters the batch size should be 32 the number

of classes is the length of number of folders in the training data the number

of epoch is the number of iterations we are going to run and the other

filters and stuff so what this does is uniques, Id_train what this does is

since we have our classes as strings it converts them into an array so say you

have five classes ABCDE what it does is creates 5 columns and makes 10000 so it

converts your classes into numbers now this is the model which we need to

create in keras the image which we have seen before so the model is sequential

the convolution 2d and all the parameters are mentioned above then relu

activation then again convolution again relu activation max pooling dropout

flatten dense drop out and the softmax classifier for probability and then we

are fitting the model and the training will take a little bit of time here and

we are predicting with one image which we have so as you can see these are the

five classes on execution these are listed and these are the libraries so

reloaded modules so that has nothing to do with it and the

1 to 5 are the classes which are converted into numbers by this NP underscore

utils so as you can see it is taking a little bit of time and it is

expected to take a lot of time so let’s wait for it. as you can see the training

has been started and we are just working with one iteration that is epoch is

one number of epochs is one and that is why I’m expecting the accuracy

to be pretty low let’s however check out after waiting this is going to take

estimated of 160 seconds so I will I better skip to that part and as you can

see the accuracy keeps changing. so I’m however going to skip to that part. so

as you can see our first model of convolution neural network is about to

get trained in seven seconds and hopefully there won’t be any errors.

so let’s wait for it and as you can see the accuracy is pretty low point

three around thirty percent it’s pretty low you can’t expect it to give good

results but if you increase the number of iterations that is the number of

epochs then it is sure and certain that your accuracy is going to improve.

so there was an error I think with the string part. so however the accuracy

is point two eight which is pretty low and our model is now trained. so this is

small error which okay I found the errors this I had to replace path 2 to

with path 1 and I will be doing it and then I will be executing again so our image is this and now this is the

previous image and our image hasn’t been the image which you put in the test folder

has it been executed. so we have to change the path folder and this is what solves our error

and that error had nothing to do with deep learning stuff. it was just a

variable problem. so now that the prediction is done the model dot predict is

executed. so this is the probability functions and the fourth class is the

highest probable so let’s check if it’s right or wrong. so fourth and then fifth

but the answer I think is wrong because our answer is supposed to be fifth and

it gives four but we can’t blame the model because we’ve just run it once so it

is crested Auklet but our answer was three. our answer was four I’m sorry so,

it is groove, it predicts it to be groove billed. so the probability for it is higher

now let’s change the number of iterations to five and let’s check if our

model improves. so the model has started training again and I’ll again skip to

the part where the training is completed. let’s wait for it so as you can see the

training for this is almost complete and we’ll be done with our model in 14 to 15

seconds. so as you can see the accuracy is increasing from the first iteration

to the last it continuously keeps increasing. so if you go on say up to 2o

iterations the accuracy will be pretty good and that is what we need but just

for the sake of illustration, we can use this number of iterations as well and

this should be done anytime soon. so we are training on 225 samples

testing on 57 samples which is pretty low in itself but that is being done

because we want it fast. so let’s check the predictions again before that let’s

check the image and this is the image this is the right one we are predicting

which what label which object which I am sorry I am extremely sorry which

type of bird is this we are predicting that and the actual answer should be in the string

IMG and it’s crested Auklet and it says. so as you can see the fourth and fifth

classes are almost same in probability. they have the same probability, so we can

say our model has improved now it predicts fourth and fifth together before

that it said it is just fourth which was wrong and the probability of fifth had

improved and I think if we train it for some more iterations it will improve for

sure so this is it guys this is our convolution neural network we have

learned about this and keep watching, hit the like button if this helped you and

share it with your friends. also subscribe if you want to keep watching

thank you

good video, may i know how to fed a video to this neural network?

nice. Could you elaborate on the image preprocessing? especially the transpose? I worked through some CNN Tutorials in keras. The problem is that data is already kind of preprocessed. Therefore it's hard for a beginner to dive deeper into that. A video with the exact steps to preprocess your own saved pictures and put them into the CNN would be great. Could you do that? Anyway thanks for the video (I subscribed)

Why don't you use Jupyter Notebooks for writing these CNNs, I feel fairly comfy while using it instead of your current IDE.

Very Nice Explanation. Good

I saw you video x_train has shape (225,3,50,50) , and cnn has input 3,50,50. What happen if you change x_train shape to (255,50,50,3) dimension put it last, and change cnn input to , 50,50,3 ?

hello…..

can you please mke tell how to add a region for cnn……that is rcnn

thanks bro for this video. please i would like to know how you structured your data set and what the Deep learning file comprises of? Are input and data part of your training set folders?

How do you know many Neural net Layer are in the model ? Are lines 63 to 73 each a neural net layer ??

thank u but if explain about CNN

hi bro can u show your deep learning folder i didnt get where to put that zip file

thank u about video can give me your email plz

Will this code run on GPU system ????

can u make video summarization using cnn

how to get those images that are in your D:semcolonDeep Learning path.. please give a link for those images..

Please study CNN a bit more, then some of the terms would be better explained.

your channel is underrated.

what is 32 filters? how we are deciding that number

hi please tell us how did you create your dataset

No one can understand this without having a knowledge of image processing.

can we use this method for signature verification??

Hey Everyone ! Just uploaded a new video on CNN improving the quality of content ! Thanks for the feedback. this video will be removed shortly.

New Video CNN Explanation : https://www.youtube.com/watch?v=IeLrFNc5HqY

CNN Implementation : https://www.youtube.com/watch?v=n2MxgXtSMBw

I didn't learn anything .fuck

can u plz help me to implement this in nlp

Bro, what is Dropout? Didnt quiet get that. I know what overfitting is.

if we have a easy to recognize english version…

Please explain how have we decided this model? Is there some step we have to follow?

Hi , if you speed up the video and audio by 1.25x it will sound much better.

What really happens ?are the images converted in to matrices (numbers) and then those numbers are multipled with the weights so every layer would get some numbers different then the images then how do different layers are able to detect feature if the image is changing what am I missing here?

subscribed.

in this video, how did you set the datasets? i download the dataset but all i got only 200 folder with images and no "input" and "data" folder

I divided it into training and testing part. While the training part gets executed but accuracy is very poor as it gets trained on only 1 epoch. As you have showed on 10 epochs I don't get any such thing at all.

Also can you please make video on the cnn and how regularisation is being done on mnist data set using Dropout for image classification

I am unable to understand why did you use theano? As you are working on KERAS for Deep learning.

Non very satisfied because:

– you use absolute path instead of relative

– dataset are not automatically downloaded in the script cnn.py

– cnn.py requires a lot of editing before it can run

Great work can i use the header file cnn.py as import , ie import cnn and apply it to a video to detect the object ?

hello I have one error

The system cannot find the path specified: 'data'

how can ı solved this problem ?

thank you…