Use the MNIST dataset from Kaggle, subset a 50-image dataset of 2 different digits (such as 2 and 7), and create a CNN model. Keep in mind the balance for datasets and how you split the subset for training and testing. You need to submit your dataset, code, and results. (You may cherry-pick your data, but your score will not be based on the accuracy of your model.)import numpy as npimport pandas as pdfrom keras.models import Sequentialfrom keras.layers import Dense, Dropout, Flatten, Conv2D, MaxPooling2Dfrom keras.utils import to_categorical# Load in the datatrain = pd.read_csv('train.csv')test = pd.read_csv('test.csv')# Subset the data for only two digitstrain_two = train[(train['label'] == 2) | (train['label'] == 7)]# Split the data into training and testingtrain_two, test_two = train_two[:40], train_two[40:]# Reshape and normalize the datax_train = train_two.drop(labels = ['label'],axis = 1)x_train = x_train.values.reshape((-1,28,28,1))x_train = x_train/255y_train = to_categorical(train_two['label'], num_classes = 2)x_test = test_two.drop(labels = ['label'],axis = 1)x_test = x_test.values.reshape((-1,28,28,1))x_test = x_test/255y_test = to_categorical(test_two['label'], num_classes = 2)# Create the modelmodel = Sequential()model.add(Conv2D(32, kernel_size=(3, 3), activation='relu', input_shape=(28,28,1)))model.add(MaxPooling2D((2, 2)))model.add(Conv2D(64, kernel_size=(3, 3), activation='relu'))model.add(MaxPooling2D((2, 2)))model.add(Conv2D(64, kernel_size=(3, 3), activation='relu'))model.add(Flatten())model.add(Dense(64, activation='relu'))model.add(Dense(2, activation='softmax'))# Compile and fit the modelmodel.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])model.fit(x_train, y_train, epochs=5, validation_data=(x_test, y_test))# Evaluate the modelmodel.evaluate(x_test, y_test)please check my error and help me to run my program please.......