AutoKeras is an open source Framework based on Keras to enable Neural Architecture Search (NAS) for deep learning architectures trained on big data. NAS is a technique to support the human design for neural network architectures that are quite complex and not Always easy to tune for a specific application. The AutoKeras library offers several NAS algorithms, along with existing preprocessing blocks to ensure great NAS trainings sessions.
AutoKeras includes the following capabilities: Image Classification/Regression, Text Classification/Regression, Structured Data Classification/Regression (Typical row x column datatypes), Multi-Task Learning. The official Web page of AutoKeras is here. It requires Python3 and TensorFlow equal or larger than 2.1.0.
One example is for using AutoKeras with the well-known MNIST dataset to perform image classification of handwritten digits. The idea is to train the best neural network architecture for this classification task and AutoKeras can perform this with a few lines of codes. There is a configuration option for the maximum number of traisl that refers to how many different neural network models will be explored in the search. It is important to know that AutoKeras implements known succesful neural network models such as ResNet, Xception, and a various number of powerful Convolutional Neural Networks (CNNs). After AutoKeras has completed the maximum numbers of trials, the neural network model with the best score is selected as result. That means the model can be stored and actually used now to feed a new image for classification. The human did not not to intervene much in choosing the right neural network architecture.
In more Detail, AutoModel and Blocks enable users of AutoKeras to create any Pipeline and potential neural network architecture required. This is often necessary since real data science applications are not usually like the simple MNIST example explained above. Typically, image classification can be considered as a whole graph involving normalization, augmentation, and finally classifcation. Constructing a graph like that enables more control of the overall pipeline whereby each step in the graph is called a block.
More details about AutoKeras can be found in the original paper here.
We recommend the following video in order to obtain more details: