code: import tensorflow as tf
  
  (x_train, y_train), (x_test, y_test) = tf.keras.datasets.cifar10.load_data()
  x_train, x_test = x_train / 255.0, x_test / 255.0
  
  model = tf.keras.models.Sequential([
      tf.keras.layers.Conv2D(filters=16, kernel_size=(3, 3), activation='relu'),
      tf.keras.layers.MaxPool2D(),
      tf.keras.layers.Conv2D(filters=32, kernel_size=(3, 3), activation='relu'),
      tf.keras.layers.MaxPool2D(),
      tf.keras.layers.Conv2D(filters=64, kernel_size=(3, 3), activation='relu'),
      tf.keras.layers.MaxPool2D(),
      tf.keras.layers.Conv2D(filters=128, kernel_size=(3, 3), activation='relu'),
      tf.keras.layers.MaxPool2D(),
      tf.keras.layers.Flatten(),
      tf.keras.layers.Dense(256, activation='relu'),
      tf.keras.layers.Dense(128, activation='relu'),
      tf.keras.layers.Dense(10, activation='softmax')
  ])
  
  loss_fn = tf.keras.losses.SparseCategoricalCrossentropy()
  model.compile(optimizer='adam',
                loss=loss_fn,
                metrics=['accuracy'])
  model.fit(x_train, y_train, epochs=5)
  
  model.evaluate(x_test,  y_test, verbose=2)
apis: tensorflow.keras.datasets.cifar10.load_data tensorflow.keras.layers.Flatten tensorflow.keras.losses.SparseCategoricalCrossentropy tensorflow.keras.layers.Dense tensorflow.keras.layers.Conv2D tensorflow.keras.layers.MaxPool2D