Implementing a basic neural network in Python using Keras

Posted by


Neural networks are a type of machine learning model that is inspired by the structure and function of the human brain. They are composed of interconnected nodes, called neurons, that work together to process and learn from data in order to make predictions or decisions. Keras is a high-level neural networks API written in Python that makes it easy to build, train, and deploy neural networks.

In this tutorial, we will walk through the process of implementing a basic neural network in Python using Keras. We will be using the famous MNIST dataset, which consists of 28×28 pixel grayscale images of handwritten digits.

Step 1: Install the necessary libraries
Before we can begin building our neural network, we need to install the necessary libraries. You can install Keras and TensorFlow using pip:

pip install keras
pip install tensorflow

Step 2: Load the dataset
Next, we need to load the MNIST dataset. Keras provides a convenient way to load the dataset using the load_data() function:

from keras.datasets import mnist

(x_train, y_train), (x_test, y_test) = mnist.load_data()

Step 3: Preprocess the data
Before we can feed the data into our neural network, we need to preprocess it. In this case, we will normalize the pixel values so that they fall in the range [0, 1] and reshape the input data to be compatible with the neural network architecture:

x_train = x_train.reshape(x_train.shape[0], 28, 28, 1)
x_test = x_test.reshape(x_test.shape[0], 28, 28, 1)

x_train = x_train.astype('float32') / 255
x_test = x_test.astype('float32') / 255

num_classes = 10
y_train = keras.utils.to_categorical(y_train, num_classes)
y_test = keras.utils.to_categorical(y_test, num_classes)

Step 4: Build the neural network
Now, we can build our neural network model using Keras. For simplicity, we will build a basic feedforward neural network with one hidden layer:

model = keras.models.Sequential([
    keras.layers.Flatten(input_shape=(28, 28, 1)),
    keras.layers.Dense(128, activation='relu'),
    keras.layers.Dense(num_classes, activation='softmax')
])

Step 5: Compile the model
Next, we need to compile the model by specifying the loss function, optimizer, and metrics that we want to use:

model.compile(loss='categorical_crossentropy',
              optimizer='adam',
              metrics=['accuracy'])

Step 6: Train the model
Now, we can train the model on the training data using the fit() function:

model.fit(x_train, y_train, batch_size=128, epochs=10, verbose=1, validation_data=(x_test, y_test))

Step 7: Evaluate the model
Finally, we can evaluate the performance of the model on the test data:

score = model.evaluate(x_test, y_test, verbose=0)
print('Test loss:', score[0])
print('Test accuracy:', score[1])

And that’s it! You have now successfully implemented a basic neural network in Python using Keras. You can experiment with different neural network architectures, hyperparameters, and datasets to further improve the performance of your model. Happy coding!

0 0 votes
Article Rating

Leave a Reply

43 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
@AbhiAnuP-fp5vp
11 days ago

Hi, can a similar video on Caffe2 be shared? It would be useful

@harshyadav1428
11 days ago

sir i want to make a graphical neural network model on node classification without using ML libraries
from scratch by using loops please make video on it

@sivaram.k5767
11 days ago

How to perform abolone age prediction in neural network model sir

@muhammedt1841
11 days ago

I think if you scaled the data accuracy will increase.

@dileepkonkena2319
11 days ago

we can't check accuracy in classification based on accuracy, we need to consider precision,recall,f1 also

@ashwinikumar6461
11 days ago

Further in continuation to my previous comment, Iam getting A error in the test accuracy code , where it is showing " model is not defined' and hence , would you mind in sharing the exact code link which is used in he video

@ashwinikumar6461
11 days ago

Quite awesome and Wonderful tutorial.. god bless.. Can you pls tell me why you are using ' _ , ' ( underscore and comma ) in the Train Accuracy alone and not in test accuracy…

@sarwatfawwad
11 days ago

I am facing problem in uploading keras model. I have also use tensflow to remove error but it is not working

@nikhielsingh748
11 days ago

no as the dataset is not balanced , hence accuracy cannot be a reliable metric

@rashidaka4314
11 days ago

Thank you so much. It was a good class. 👌😊

@ramar5558
11 days ago

Aman in the comments everybody is asking about why you have taken 12 neuron on what basis any rule ????

@PILAKAREDDY
11 days ago

Hi Aman ,y_pred=model.predict_classes(x) i have error as no model has been created

@AmithG-cw1rw
11 days ago

sir where is the actual model like equation and the plot of ANN how to do it

@umeshtiwari800
11 days ago

Good

@murapakaganesh1108
11 days ago

Hi aman i followed you recently , your videos also very good compare than where I have been learning data science ..in my opinion it is healthcare business case problem so we need to have a high accuracy here how we will do hyper parameter tuning please

@srirangasuprabhathkoduru1021
11 days ago

Can we manually specify the weight initialisation method?

@ThirdEye097
11 days ago

Module " tensorflow.python.framework.ops" has no attribute '_tensorlike'
What I do ?

@jawadali4392
11 days ago

In my opinion this model can attain more accuracy.
this model is neither good nor bad.

Sir kindly tell us how to insert a pictures tensors into this model and classify it.

love from pakistan.

@arsiblack2404
11 days ago

please. make backpropagation

@muhammedthayyib9202
11 days ago

If use scalar, It would be a good model.

43
0
Would love your thoughts, please comment.x
()
x