neural networks and deep learning elseerror( "not implemented{data output_type}"nn learn(epochsthe following tests on mnist the original files are from com/exdb/mnistthis code assumes you use the csv files from com/projects/mnist-in-csv/and put them in the directory /mnistnote that this is very inefficientyou would be better to use keras or pytorch there are input units and hidden unitswhich makes , parameters for the lowest linear layer so don' be surprised when it takes many hours in aipython (even if it only takes few seconds in keraslearnnn py -(continued simplified version( training instancesdata_mnist data_from_file(/mnist/mnist_train csv'prob_test= target_index= boolean_features=falsetarget_type="categorical" full versiondata_mnist data_from_files(/mnist/mnist_train csv'/mnist/mnist_test csv'target_index= boolean_features=falsetarget_type="categorical" nn_mnist nn(data_mnistvalidation_proportion learning_rate= #validation set nn_mnist add_layer(linear_complete_layer_rms_prop(nn_mnist, ))nn_mnist add_layer(relu_layer(nn_mnist))nn_mnist add_layer(linear_complete_layer_rms_prop(nn_mnist, )start_time time perf_counter();nn_mnist learn(epochs= batch_size= );end_time time perf_counter();print("time:"end_time start_time,"seconds"# epoch determine test errordata_mnist evaluate_dataset(data_mnist testnn_mnist predictorevaluate accuracyprint some random predictionsfor eg in random sample(data_mnist test, )print(data_mnist target(eg),nn_mnist predictor(eg),nn_mnist predictor(eg)[data_mnist target(eg)]exercise in the definition of nn abovefor each of the followingfirst hypothesize what will happenthen test your hypothesisthen explain whether you testing confirms your hypothesis or not test it for more than one data setand use more than one run for each data set (awhich fits the data betterhaving sigmoid layer or relu layer after the first linear layer(bwhich is fasterhaving sigmoid layer or relu layer after the first linear layer(cwhat happens if you have both the sigmoid layer and then relu layer after the first linear layer and before the second linear layer(dwhat happens if you have relu layer then sigmoid layer after the first linear layer and before the second linear layerversion june