input: def MNIST_Classifier() -> None:
      """Generate a neural network model using TensorFlow and Python for classifying 
      hand-written digits from the MNIST dataset. The model is trained for 15 epochs 
      with a learning rate of 0.001 and batch size of 100. It consists of two hidden 
      layers, each with 256 neurons, and an output layer with 10 neurons (one for each 
      digit 0-9). The model uses the Adam optimizer and softmax cross-entropy loss.
      
      >>> MNIST_Classifier()
      (Prints training progress and final accuracy on test set)
      """
output:     import tensorflow as tf
      from tensorflow.keras import layers, models
      from tensorflow.keras.datasets import mnist
      from tensorflow.keras.utils import to_categorical
  
      # Load and preprocess the MNIST dataset
      (x_train, y_train), (x_test, y_test) = mnist.load_data()
      x_train = x_train.reshape((60000, 28 * 28)).astype('float32') / 255
      x_test = x_test.reshape((10000, 28 * 28)).astype('float32') / 255
      y_train = to_categorical(y_train, 10)
      y_test = to_categorical(y_test, 10)
  
      # Build the model
      model = models.Sequential()
      model.add(layers.Dense(256, activation='relu', input_shape=(28 * 28,)))
      model.add(layers.Dense(256, activation='relu'))
      model.add(layers.Dense(10, activation='softmax'))
  
      # Compile the model
      model.compile(optimizer=tf.keras.optimizers.Adam(learning_rate=0.001),
                    loss='categorical_crossentropy',
                    metrics=['accuracy'])
  
      # Train the model
      model.fit(x_train, y_train, epochs=15, batch_size=100, verbose=1)
  
      # Evaluate the model
      test_loss, test_acc = model.evaluate(x_test, y_test, verbose=0)
      print(f'Test accuracy: {test_acc:.4f}')