input: Write a function to generate and train a neural network model using TensorFlow and Python for classifying hand-written digits from the MNIST dataset. If the model trains successfully, it should print the accuracy of the model on the test set. If the dataset is empty, it should print "Dataset is empty".
  
  assert mnist_classification_model()==None
  assert mnist_classification_model()==None
  assert mnist_classification_model()==None
  assert mnist_classification_model()==None
  assert mnist_classification_model()==None
output: def mnist_classification_model():
      import tensorflow as tf
      from tensorflow.keras import layers, models
      from tensorflow.keras.datasets import mnist
      from tensorflow.keras.utils import to_categorical
  
      (x_train, y_train), (x_test, y_test) = mnist.load_data()
      
      if len(x_train) == 0 or len(x_test) == 0:
          print("Dataset is empty")
          return
      
      x_train = x_train.reshape((x_train.shape[0], 28, 28, 1)).astype('float32') / 255
      x_test = x_test.reshape((x_test.shape[0], 28, 28, 1)).astype('float32') / 255
      y_train = to_categorical(y_train)
      y_test = to_categorical(y_test)
  
      model = models.Sequential([
          layers.Conv2D(32, (3, 3), activation='relu', input_shape=(28, 28, 1)),
          layers.MaxPooling2D((2, 2)),
          layers.Conv2D(64, (3, 3), activation='relu'),
          layers.MaxPooling2D((2, 2)),
          layers.Conv2D(64, (3, 3), activation='relu'),
          layers.Flatten(),
          layers.Dense(64, activation='relu'),
          layers.Dense(10, activation='softmax')
      ])
  
      model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])
      model.fit(x_train, y_train, epochs=5, batch_size=64, validation_split=0.1)
  
      test_loss, test_acc = model.evaluate(x_test, y_test)
      print(test_acc)