convolutional neural networks listing - loading the dataset into memory input_folder_path "/input/data/mnist/#the csv contains flat file of images# each * image is flattened into row of colums #( column represents pixel value#for cnnwe would need to reshape this to our desired shape train_df pd read_csv(input_folder_path+"train csv"#first column is the target/label train_labels train_df['label'values #pixels values start from the nd column train_images (train_df iloc[:, :valuesastype('float '#training and validation split train_imagesval_imagestrain_labelsval_labels train_test_splittrain_images ,train_labels ,random_state= ,test_size= #here we reshape the flat row into [#images,#channels,#width#height#given this simple grayscale imagewe will have just channel train_images train_images reshape(train_images shape[ ], , val_images val_images reshape(val_images shape[ ], , #alsolet' plot few samples for in range( )plt subplot( ( + )plt imshow(train_images[ireshape( , )cmap=plt get_ cmap('gray')plt title(train_labels[ ]