text: """
  A baseline model to compare with experimental ones.
  See https://www.tensorflow.org/tutorials/images/cnn
  """
  
  import tensorflow as tf
  
  from tensorflow.keras import datasets, layers, models
  import matplotlib.pyplot as plt
  
  import utils
  
  (train_images, train_labels), (test_images, test_labels) = datasets.cifar10.load_data()
  
  # Normalize pixel values to be between 0 and 1
  train_images, test_images = train_images / 255.0, test_images / 255.0
  
  
  utils.show_images(train_images, train_labels)
  
  model = models.Sequential()
  model.add(layers.Conv2D(32, (3, 3), activation='relu', input_shape=(32, 32, 3)))
  model.add(layers.MaxPooling2D((2, 2)))
  model.add(layers.Conv2D(64, (3, 3), activation='relu'))
  model.add(layers.MaxPooling2D((2, 2)))
  model.add(layers.Conv2D(64, (3, 3), activation='relu'))
  model.add(layers.Flatten())
  model.add(layers.Dense(64, activation='relu'))
  model.add(layers.Dense(10))
  
  model.summary()
  
  model.compile(optimizer='adam',
                loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),
                metrics=['accuracy'])
  
  history = model.fit(train_images, train_labels, epochs=10,
                      validation_data=(test_images, test_labels))
  
  utils.show_training_history(history)
  
  plt.show()
  
  test_loss, test_acc = model.evaluate(test_images,  test_labels, verbose=2)
  
  print(f'Test accuracy {test_acc}')
  