{"id":9786,"date":"2020-09-23T10:43:24","date_gmt":"2020-09-23T10:43:24","guid":{"rendered":"https:\/\/www.experfy.com\/blog\/?p=9786"},"modified":"2023-11-01T11:09:59","modified_gmt":"2023-11-01T11:09:59","slug":"automl-creating-top-performing-neural-networks-without-defining-architectures","status":"publish","type":"post","link":"https:\/\/www.experfy.com\/blog\/ai-ml\/automl-creating-top-performing-neural-networks-without-defining-architectures\/","title":{"rendered":"AutoML: Creating Top-Performing Neural Networks Without Defining Architectures"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"9786\" class=\"elementor elementor-9786\" data-elementor-post-type=\"post\">\n\t\t\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-7e0a1919 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"7e0a1919\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-7afba7c2\" data-id=\"7afba7c2\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-dada983 elementor-widget elementor-widget-heading\" data-id=\"dada983\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Programming AutoML In Python with AutoKeras<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b96170c elementor-widget elementor-widget-text-editor\" data-id=\"b96170c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\n<p id=\"c730\">Automated Machine Learning, commonly abbreviated as AutoML, is the automation of the building of neural network structures. Through intelligent architecture manipulations, AutoML can not only make deep learning more accessible for everyone but accelerate deep learning research.<\/p>\n\n\n\n<p id=\"e154\">In this article, we\u2019ll go over:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>How to install AutoKeras for neural architecture searches.<\/li>\n<li>How to use AutoKeras to find the best neural architectures using structured, image, and text <a href=\"https:\/\/www.experfy.com\/blog\/will-automl-software-replace-data-scientists\/\" target=\"_blank\" rel=\"noreferrer noopener\">data <\/a>for regression and classification tasks.<\/li>\n<li>How to evaluate, predict, export to Keras\/TensorFlow, and view architecture of obtained high-performing models.<\/li>\n<\/ul>\n\n\n<hr class=\"wp-block-separator\" \/>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f6ec20c elementor-widget elementor-widget-heading\" data-id=\"f6ec20c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">A Glimpse into AutoKeras<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-14030cb elementor-widget elementor-widget-text-editor\" data-id=\"14030cb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\n<ul class=\"wp-block-list\">\n<li>With AutoKeras, a neural architecture search algorithm finds the best architectures, like the number of neurons in a layer, the number of layers, which layers to incorporate, layer-specific parameters like filter size or percent of dropped neurons in Dropout, etc. Once the search is complete, you can use the model as a normal TensorFlow\/Keras model.<\/li>\n<li>By using AutoKeras, you can build a model with complex elements like embeddings and spatial reductions that would otherwise be less accessible to those who are still in the process of learning DL.<\/li>\n<li>When AutoKeras creates models for you, much of preprocessing, like vectorizing or cleaning text data, is done and optimized for you.<\/li>\n<li>It takes two lines to initiate and train a search. AutoKeras boasts a Keras-like interface, so it\u2019s not hard to remember and use at all.<\/li>\n<\/ul>\n\n\n\n<p id=\"3fa1\">Excited yet? Let\u2019s get started!<\/p>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-16ef43e elementor-widget elementor-widget-heading\" data-id=\"16ef43e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Installation<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6c6288d elementor-widget elementor-widget-text-editor\" data-id=\"6c6288d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\n<p id=\"5d2a\">Before you install, ensure you have the following prerequisites:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.tensorflow.org\/install\/pip#1.-install-the-python-development-environment-on-your-system\" target=\"_blank\" rel=\"noreferrer noopener\">Python 3<\/a>\u00a0(AutoKeras does not work with Python 2)<\/li>\n<li><a href=\"https:\/\/www.tensorflow.org\/install\" target=\"_blank\" rel=\"noreferrer noopener\">TensorFlow \u2265 2.3.0<\/a>\u00a0(AutoKeras is based on TensorFlow)<\/li>\n<\/ul>\n\n\n\n<p id=\"a9b4\">In your command line, run two commands. This should properly install AutoKeras. Note that these installations, unfortunately, do not work in Kaggle notebooks, so it\u2019s best to run these on a local environment.<\/p>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-eb3d083 elementor-widget elementor-widget-text-editor\" data-id=\"eb3d083\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\n<p id=\"f0e6\">As a test, run\u00a0<code>import autokeras<\/code>\u00a0in your coding environment to ensure everything is working.<\/p>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-02efe99 elementor-widget elementor-widget-heading\" data-id=\"02efe99\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Structured Data Classification\/Regression Tasks<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e6176a1 elementor-widget elementor-widget-text-editor\" data-id=\"e6176a1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\n<p id=\"26ab\">Let\u2019s use the famous iris dataset, which we can import from\u00a0<code>sklearn<\/code>\u2019s several handy\u00a0<a href=\"https:\/\/towardsdatascience.com\/playing-god-with-data-d7d566550745?source=your_stories_page---------------------------\" class=\"broken_link\" rel=\"noopener\">toy datasets<\/a>. The result (<code>data<\/code>) of a data import is a dictionary with two keys, \u2018<code>data<\/code>\u2019 and \u2018<code>target<\/code>\u2019.<\/p>\n\n\n\n<p id=\"6b46\">However, since the target is categorical (three values), we\u2019ll need to dummy-encode it. Since the result is a pandas DataFrame and a NumPy array is desired, we call\u00a0<code>.values<\/code>\u00a0after\u00a0<code>pd.get_dummies<\/code>\u00a0(which one-hot encodes).<\/p>\n\n\n\n<div class=\"wp-block-image\">\u00a0<\/div>\n\n\n\n<p id=\"8a34\">Calling\u00a0<code>X.shape<\/code>\u00a0yields (150, 4) and calling\u00a0<code>y.shape<\/code>\u00a0yields (150, 3). This makes sense \u2014 there are 150 rows, 4 columns in\u00a0<code>X<\/code>, and 3 unique categories in\u00a0<code>y<\/code>\u00a0(hence three columns). In order to evaluate our model, we will split the data into training and testing sets.<\/p>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a8f4f49 elementor-widget elementor-widget-text-editor\" data-id=\"a8f4f49\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p id=\"5c0d\">It\u2019s always good practice to check the shape of arrays:<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:list -->\n<ul>\n<li><code>X_train<\/code>: (105, 4)<\/li>\n<li><code>X_test<\/code>: (45, 4)<\/li>\n<li><code>y_train<\/code>: (105, 3)<\/li>\n<li><code>y_test<\/code>: (45, 3)<\/li>\n<\/ul>\n<!-- \/wp:list -->\n\n<!-- wp:paragraph -->\n<p id=\"4605\">Great! \u2014 everything adds up. We can begin working with\u00a0<code>autokeras<\/code>.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p id=\"0e26\">Importing\u00a0<code>autokeras<\/code>\u00a0should be no problem. A\u00a0<code>StructuredDataClassifier<\/code>\u00a0is a search object that works on \u2018structured data\u2019, or standard two-dimensional data with columns and a label. The\u00a0<code>max_trials<\/code>\u00a0parameter indicates the maximum number of models to test; this can be set higher in the case of the iris dataset since it is so small. Often the search will end before\u00a0<code>max_trials<\/code>\u00a0is met (it serves as an upper bound).<\/p>\n<!-- \/wp:paragraph -->\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-606caa5 elementor-widget elementor-widget-text-editor\" data-id=\"606caa5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<!-- wp:paragraph -->\n<p id=\"de14\">For regression problems, use\u00a0<code>StructuredDataRegressor<\/code>.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p id=\"d63f\">We can initiate the search process by calling\u00a0<code>.fit()<\/code>.\u00a0<code>verbose<\/code>\u00a0is a parameter that can be set to 0 or 1, depending on if you would like the model to output information about training, like the architecture of potential networks and epoch-by-epoch progress. However, there are hundreds of epochs for each potential architecture, so it may take up space and slow down training.<\/p>\n<!-- \/wp:paragraph -->\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6dd0dd4 elementor-widget elementor-widget-text-editor\" data-id=\"6dd0dd4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<!-- wp:paragraph -->\n<p id=\"c4d8\">It\u2019s always worth setting verbose=1 at least once to peek into what is going on behind the scenes, since the entire search takes at least several minutes to complete. Take this sample output:<\/p>\n<!-- \/wp:paragraph -->\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-456cea9 elementor-widget elementor-widget-text-editor\" data-id=\"456cea9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<!-- wp:paragraph -->\n<p id=\"2fbe\">If you\u2019re up to it, it\u2019s fascinating to watch the architectures transform over time, and what elements are going into the final neural network.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p id=\"ad59\">On my local environment, it took ~1 hour in total with no GPU acceleration to run through 15 trials.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p id=\"a442\">Once your model has been fit, we can evaluate its performance or obtain predictions. Generally, this is a quick process so\u00a0<code>verbose<\/code>\u00a0can be set to 0.<\/p>\n<!-- \/wp:paragraph -->\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-88a3e74 elementor-widget elementor-widget-text-editor\" data-id=\"88a3e74\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<!-- wp:paragraph -->\n<p id=\"4697\">To view more details about the model structure and to save it, we need to export it using\u00a0<code>model = search.export_model()<\/code>. Here,\u00a0<code>model<\/code>\u00a0is a standard TensorFlow\/Keras model, not a AutoKeras object.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p id=\"6aa3\">Calling\u00a0<code>model.summary()<\/code>\u00a0will print out best architecture obtained by the neural architecture search.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:image {\"align\":\"center\",\"id\":9801,\"sizeSlug\":\"large\"} -->\n<div class=\"wp-block-image\">\u00a0<\/div>\n<!-- \/wp:image -->\n\n<!-- wp:paragraph -->\n<p id=\"506e\">To save the weights, call\u00a0<code>model.save(\u2018filepath\/weights.h5\u2019)<\/code>.<\/p>\n<!-- \/wp:paragraph -->\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-78270d6 elementor-widget elementor-widget-heading\" data-id=\"78270d6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Image Classification\/Regression<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-bdd28c9 elementor-widget elementor-widget-text-editor\" data-id=\"bdd28c9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<!-- wp:paragraph -->\n<p id=\"1ead\">Image classification and regression work much like classification and regression on standard structured data, but the neural network is built using elements of convolutional neural networks, like convolutional layers, max pooling, and flattening. All parameters are learned.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p id=\"69d3\">For example, let\u2019s work on the MNIST dataset to find a convolutional neural network to recognize digits from 28 by 28 images. Keras datasets provide a handy method to retrieve this data, but the\u00a0<code>y<\/code>-variables need to be converted into dummy variables.<\/p>\n<!-- \/wp:paragraph -->\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4873831 elementor-widget elementor-widget-text-editor\" data-id=\"4873831\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<!-- wp:paragraph -->\n<p id=\"d80c\">Let\u2019s check the shape of the data.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:list -->\n<ul>\n<li><code>X_train<\/code>: (60000, 28, 28)<\/li>\n<li><code>X_test<\/code>: (10000, 28, 28)<\/li>\n<li><code>y_train<\/code>: (60000, 10)<\/li>\n<li><code>y_test<\/code>: (10000, 10)<\/li>\n<\/ul>\n<!-- \/wp:list -->\n\n<!-- wp:paragraph -->\n<p id=\"11ca\">Great! AutoKeras can also handle four-dimensional data (colored images with multiple channels). We can create a search object with\u00a0<code>ImageClassifier<\/code>\u00a0(or,\u00a0<code>ImageRegressor<\/code>\u00a0for regression tasks)<\/p>\n<!-- \/wp:paragraph -->\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6c3e2b3 elementor-widget elementor-widget-text-editor\" data-id=\"6c3e2b3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<!-- wp:paragraph -->\n<p id=\"e646\">*If you are running multiple searches, add a parameter overwrite=True when defining the search object (<code>ak.object(overwrite=True, max_trials=x)<\/code>). Otherwise, there will be an error.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p id=\"09ea\">Evaluation, prediction, and exporting are performed the same as with structured classifiers and regressors. Note that a neural architecture search with images will take a substantially longer period of time.<\/p>\n<!-- \/wp:paragraph -->\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0677044 elementor-widget elementor-widget-heading\" data-id=\"0677044\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Text Classification\/Regression\n<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5c900e6 elementor-widget elementor-widget-text-editor\" data-id=\"5c900e6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<!-- wp:paragraph -->\n<p id=\"a6c7\">AutoKeras doesn\u2019t require any text vectorization, which is handy because there are so many ways to do so and each can be lengthy to implement. Instead, this is learned by the model.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p id=\"8cce\">Let\u2019s use the 20 News Groups dataset, which consists of several news excerpts belonging to 20 different categories. To save time and computing expenses, we\u2019ll only choose to import four categories and have a rather large test-size split (half the dataset).<\/p>\n<!-- \/wp:paragraph -->\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-83a41fb elementor-widget elementor-widget-text-editor\" data-id=\"83a41fb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<!-- wp:paragraph -->\n<p id=\"3012\"><code>X_train<\/code>\u00a0and\u00a0<code>X_test<\/code>\u00a0each are arrays comprised of 1128 raw text strings,\u00a0<code>y_train<\/code>\u00a0and\u00a0<code>y_test<\/code>\u00a0are each arrays of shape (1128, 4).<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p id=\"924d\">Note that AutoKeras can handle strings of variable lengths! Each string in the input does not need to be the same length.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p id=\"8c34\">Next, let\u2019s build our text classifier\/regressor.<\/p>\n<!-- \/wp:paragraph -->\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-caaf482 elementor-widget elementor-widget-text-editor\" data-id=\"caaf482\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<!-- wp:paragraph -->\n<p id=\"6c76\">*If you are running multiple searches, add a parameter overwrite=True when defining the search object (<code>ak.object(overwrite=True, max_trials=x)<\/code>). Otherwise, there will be an error.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p id=\"dd17\">Evaluation, prediction, and exporting are performed the same as with structured classifiers and regressors.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p id=\"6cb7\">It\u2019s worth taking a look at the proposed networks. The fusion between NLP and Deep Learning can be extraordinary advanced, and it\u2019s amazing that complex elements like embeddings, spatial reductions, etc. can be implemented without needing to be explicitly called.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p id=\"6cb7\">https:\/\/towardsdatascience.com\/media\/ef7e5ecedaeca96d93195cc9d9652ba3<\/p>\n<!-- \/wp:paragraph -->\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d0335f3 elementor-widget elementor-widget-text-editor\" data-id=\"d0335f3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<!-- wp:paragraph -->\n<p id=\"263a\">With AutoKeras, deep learning becomes more accessible for all!<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>Source: <a href=\"https:\/\/towardsdatascience.com\/automl-creating-top-performing-neural-networks-without-defining-architectures-c7d3b08cddc\" target=\"_blank\" rel=\"noreferrer noopener\" class=\"broken_link\">Towards Data Science<\/a>.<\/p>\n<!-- \/wp:paragraph -->\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Automated Machine Learning, commonly abbreviated as AutoML, is the automation of the building of neural network structures. Through intelligent architecture manipulations, AutoML can not only make deep learning more accessible for  everyone but accelerate deep learning research.<\/p>\n","protected":false},"author":884,"featured_media":9787,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"content-type":"","footnotes":""},"categories":[183],"tags":[655,653,654,114],"ppma_author":[3782],"class_list":["post-9786","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai-ml","tag-autokeras","tag-automated-machine-learning","tag-automl","tag-python"],"authors":[{"term_id":3782,"user_id":884,"is_guest":0,"slug":"andre-ye","display_name":"Andre Ye","avatar_url":"https:\/\/www.experfy.com\/blog\/wp-content\/uploads\/2020\/08\/Andre-Ye-150x150.jpg","user_url":"https:\/\/www.critiq.tech\/","last_name":"Ye","first_name":"Andre","job_title":"","description":"Andre Ye is Cofounder at Critiq, and Editor and Writer at Medium"}],"_links":{"self":[{"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/posts\/9786","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/users\/884"}],"replies":[{"embeddable":true,"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/comments?post=9786"}],"version-history":[{"count":11,"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/posts\/9786\/revisions"}],"predecessor-version":[{"id":33853,"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/posts\/9786\/revisions\/33853"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/media\/9787"}],"wp:attachment":[{"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/media?parent=9786"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/categories?post=9786"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/tags?post=9786"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=9786"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}