Image classification is the task of assigning a label to an image based on its content. This is a challenging task, as images can be ambiguous and contain multiple objects. There are a number of different approaches to image classification, including: * **Hand-crafted features:** These features are designed by humans and are often based on the statistics of the image, such as the edges or colors. * **Machine learning:** This approach uses machine learning algorithms to learn features from the data. * **Deep learning:** This approach uses deep neural networks to learn features from the data. Image classification has a wide range of applications, including: * Object detection * Scene understanding * Medical imaging * Security ## Image Classification with Keras Keras is a high-level neural networks API that makes it easy to build and train deep learning models. It is built on top of TensorFlow, and it provides a number of features that make it easy to develop image classification models, including: * A library of pre-trained models * A variety of layers for image processing * A simple API for training and evaluating models In this tutorial, you will learn how to use Keras to build an image classification model. You will start by loading a dataset of images, then you will pre-process the images and train a model. Finally, you will evaluate the model on a test set of images. ## Dataset The dataset that you will use in this tutorial is the [CIFAR-10 dataset](https://www.cs.toronto.edu/~kriz/cifar.html). CIFAR-10 is a collection of 60,000 images, divided into 10 classes. The classes are: * Airplane * Automobile * Bird * Cat * Deer * Dog * Frog * Horse * Ship * Truck ## Pre-processing The first step in building an image classification model is to pre-process the images. This involves resizing the images to a standard size and normalizing the pixel values. To resize the images, you can use the `keras.preprocessing.image.resize()` function. This function takes an image and a target size as input, and it returns a resized image. To normalize the pixel values, you can use the `keras.preprocessing.image.random_crop()` function. This function takes an image and a target size as input, and it returns a cropped image. ## Model The next step is to build the model. You can use the `keras.Sequential()` model to create a linear stack of layers. The first layer in the model should be a convolutional layer. Convolutional layers are used to extract features from images. The second layer in the model should be a pooling layer. Pooling layers are used to reduce the size of the feature maps. The third layer in the model should be a fully connected layer. Fully connected layers are used to classify the images. ## Training Once you have built the model, you need to train it. You can train the model using the `keras.fit()` function. This function takes the model, the training data, and the number of epochs as input. ## Evaluation Once you have trained the model, you need to evaluate it. You can evaluate the model using the `keras.evaluate()` function. This function takes the model and the test data as input. ## Conclusion In this tutorial, you learned how to use Keras to build an image classification model. You started by loading a dataset of images, then you pre-processed the images and trained a model. Finally, you evaluated the model on a test set of images.
What is the fundamental task of image classification?
Which of the following is not a type of image classification problem?
Which of the following is not a pre-processing step for image classification?