text: from tensorflow.keras import utils
  from tensorflow.keras.datasets import cifar10
  from tensorflow.keras.models import Sequential
  from tensorflow.keras.layers import Dense, Dropout
  import matplotlib.pyplot as plt
  
  num_classes = 10
  im_rows = 32
  im_cols = 32
  im_size = im_rows * im_cols * 3
  
  (X_train, y_train), (X_test, y_test) = cifar10.load_data()
  
  X_train = X_train.reshape(-1, im_size).astype('float32') / 255
  X_test = X_test.reshape(-1, im_size).astype('float32') / 255
  
  y_train = utils.to_categorical(y_train, num_classes)
  y_test = utils.to_categorical(y_test, num_classes)
  
  model = Sequential()
  model.add(Dense(512, activation='relu', input_shape=(im_size,)))
  model.add(Dense(num_classes, activation='softmax'))
  
  model.compile(
      loss='categorical_crossentropy',
      optimizer='adam',
      metrics=['accuracy'])
  
  hist = model.fit(X_train, y_train,
      batch_size=32, epochs=50,
      verbose=1,
      validation_data=(X_test, y_test))
  
  score = model.evaluate(X_test, y_test, verbose=1)
  print('accuracy=', score[1], 'loss=', score[0])
  
  plt.plot(hist.history['accuracy'])
  plt.plot(hist.history['val_accuracy'])
  plt.title('Accuracy')
  plt.legend(['train', 'test'], loc='upper left')
  plt.show()
  plt.plot(hist.history['loss'])
  plt.plot(hist.history['val_loss'])
  plt.title('Loss')
  plt.legend(['train', 'test'], loc='upper left')
  plt.show()
  
  model.save_weights('cifar10-mlp-weight.h5')
  
  