input: def generate_mnist_model():
      """
      Generate a neural network model using TensorFlow and Python for classifying hand-written digits from the MNIST dataset. The model consists of two hidden layers, each with 256 neurons, and an output layer with 10 neurons corresponding to the 10 classes of digits (0-9).
      
      >>> generate_mnist_model()
      Epoch: 0001 cost= 1.182640678
      Epoch: 0002 cost= 0.430391620
      Epoch: 0003 cost= 0.336032086
      Epoch: 0004 cost= 0.289577632
      Epoch: 0005 cost= 0.254876335
      Epoch: 0006 cost= 0.227384662
      Epoch: 0007 cost= 0.206304926
      Epoch: 0008 cost= 0.183854370
      Epoch: 0009 cost= 0.166923581
      Epoch: 0010 cost= 0.151686103
      Epoch: 0011 cost= 0.139354784
      Epoch: 0012 cost= 0.128260134
      Epoch: 0013 cost= 0.116895221
      Epoch: 0014 cost= 0.108355587
      Epoch: 0015 cost= 0.099830839
      Optimization Finished!
      Accuracy: 0.9234
output:     import tensorflow as tf
      from tensorflow.keras import layers, models
  
      model = models.Sequential()
      model.add(layers.Dense(256, activation='relu', input_shape=(784,)))
      model.add(layers.Dense(256, activation='relu'))
      model.add(layers.Dense(10, activation='softmax'))
  
      model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])
  
      (x_train, y_train), (x_test, y_test) = tf.keras.datasets.mnist.load_data()
      x_train = x_train.reshape((60000, 784)).astype('float32') / 255
      x_test = x_test.reshape((10000, 784)).astype('float32') / 255
  
      history = model.fit(x_train, y_train, epochs=15, batch_size=128, validation_split=0.1, verbose=0)
  
      for i, cost in enumerate(history.history['loss']):
          print(f"Epoch: {i+1:04d} cost= {cost:.9f}")
  
      print("Optimization Finished!")
  
      test_loss, test_acc = model.evaluate(x_test, y_test, verbose=0)
      print(f"Accuracy: {test_acc:.4f}")