Auto Keras is the new open-source neural network library built for automated machine learning. This is built upon Keras where one with less knowledge about machine learning can make use of this library to build neural networks. This library makes the job easy with the help of automated search for hyperparameter selection and finding the optimized values. Let us dive into how to get started with it:
The automated machine learning packages are gaining popularity because of their easy-to-implement technique. A person from a non-AI background or one who has very less machine learning knowledge can build and train neural network within a few lines of code. Let us see how it can be installed.
The package can be installed through pip.
pip install autokeras
Note: Auto-Keras is only compatible with: Python 3.6.
With this installation, we were encountering few errors. This was solved once we manually installed it cloning the github repository. Since it is still in the beta version, one can face issues.
This module might take a long time to give results because the package itself contains every aspect of building a better model comparatively. For experienced professional, functionality tuning and modelling of the model for a specific parameter is currently not available. We believe this extension might be added in the future versions.
MNIST with Auto-Keras:
MNIST is a basic image classification problem. It consists of hand-written digits from 0 – 9. Each image has a shape of 28×28 with a depth of 1, that is, every image is in grayscale. We shall be making use of the code available on auto-keras platform, to replicate the results.
from keras.datasets import mnist
from autokeras import ImageClassifier
if name == 'main':
(x_train, y_train), (x_test, y_test) = mnist.load_data()
x_train = x_train.reshape(x_train.shape + (1,))
x_test = x_test.reshape(x_test.shape + (1,))
clf = ImageClassifier(verbose=True)
clf.fit(x_train, y_train, time_limit=12 * 60 * 60)
clf.final_fit(x_train, y_train, x_test, y_test, retrain=True)
y = clf.evaluate(x_test, y_test)
This is all it takes to train a neural network model, just a few lines of code where the package takes over the functions of finding the right parameters. This being so easy one can also make use of other functions like the BayesianSearcher, Graph module, PreProcessor, LayerTransformer, NetTransformer, ClassifierGenerator etc,. This can be accessed here, where other examples are also available.
It was implemented in a research, the paper is cited as – Efficient Neural Architecture Search with Network Morphism. Haifeng Jin, Qingquan Song, and Xia Hu. arXiv:1806.10282.
This still being developed, please do go through the disclaimer:
Please note that this is a pre-release version of the Auto-Keras which is still undergoing final testing before its official release. The website, its software and all content found on it are provided on an “as is” and “as available” basis. Auto-Keras does not give any warranties, whether express or implied, as to the suitability or usability of the website, its software or any of its content. Auto-Keras will not be liable for any loss, whether such loss is direct, indirect, special or consequential, suffered by any party as a result of their use of the libraries or content. Any usage of the libraries is done at the user’s own risk and the user will be solely responsible for any damage to any computer system or loss of data that results from such activities. Should you encounter any bugs, glitches, lack of functionality or other problems on the website, please let us know immediately so we can rectify these accordingly. Your help in this regard is greatly appreciated.
Auto-keras being a hit, other automated machine learning packages are also available which have pros and cons. One should explore other packages to understand the diversity of every package out there.
With this automated machine learning packages, machine learning enthusiasts who are keen to know how machine learning works can start here. But it is advised to start from basics, that is, how the backend of these packages work is a must for finding a role in this domain.
Try deep learning using MATLAB