CINXE.COM
Step 5: Tune Hyperparameters | Machine Learning | Google for Developers
<!doctype html> <html lang="en" dir="ltr"> <head> <meta name="google-signin-client-id" content="721724668570-nbkv1cfusk7kk4eni4pjvepaus73b13t.apps.googleusercontent.com"> <meta name="google-signin-scope" content="profile email https://www.googleapis.com/auth/developerprofiles https://www.googleapis.com/auth/developerprofiles.award"> <meta property="og:site_name" content="Google for Developers"> <meta property="og:type" content="website"><meta name="theme-color" content="#fff"><meta charset="utf-8"> <meta content="IE=Edge" http-equiv="X-UA-Compatible"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="manifest" href="/_pwa/developers/manifest.json" crossorigin="use-credentials"> <link rel="preconnect" href="//www.gstatic.com" crossorigin> <link rel="preconnect" href="//fonts.gstatic.com" crossorigin> <link rel="preconnect" href="//fonts.googleapis.com" crossorigin> <link rel="preconnect" href="//apis.google.com" crossorigin> <link rel="preconnect" href="//www.google-analytics.com" crossorigin><link rel="stylesheet" href="//fonts.googleapis.com/css?family=Google+Sans:400,500|Roboto:400,400italic,500,500italic,700,700italic|Roboto+Mono:400,500,700&display=swap"> <link rel="stylesheet" href="//fonts.googleapis.com/css2?family=Material+Icons&family=Material+Symbols+Outlined&display=block"><link rel="stylesheet" href="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/developers/css/app.css"> <link rel="shortcut icon" href="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/developers/images/favicon-new.png"> <link rel="apple-touch-icon" href="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/developers/images/touchicon-180-new.png"><link rel="canonical" href="https://developers.google.com/machine-learning/guides/text-classification/step-5"><link rel="search" type="application/opensearchdescription+xml" title="Google for Developers" href="https://developers.google.com/s/opensearch.xml"> <link rel="alternate" hreflang="en" href="https://developers.google.com/machine-learning/guides/text-classification/step-5" /><link rel="alternate" hreflang="x-default" href="https://developers.google.com/machine-learning/guides/text-classification/step-5" /><link rel="alternate" hreflang="ar" href="https://developers.google.com/machine-learning/guides/text-classification/step-5?hl=ar" /><link rel="alternate" hreflang="bn" href="https://developers.google.com/machine-learning/guides/text-classification/step-5?hl=bn" /><link rel="alternate" hreflang="zh-Hans" href="https://developers.google.com/machine-learning/guides/text-classification/step-5?hl=zh-cn" /><link rel="alternate" hreflang="zh-Hant" href="https://developers.google.com/machine-learning/guides/text-classification/step-5?hl=zh-tw" /><link rel="alternate" hreflang="fa" href="https://developers.google.com/machine-learning/guides/text-classification/step-5?hl=fa" /><link rel="alternate" hreflang="fr" href="https://developers.google.com/machine-learning/guides/text-classification/step-5?hl=fr" /><link rel="alternate" hreflang="de" href="https://developers.google.com/machine-learning/guides/text-classification/step-5?hl=de" /><link rel="alternate" hreflang="he" href="https://developers.google.com/machine-learning/guides/text-classification/step-5?hl=he" /><link rel="alternate" hreflang="hi" href="https://developers.google.com/machine-learning/guides/text-classification/step-5?hl=hi" /><link rel="alternate" hreflang="id" href="https://developers.google.com/machine-learning/guides/text-classification/step-5?hl=id" /><link rel="alternate" hreflang="it" href="https://developers.google.com/machine-learning/guides/text-classification/step-5?hl=it" /><link rel="alternate" hreflang="ja" href="https://developers.google.com/machine-learning/guides/text-classification/step-5?hl=ja" /><link rel="alternate" hreflang="ko" href="https://developers.google.com/machine-learning/guides/text-classification/step-5?hl=ko" /><link rel="alternate" hreflang="pl" href="https://developers.google.com/machine-learning/guides/text-classification/step-5?hl=pl" /><link rel="alternate" hreflang="pt-BR" href="https://developers.google.com/machine-learning/guides/text-classification/step-5?hl=pt-br" /><link rel="alternate" hreflang="ru" href="https://developers.google.com/machine-learning/guides/text-classification/step-5?hl=ru" /><link rel="alternate" hreflang="es-419" href="https://developers.google.com/machine-learning/guides/text-classification/step-5?hl=es-419" /><link rel="alternate" hreflang="th" href="https://developers.google.com/machine-learning/guides/text-classification/step-5?hl=th" /><link rel="alternate" hreflang="tr" href="https://developers.google.com/machine-learning/guides/text-classification/step-5?hl=tr" /><link rel="alternate" hreflang="vi" href="https://developers.google.com/machine-learning/guides/text-classification/step-5?hl=vi" /><title>Step 5: Tune Hyperparameters | Machine Learning | Google for Developers</title> <meta property="og:title" content="Step 5: Tune Hyperparameters | Machine Learning | Google for Developers"><meta property="og:url" content="https://developers.google.com/machine-learning/guides/text-classification/step-5"><meta property="og:image" content="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/developers/images/opengraph/white.png"> <meta property="og:image:width" content="1200"> <meta property="og:image:height" content="675"><meta property="og:locale" content="en"><meta name="twitter:card" content="summary_large_image"><script type="application/ld+json"> { "@context": "https://schema.org", "@type": "Article", "headline": "Step 5: Tune Hyperparameters" } </script><script type="application/ld+json"> { "@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [{ "@type": "ListItem", "position": 1, "name": "Machine Learning", "item": "https://developers.google.com/machine-learning" },{ "@type": "ListItem", "position": 2, "name": "Step 5: Tune Hyperparameters", "item": "https://developers.google.com/machine-learning/guides/text-classification/step-5" }] } </script> <link rel="stylesheet" href="/extras.css"></head> <body class="" template="page" theme="white" type="article" layout="docs" concierge='closed' display-toc pending> <devsite-progress type="indeterminate" id="app-progress"></devsite-progress> <section class="devsite-wrapper"> <devsite-cookie-notification-bar></devsite-cookie-notification-bar><devsite-header role="banner"> <div class="devsite-header--inner nocontent"> <div class="devsite-top-logo-row-wrapper-wrapper"> <div class="devsite-top-logo-row-wrapper"> <div class="devsite-top-logo-row"> <button type="button" id="devsite-hamburger-menu" class="devsite-header-icon-button button-flat material-icons gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Navigation menu button" visually-hidden aria-label="Open menu"> </button> <div class="devsite-product-name-wrapper"> <span class="devsite-product-name"> <ul class="devsite-breadcrumb-list" > <li class="devsite-breadcrumb-item "> <a href="https://developers.google.com/machine-learning" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Upper Header" data-value="1" track-type="globalNav" track-name="breadcrumb" track-metadata-position="1" track-metadata-eventdetail="Machine Learning" > Machine Learning </a> </li> </ul> </span> </div> <div class="devsite-top-logo-row-middle"> <div class="devsite-header-upper-tabs"> <devsite-tabs class="upper-tabs"> <nav class="devsite-tabs-wrapper" aria-label="Upper tabs"> <tab > <a href="https://developers.google.com/machine-learning/foundational-courses" track-metadata-eventdetail="https://developers.google.com/machine-learning/foundational-courses" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - foundational courses" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Foundational courses" track-name="foundational courses" > Foundational courses </a> </tab> <tab > <a href="https://developers.google.com/machine-learning/advanced-courses" track-metadata-eventdetail="https://developers.google.com/machine-learning/advanced-courses" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - advanced courses" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Advanced courses" track-name="advanced courses" > Advanced courses </a> </tab> <tab class="devsite-active"> <a href="https://developers.google.com/machine-learning/guides" track-metadata-eventdetail="https://developers.google.com/machine-learning/guides" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - guides" track-metadata-module="primary nav" aria-label="Guides, selected" data-category="Site-Wide Custom Events" data-label="Tab: Guides" track-name="guides" > Guides </a> </tab> <tab class="devsite-dropdown "> <a href="https://developers.google.com/machine-learning/glossary" track-metadata-eventdetail="https://developers.google.com/machine-learning/glossary" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - glossary" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Glossary" track-name="glossary" > Glossary </a> <a href="#" role="button" aria-haspopup="true" aria-expanded="false" aria-label="Dropdown menu for Glossary" track-type="nav" track-metadata-eventdetail="https://developers.google.com/machine-learning/glossary" track-metadata-position="nav - glossary" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Glossary" track-name="glossary" class="devsite-tabs-dropdown-toggle devsite-icon devsite-icon-arrow-drop-down"></a> <div class="devsite-tabs-dropdown" aria-label="submenu" hidden> <div class="devsite-tabs-dropdown-content"> <div class="devsite-tabs-dropdown-column "> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-item"> <a href="https://developers.google.com/machine-learning/glossary" track-type="nav" track-metadata-eventdetail="https://developers.google.com/machine-learning/glossary" track-metadata-position="nav - glossary" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> All terms </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/machine-learning/glossary/clustering" track-type="nav" track-metadata-eventdetail="https://developers.google.com/machine-learning/glossary/clustering" track-metadata-position="nav - glossary" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Clustering </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/machine-learning/glossary/df" track-type="nav" track-metadata-eventdetail="https://developers.google.com/machine-learning/glossary/df" track-metadata-position="nav - glossary" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Decision Forests </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/machine-learning/glossary/fairness" track-type="nav" track-metadata-eventdetail="https://developers.google.com/machine-learning/glossary/fairness" track-metadata-position="nav - glossary" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Fairness </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/machine-learning/glossary/fundamentals" track-type="nav" track-metadata-eventdetail="https://developers.google.com/machine-learning/glossary/fundamentals" track-metadata-position="nav - glossary" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Fundamentals </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/machine-learning/glossary/googlecloud" track-type="nav" track-metadata-eventdetail="https://developers.google.com/machine-learning/glossary/googlecloud" track-metadata-position="nav - glossary" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> GCP </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/machine-learning/glossary/generative" track-type="nav" track-metadata-eventdetail="https://developers.google.com/machine-learning/glossary/generative" track-metadata-position="nav - glossary" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Generative AI </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/machine-learning/glossary/image" track-type="nav" track-metadata-eventdetail="https://developers.google.com/machine-learning/glossary/image" track-metadata-position="nav - glossary" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Image </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/machine-learning/glossary/language" track-type="nav" track-metadata-eventdetail="https://developers.google.com/machine-learning/glossary/language" track-metadata-position="nav - glossary" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Lang Eval </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/machine-learning/glossary/recsystems" track-type="nav" track-metadata-eventdetail="https://developers.google.com/machine-learning/glossary/recsystems" track-metadata-position="nav - glossary" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Recommendation Systems </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/machine-learning/glossary/rl" track-type="nav" track-metadata-eventdetail="https://developers.google.com/machine-learning/glossary/rl" track-metadata-position="nav - glossary" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Reinforcement Learning </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/machine-learning/glossary/sequence" track-type="nav" track-metadata-eventdetail="https://developers.google.com/machine-learning/glossary/sequence" track-metadata-position="nav - glossary" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Sequence Models </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/machine-learning/glossary/tensorflow" track-type="nav" track-metadata-eventdetail="https://developers.google.com/machine-learning/glossary/tensorflow" track-metadata-position="nav - glossary" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> TensorFlow </div> </a> </li> </ul> </div> </div> </div> </tab> </nav> </devsite-tabs> </div> <devsite-search enable-signin enable-search enable-suggestions enable-query-completion project-name="Machine Learning" tenant-name="Google for Developers" project-scope="/machine-learning" url-scoped="https://developers.google.com/s/results/machine-learning" > <form class="devsite-search-form" action="https://developers.google.com/s/results" method="GET"> <div class="devsite-search-container"> <button type="button" search-open class="devsite-search-button devsite-header-icon-button button-flat material-icons" aria-label="Open search"></button> <div class="devsite-searchbox"> <input aria-activedescendant="" aria-autocomplete="list" aria-label="Search" aria-expanded="false" aria-haspopup="listbox" autocomplete="off" class="devsite-search-field devsite-search-query" name="q" placeholder="Search" role="combobox" type="text" value="" > <div class="devsite-search-image material-icons" aria-hidden="true"> </div> <div class="devsite-search-shortcut-icon-container" aria-hidden="true"> <kbd class="devsite-search-shortcut-icon">/</kbd> </div> </div> </div> </form> <button type="button" search-close class="devsite-search-button devsite-header-icon-button button-flat material-icons" aria-label="Close search"></button> </devsite-search> </div> <devsite-language-selector> <ul role="presentation"> <li role="presentation"> <a role="menuitem" lang="en" >English</a> </li> <li role="presentation"> <a role="menuitem" lang="de" >Deutsch</a> </li> <li role="presentation"> <a role="menuitem" lang="es" >Español</a> </li> <li role="presentation"> <a role="menuitem" lang="es_419" >Español – América Latina</a> </li> <li role="presentation"> <a role="menuitem" lang="fr" >Français</a> </li> <li role="presentation"> <a role="menuitem" lang="id" >Indonesia</a> </li> <li role="presentation"> <a role="menuitem" lang="it" >Italiano</a> </li> <li role="presentation"> <a role="menuitem" lang="pl" >Polski</a> </li> <li role="presentation"> <a role="menuitem" lang="pt_br" >Português – Brasil</a> </li> <li role="presentation"> <a role="menuitem" lang="vi" >Tiếng Việt</a> </li> <li role="presentation"> <a role="menuitem" lang="tr" >Türkçe</a> </li> <li role="presentation"> <a role="menuitem" lang="ru" >Русский</a> </li> <li role="presentation"> <a role="menuitem" lang="he" >עברית</a> </li> <li role="presentation"> <a role="menuitem" lang="ar" >العربيّة</a> </li> <li role="presentation"> <a role="menuitem" lang="fa" >فارسی</a> </li> <li role="presentation"> <a role="menuitem" lang="hi" >हिंदी</a> </li> <li role="presentation"> <a role="menuitem" lang="bn" >বাংলা</a> </li> <li role="presentation"> <a role="menuitem" lang="th" >ภาษาไทย</a> </li> <li role="presentation"> <a role="menuitem" lang="zh_cn" >中文 – 简体</a> </li> <li role="presentation"> <a role="menuitem" lang="zh_tw" >中文 – 繁體</a> </li> <li role="presentation"> <a role="menuitem" lang="ja" >日本語</a> </li> <li role="presentation"> <a role="menuitem" lang="ko" >한국어</a> </li> </ul> </devsite-language-selector> <devsite-user enable-profiles fp-auth id="devsite-user"> <span class="button devsite-top-button" aria-hidden="true" visually-hidden>Sign in</span> </devsite-user> </div> </div> </div> <div class="devsite-collapsible-section "> <div class="devsite-header-background"> <div class="devsite-product-id-row" > <div class="devsite-product-description-row"> <ul class="devsite-breadcrumb-list" > <li class="devsite-breadcrumb-item "> <a href="https://developers.google.com/machine-learning/guides" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Lower Header" data-value="1" track-type="globalNav" track-name="breadcrumb" track-metadata-position="1" track-metadata-eventdetail="" > Guides </a> </li> </ul> </div> </div> <div class="devsite-doc-set-nav-row"> <devsite-tabs class="lower-tabs"> <nav class="devsite-tabs-wrapper" aria-label="Lower tabs"> <tab > <a href="https://developers.google.com/machine-learning" track-metadata-eventdetail="https://developers.google.com/machine-learning" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - home" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Home" track-name="home" > Home </a> </tab> <tab class="devsite-active"> <a href="https://developers.google.com/machine-learning/guides/text-classification" track-metadata-eventdetail="https://developers.google.com/machine-learning/guides/text-classification" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - text classification" track-metadata-module="primary nav" aria-label="Text Classification, selected" data-category="Site-Wide Custom Events" data-label="Tab: Text Classification" track-name="text classification" > Text Classification </a> </tab> </nav> </devsite-tabs> </div> </div> </div> </div> </devsite-header> <devsite-book-nav scrollbars > <div class="devsite-book-nav-filter" > <span class="filter-list-icon material-icons" aria-hidden="true"></span> <input type="text" placeholder="Filter" aria-label="Type to filter" role="searchbox"> <span class="filter-clear-button hidden" data-title="Clear filter" aria-label="Clear filter" role="button" tabindex="0"></span> </div> <nav class="devsite-book-nav devsite-nav nocontent" aria-label="Side menu"> <div class="devsite-mobile-header"> <button type="button" id="devsite-close-nav" class="devsite-header-icon-button button-flat material-icons gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Close navigation" aria-label="Close navigation"> </button> <div class="devsite-product-name-wrapper"> <span class="devsite-product-name"> <ul class="devsite-breadcrumb-list" > <li class="devsite-breadcrumb-item "> <a href="https://developers.google.com/machine-learning" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Upper Header" data-value="1" track-type="globalNav" track-name="breadcrumb" track-metadata-position="1" track-metadata-eventdetail="Machine Learning" > Machine Learning </a> </li> </ul> </span> </div> </div> <div class="devsite-book-nav-wrapper"> <div class="devsite-mobile-nav-top"> <ul class="devsite-nav-list"> <li class="devsite-nav-item"> <a href="/machine-learning/foundational-courses" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Foundational courses" track-name="foundational courses" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Foundational courses" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Foundational courses </span> </a> </li> <li class="devsite-nav-item"> <a href="/machine-learning/advanced-courses" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Advanced courses" track-name="advanced courses" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Advanced courses" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Advanced courses </span> </a> </li> <li class="devsite-nav-item"> <a href="/machine-learning/guides" class="devsite-nav-title gc-analytics-event devsite-nav-active" data-category="Site-Wide Custom Events" data-label="Tab: Guides" track-name="guides" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Guides" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Guides </span> </a> <ul class="devsite-nav-responsive-tabs"> <li class="devsite-nav-item"> <a href="/machine-learning" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Home" track-name="home" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Home" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Home </span> </a> </li> <li class="devsite-nav-item"> <a href="/machine-learning/guides/text-classification" class="devsite-nav-title gc-analytics-event devsite-nav-has-children devsite-nav-active" data-category="Site-Wide Custom Events" data-label="Tab: Text Classification" track-name="text classification" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Text Classification" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip menu="_book"> Text Classification </span> <span class="devsite-nav-icon material-icons" data-icon="forward" menu="_book"> </span> </a> </li> </ul> </li> <li class="devsite-nav-item"> <a href="/machine-learning/glossary" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Glossary" track-name="glossary" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Glossary" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Glossary </span> </a> <ul class="devsite-nav-responsive-tabs devsite-nav-has-menu "> <li class="devsite-nav-item"> <span class="devsite-nav-title" tooltip data-category="Site-Wide Custom Events" data-label="Tab: Glossary" track-name="glossary" > <span class="devsite-nav-text" tooltip menu="Glossary"> More </span> <span class="devsite-nav-icon material-icons" data-icon="forward" menu="Glossary"> </span> </span> </li> </ul> </li> </ul> </div> <div class="devsite-mobile-nav-bottom"> <ul class="devsite-nav-list" menu="_book"> <li class="devsite-nav-item"><a href="/machine-learning/guides/text-classification" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /machine-learning/guides/text-classification" track-type="bookNav" track-name="click" track-metadata-eventdetail="/machine-learning/guides/text-classification" ><span class="devsite-nav-text" tooltip>Introduction</span></a></li> <li class="devsite-nav-item"><a href="/machine-learning/guides/text-classification/step-1" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /machine-learning/guides/text-classification/step-1" track-type="bookNav" track-name="click" track-metadata-eventdetail="/machine-learning/guides/text-classification/step-1" ><span class="devsite-nav-text" tooltip>Step 1: Gather Data</span></a></li> <li class="devsite-nav-item"><a href="/machine-learning/guides/text-classification/step-2" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /machine-learning/guides/text-classification/step-2" track-type="bookNav" track-name="click" track-metadata-eventdetail="/machine-learning/guides/text-classification/step-2" ><span class="devsite-nav-text" tooltip>Step 2: Explore Your Data</span></a></li> <li class="devsite-nav-item"><a href="/machine-learning/guides/text-classification/step-2-5" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /machine-learning/guides/text-classification/step-2-5" track-type="bookNav" track-name="click" track-metadata-eventdetail="/machine-learning/guides/text-classification/step-2-5" ><span class="devsite-nav-text" tooltip>Step 2.5: Choose a Model</span></a></li> <li class="devsite-nav-item"><a href="/machine-learning/guides/text-classification/step-3" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /machine-learning/guides/text-classification/step-3" track-type="bookNav" track-name="click" track-metadata-eventdetail="/machine-learning/guides/text-classification/step-3" ><span class="devsite-nav-text" tooltip>Step 3: Prepare Your Data</span></a></li> <li class="devsite-nav-item"><a href="/machine-learning/guides/text-classification/step-4" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /machine-learning/guides/text-classification/step-4" track-type="bookNav" track-name="click" track-metadata-eventdetail="/machine-learning/guides/text-classification/step-4" ><span class="devsite-nav-text" tooltip>Step 4: Build, Train, and Evaluate Your Model</span></a></li> <li class="devsite-nav-item"><a href="/machine-learning/guides/text-classification/step-5" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /machine-learning/guides/text-classification/step-5" track-type="bookNav" track-name="click" track-metadata-eventdetail="/machine-learning/guides/text-classification/step-5" ><span class="devsite-nav-text" tooltip>Step 5: Tune Hyperparameters</span></a></li> <li class="devsite-nav-item"><a href="/machine-learning/guides/text-classification/step-6" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /machine-learning/guides/text-classification/step-6" track-type="bookNav" track-name="click" track-metadata-eventdetail="/machine-learning/guides/text-classification/step-6" ><span class="devsite-nav-text" tooltip>Step 6: Deploy Your Model</span></a></li> <li class="devsite-nav-item"><a href="/machine-learning/guides/text-classification/conclusion" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /machine-learning/guides/text-classification/conclusion" track-type="bookNav" track-name="click" track-metadata-eventdetail="/machine-learning/guides/text-classification/conclusion" ><span class="devsite-nav-text" tooltip>Conclusion</span></a></li> <li class="devsite-nav-item"><a href="/machine-learning/guides/text-classification/appendix" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /machine-learning/guides/text-classification/appendix" track-type="bookNav" track-name="click" track-metadata-eventdetail="/machine-learning/guides/text-classification/appendix" ><span class="devsite-nav-text" tooltip>Appendix: Batch Training</span></a></li> </ul> <ul class="devsite-nav-list" menu="Glossary" aria-label="Side menu" hidden> <li class="devsite-nav-item"> <a href="/machine-learning/glossary" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: All terms" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > All terms </span> </a> </li> <li class="devsite-nav-item"> <a href="/machine-learning/glossary/clustering" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Clustering" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Clustering </span> </a> </li> <li class="devsite-nav-item"> <a href="/machine-learning/glossary/df" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Decision Forests" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Decision Forests </span> </a> </li> <li class="devsite-nav-item"> <a href="/machine-learning/glossary/fairness" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Fairness" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Fairness </span> </a> </li> <li class="devsite-nav-item"> <a href="/machine-learning/glossary/fundamentals" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Fundamentals" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Fundamentals </span> </a> </li> <li class="devsite-nav-item"> <a href="/machine-learning/glossary/googlecloud" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: GCP" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > GCP </span> </a> </li> <li class="devsite-nav-item"> <a href="/machine-learning/glossary/generative" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Generative AI" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Generative AI </span> </a> </li> <li class="devsite-nav-item"> <a href="/machine-learning/glossary/image" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Image" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Image </span> </a> </li> <li class="devsite-nav-item"> <a href="/machine-learning/glossary/language" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Lang Eval" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Lang Eval </span> </a> </li> <li class="devsite-nav-item"> <a href="/machine-learning/glossary/recsystems" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Recommendation Systems" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Recommendation Systems </span> </a> </li> <li class="devsite-nav-item"> <a href="/machine-learning/glossary/rl" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Reinforcement Learning" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Reinforcement Learning </span> </a> </li> <li class="devsite-nav-item"> <a href="/machine-learning/glossary/sequence" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Sequence Models" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Sequence Models </span> </a> </li> <li class="devsite-nav-item"> <a href="/machine-learning/glossary/tensorflow" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: TensorFlow" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > TensorFlow </span> </a> </li> </ul> </div> </div> </nav> </devsite-book-nav> <section id="gc-wrapper"> <main role="main" class="devsite-main-content" has-book-nav > <devsite-content> <article class="devsite-article"> <div class="devsite-article-meta nocontent" role="navigation"> <ul class="devsite-breadcrumb-list" aria-label="Breadcrumb"> <li class="devsite-breadcrumb-item "> <a href="https://developers.google.com/" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="1" track-type="globalNav" track-name="breadcrumb" track-metadata-position="1" track-metadata-eventdetail="" > Home </a> </li> <li class="devsite-breadcrumb-item "> <div class="devsite-breadcrumb-guillemet material-icons" aria-hidden="true"></div> <a href="https://developers.google.com/products" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="2" track-type="globalNav" track-name="breadcrumb" track-metadata-position="2" track-metadata-eventdetail="" > Products </a> </li> <li class="devsite-breadcrumb-item "> <div class="devsite-breadcrumb-guillemet material-icons" aria-hidden="true"></div> <a href="https://developers.google.com/machine-learning" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="3" track-type="globalNav" track-name="breadcrumb" track-metadata-position="3" track-metadata-eventdetail="Machine Learning" > Machine Learning </a> </li> <li class="devsite-breadcrumb-item "> <div class="devsite-breadcrumb-guillemet material-icons" aria-hidden="true"></div> <a href="https://developers.google.com/machine-learning/guides" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="4" track-type="globalNav" track-name="breadcrumb" track-metadata-position="4" track-metadata-eventdetail="" > Guides </a> </li> <li class="devsite-breadcrumb-item "> <div class="devsite-breadcrumb-guillemet material-icons" aria-hidden="true"></div> <a href="https://developers.google.com/machine-learning/guides/text-classification" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="5" track-type="globalNav" track-name="breadcrumb" track-metadata-position="5" track-metadata-eventdetail="" > Text Classification </a> </li> </ul> <devsite-thumb-rating position="header"> </devsite-thumb-rating> </div> <h1 class="devsite-page-title" tabindex="-1"> Step 5: Tune Hyperparameters </h1> <devsite-feature-tooltip ack-key="AckCollectionsBookmarkTooltipDismiss" analytics-category="Site-Wide Custom Events" analytics-action-show="Callout Profile displayed" analytics-action-close="Callout Profile dismissed" analytics-label="Create Collection Callout" class="devsite-page-bookmark-tooltip nocontent" dismiss-button="true" id="devsite-collections-dropdown" dismiss-button-text="Dismiss" close-button-text="Got it"> <devsite-bookmark></devsite-bookmark> <span slot="popout-heading"> Stay organized with collections </span> <span slot="popout-contents"> Save and categorize content based on your preferences. </span> </devsite-feature-tooltip> <div class="devsite-page-title-meta"><devsite-view-release-notes></devsite-view-release-notes></div> <devsite-toc class="devsite-nav" depth="2" devsite-toc-embedded > </devsite-toc> <div class="devsite-article-body clearfix "> <p>We had to choose a number of hyperparameters for defining and training the model. We relied on intuition, examples and best practice recommendations. Our first choice of hyperparameter values, however, may not yield the best results. It only gives us a good starting point for training. Every problem is different and tuning these hyperparameters will help refine our model to better represent the particularities of the problem at hand. Let’s take a look at some of the hyperparameters we used and what it means to tune them:</p> <ul> <li><p><strong>Number of layers in the model</strong>: The number of layers in a neural network is an indicator of its complexity. We must be careful in choosing this value. Too many layers will allow the model to learn too much information about the training data, causing overfitting. Too few layers can limit the model’s learning ability, causing underfitting. For text classification datasets, we experimented with one, two, and three-layer MLPs. Models with two layers performed well, and in some cases better than three-layer models. Similarly, we tried <a href="https://developers.google.com/machine-learning/glossary?utm_source=DevSite&utm_campaign=Text-Class-Guide&utm_medium=referral&utm_content=glossary&utm_term=sepCNN#depthwise-separable-convolutional-neural-network-sepcnn">sepCNN</a>s with four and six layers, and the four-layer models performed well.</p></li> <li><p><strong>Number of units per layer</strong>: The units in a layer must hold the information for the transformation that a layer performs. For the first layer, this is driven by the number of features. In subsequent layers, the number of units depends on the choice of expanding or contracting the representation from the previous layer. Try to minimize the information loss between layers. We tried unit values in the range <code translate="no" dir="ltr">[8, 16, 32, 64]</code>, and 32/64 units worked well.</p></li> <li><p><strong>Dropout rate</strong>: Dropout layers are used in the model for <a href="https://developers.google.com/machine-learning/glossary/?utm_source=DevSite&utm_campaign=Text-Class-Guide&utm_medium=referral&utm_content=glossary&utm_term=dropout-regularization#dropout_regularization">regularization</a>. They define the fraction of input to drop as a precaution for overfitting. Recommended range: 0.2–0.5.</p></li> <li><p><strong>Learning rate</strong>: This is the rate at which the neural network weights change between iterations. A large learning rate may cause large swings in the weights, and we may never find their optimal values. A low learning rate is good, but the model will take more iterations to converge. It is a good idea to start low, say at 1e-4. If the training is very slow, increase this value. If your model is not learning, try decreasing learning rate.</p></li> </ul> <p>There are couple of additional hyperparameters we tuned that are specific to our sepCNN model:</p> <ol> <li><p><strong>Kernel size</strong>: The size of the convolution window. Recommended values: 3 or 5.</p></li> <li><p><strong>Embedding dimensions</strong>: The number of dimensions we want to use to represent word embeddings—i.e., the size of each word vector. Recommended values: 50–300. In our experiments, we used GloVe embeddings with 200 dimensions with a pre- trained embedding layer.</p></li> </ol> <p>Play around with these hyperparameters and see what works best. Once you have chosen the best-performing hyperparameters for your use case, your model is ready to be deployed.</p> </div> <div class="devsite-steps"> <div class="steps-previous steps-direction"> <a href="/machine-learning/guides/text-classification/step-4" class="steps-link gc-analytics-event" data-category="Site-Wide Custom Events" data-action="Previous step" data-label="/machine-learning/guides/text-classification/step-4"> <div class="steps-link-direction">Previous</div> <span class="steps-link-arrow steps-link-arrow-left material-icons" aria-hidden="true"> arrow_back </span> <span class="steps-link-title-previous steps-link-title"> Step 4: Build, Train, and Evaluate Your Model </span> </a> </div> <div class="steps-next steps-direction"> <a href="/machine-learning/guides/text-classification/step-6" class="steps-link gc-analytics-event" data-category="Site-Wide Custom Events" data-action="Next step" data-label="/machine-learning/guides/text-classification/step-6"> <div class="steps-link-direction">Next</div> <span class="steps-link-title-next steps-link-title"> Step 6: Deploy Your Model </span> <span class="steps-link-arrow steps-link-arrow-right material-icons" aria-hidden="true"> arrow_forward </span> </a> </div> </div> <devsite-recommendations display="in-page" hidden yield> </devsite-recommendations> <devsite-thumb-rating position="footer"> </devsite-thumb-rating> <devsite-recommendations id="recommendations-link" yield></devsite-recommendations> <div class="devsite-floating-action-buttons"> </div> </article> <devsite-content-footer class="nocontent"> <p>Except as otherwise noted, the content of this page is licensed under the <a href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 License</a>, and code samples are licensed under the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache 2.0 License</a>. For details, see the <a href="https://developers.google.com/site-policies">Google Developers Site Policies</a>. Java is a registered trademark of Oracle and/or its affiliates.</p> <p>Last updated 2022-07-18 UTC.</p> </devsite-content-footer> <devsite-notification > </devsite-notification> <div class="devsite-content-data"> <template class="devsite-content-data-template"> [[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2022-07-18 UTC."],[],[]] </template> </div> </devsite-content> </main> <devsite-footer-promos class="devsite-footer"> </devsite-footer-promos> <devsite-footer-linkboxes class="devsite-footer"> <nav class="devsite-footer-linkboxes nocontent" aria-label="Footer links"> <ul class="devsite-footer-linkboxes-list"> <li class="devsite-footer-linkbox "> <h3 class="devsite-footer-linkbox-heading no-link">Connect</h3> <ul class="devsite-footer-linkbox-list"> <li class="devsite-footer-linkbox-item"> <a href="//googledevelopers.blogspot.com" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)" > Blog </a> </li> <li class="devsite-footer-linkbox-item"> <a href="https://www.instagram.com/googlefordevs/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 2)" > Instagram </a> </li> <li class="devsite-footer-linkbox-item"> <a href="https://www.linkedin.com/showcase/googledevelopers/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 3)" > LinkedIn </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//twitter.com/googledevs" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 4)" > X (Twitter) </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//www.youtube.com/user/GoogleDevelopers" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 5)" > YouTube </a> </li> </ul> </li> <li class="devsite-footer-linkbox "> <h3 class="devsite-footer-linkbox-heading no-link">Programs</h3> <ul class="devsite-footer-linkbox-list"> <li class="devsite-footer-linkbox-item"> <a href="//www.womentechmakers.com" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)" > Women Techmakers </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/community/gdg" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 2)" > Google Developer Groups </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/community/experts" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 3)" > Google Developer Experts </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/community/accelerators" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 4)" > Accelerators </a> </li> </ul> </li> <li class="devsite-footer-linkbox "> <h3 class="devsite-footer-linkbox-heading no-link">Developer consoles</h3> <ul class="devsite-footer-linkbox-list"> <li class="devsite-footer-linkbox-item"> <a href="//console.developers.google.com" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)" > Google API Console </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//console.cloud.google.com" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 2)" > Google Cloud Platform Console </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//play.google.com/apps/publish" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 3)" > Google Play Console </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//console.firebase.google.com" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 4)" > Firebase Console </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//console.actions.google.com" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 5)" > Actions on Google Console </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//cast.google.com/publish" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 6)" > Cast SDK Developer Console </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//chrome.google.com/webstore/developer/dashboard" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 7)" > Chrome Web Store Dashboard </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//console.home.google.com" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 8)" > Google Home Developer Console </a> </li> </ul> </li> </ul> </nav> </devsite-footer-linkboxes> <devsite-footer-utility class="devsite-footer"> <div class="devsite-footer-utility nocontent"> <nav class="devsite-footer-sites" aria-label="Other Google Developers websites"> <a href="https://developers.google.com/" class="devsite-footer-sites-logo-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Google Developers Link"> <picture> <img class="devsite-footer-sites-logo" src="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/developers/images/lockup-google-for-developers.svg" loading="lazy" alt="Google Developers"> </picture> </a> <ul class="devsite-footer-sites-list"> <li class="devsite-footer-sites-item"> <a href="//developer.android.com" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Android Link" > Android </a> </li> <li class="devsite-footer-sites-item"> <a href="//developer.chrome.com/home" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Chrome Link" > Chrome </a> </li> <li class="devsite-footer-sites-item"> <a href="//firebase.google.com" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Firebase Link" > Firebase </a> </li> <li class="devsite-footer-sites-item"> <a href="//cloud.google.com" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Google Cloud Platform Link" > Google Cloud Platform </a> </li> <li class="devsite-footer-sites-item"> <a href="//ai.google.dev/" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Google AI Link" > Google AI </a> </li> <li class="devsite-footer-sites-item"> <a href="/products" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer All products Link" > All products </a> </li> </ul> </nav> <nav class="devsite-footer-utility-links" aria-label="Utility links"> <ul class="devsite-footer-utility-list"> <li class="devsite-footer-utility-item "> <a class="devsite-footer-utility-link gc-analytics-event" href="/terms/site-terms" data-category="Site-Wide Custom Events" data-label="Footer Terms link" > Terms </a> </li> <li class="devsite-footer-utility-item "> <a class="devsite-footer-utility-link gc-analytics-event" href="//policies.google.com/privacy" data-category="Site-Wide Custom Events" data-label="Footer Privacy link" > Privacy </a> </li> <li class="devsite-footer-utility-item glue-cookie-notification-bar-control"> <a class="devsite-footer-utility-link gc-analytics-event" href="#" data-category="Site-Wide Custom Events" data-label="Footer Manage cookies link" aria-hidden="true" > Manage cookies </a> </li> <li class="devsite-footer-utility-item devsite-footer-utility-button"> <span class="devsite-footer-utility-description">Sign up for the Google for Developers newsletter</span> <a class="devsite-footer-utility-link gc-analytics-event" href="/newsletter/subscribe" data-category="Site-Wide Custom Events" data-label="Footer Subscribe link" > Subscribe </a> </li> </ul> <devsite-language-selector> <ul role="presentation"> <li role="presentation"> <a role="menuitem" lang="en" >English</a> </li> <li role="presentation"> <a role="menuitem" lang="de" >Deutsch</a> </li> <li role="presentation"> <a role="menuitem" lang="es" >Español</a> </li> <li role="presentation"> <a role="menuitem" lang="es_419" >Español – América Latina</a> </li> <li role="presentation"> <a role="menuitem" lang="fr" >Français</a> </li> <li role="presentation"> <a role="menuitem" lang="id" >Indonesia</a> </li> <li role="presentation"> <a role="menuitem" lang="it" >Italiano</a> </li> <li role="presentation"> <a role="menuitem" lang="pl" >Polski</a> </li> <li role="presentation"> <a role="menuitem" lang="pt_br" >Português – Brasil</a> </li> <li role="presentation"> <a role="menuitem" lang="vi" >Tiếng Việt</a> </li> <li role="presentation"> <a role="menuitem" lang="tr" >Türkçe</a> </li> <li role="presentation"> <a role="menuitem" lang="ru" >Русский</a> </li> <li role="presentation"> <a role="menuitem" lang="he" >עברית</a> </li> <li role="presentation"> <a role="menuitem" lang="ar" >العربيّة</a> </li> <li role="presentation"> <a role="menuitem" lang="fa" >فارسی</a> </li> <li role="presentation"> <a role="menuitem" lang="hi" >हिंदी</a> </li> <li role="presentation"> <a role="menuitem" lang="bn" >বাংলা</a> </li> <li role="presentation"> <a role="menuitem" lang="th" >ภาษาไทย</a> </li> <li role="presentation"> <a role="menuitem" lang="zh_cn" >中文 – 简体</a> </li> <li role="presentation"> <a role="menuitem" lang="zh_tw" >中文 – 繁體</a> </li> <li role="presentation"> <a role="menuitem" lang="ja" >日本語</a> </li> <li role="presentation"> <a role="menuitem" lang="ko" >한국어</a> </li> </ul> </devsite-language-selector> </nav> </div> </devsite-footer-utility> <devsite-panel></devsite-panel> <devsite-concierge data-info-panel data-ai-panel data-api-explorer-panel > </devsite-concierge> </section></section> <devsite-sitemask></devsite-sitemask> <devsite-snackbar></devsite-snackbar> <devsite-tooltip ></devsite-tooltip> <devsite-heading-link></devsite-heading-link> <devsite-analytics> <script type="application/json" analytics>[{"dimensions": {"dimension3": false, "dimension4": "Machine Learning", "dimension6": "en", "dimension11": false, "dimension1": "Signed out", "dimension5": "en"}, "gaid": "UA-24532603-1", "metrics": {"ratings_count": "metric2", "ratings_value": "metric1"}, "purpose": 1}, {"dimensions": {"dimension3": false, "dimension4": "Machine Learning", "dimension6": "en", "dimension11": false, "dimension1": "Signed out", "dimension5": "en"}, "gaid": "UA-76465953-5", "metrics": {"ratings_count": "metric2", "ratings_value": "metric1"}, "purpose": 0}]</script> <script type="application/json" tag-management>{"at": "True", "ga4": [{"id": "G-272J68FCRF", "purpose": 1}, {"id": "G-HFD02D315Q", "purpose": 0}], "ga4p": [{"id": "G-272J68FCRF", "purpose": 1}], "gtm": [], "parameters": {"internalUser": "False", "language": {"machineTranslated": "False", "requested": "en", "served": "en"}, "pageType": "article", "projectName": "Machine Learning", "signedIn": "False", "tenant": "developers", "recommendations": {"sourcePage": "", "sourceType": 0, "sourceRank": 0, "sourceIdenticalDescriptions": 0, "sourceTitleWords": 0, "sourceDescriptionWords": 0, "experiment": ""}, "experiment": {"ids": ""}}}</script> </devsite-analytics> <devsite-badger></devsite-badger> <script nonce="5GyjikD5lxAyoJIMyMtITsLbuKNxLb"> (function(d,e,v,s,i,t,E){d['GoogleDevelopersObject']=i; t=e.createElement(v);t.async=1;t.src=s;E=e.getElementsByTagName(v)[0]; E.parentNode.insertBefore(t,E);})(window, document, 'script', 'https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/developers/js/app_loader.js', '[1,"en",null,"/js/devsite_app_module.js","https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625","https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/developers","https://developers-dot-devsite-v2-prod.appspot.com",null,null,["/_pwa/developers/manifest.json","https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/images/video-placeholder.svg","https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/developers/images/favicon-new.png","https://fonts.googleapis.com/css?family=Google+Sans:400,500|Roboto:400,400italic,500,500italic,700,700italic|Roboto+Mono:400,500,700&display=swap"],1,null,[1,6,8,12,14,17,21,25,50,52,63,70,75,76,80,87,91,92,93,97,98,100,101,102,103,104,105,107,108,109,110,112,113,116,117,118,120,122,124,125,126,127,129,130,131,132,133,134,135,136,138,140,141,147,148,149,151,152,156,157,158,159,161,163,164,168,169,170,179,180,182,183,186,191,193,196],"AIzaSyAP-jjEJBzmIyKR4F-3XITp8yM9T1gEEI8","AIzaSyB6xiKGDR5O3Ak2okS4rLkauxGUG7XP0hg","developers.google.com","AIzaSyAQk0fBONSGUqCNznf6Krs82Ap1-NV6J4o","AIzaSyCCxcqdrZ_7QMeLCRY20bh_SXdAYqy70KY",null,null,null,["Search__enable_ai_search_summaries","Profiles__require_profile_eligibility_for_signin","Search__enable_dynamic_content_confidential_banner","MiscFeatureFlags__enable_variable_operator","MiscFeatureFlags__enable_project_variables","Cloud__enable_cloud_dlp_service","Profiles__enable_release_notes_notifications","Cloud__enable_cloud_shell","Profiles__enable_completecodelab_endpoint","MiscFeatureFlags__enable_firebase_utm","CloudShell__cloud_code_overflow_menu","Concierge__enable_concierge","Search__enable_ai_eligibility_checks","Search__enable_ai_search_summaries_restricted","Profiles__enable_dashboard_curated_recommendations","Concierge__enable_pushui","EngEduTelemetry__enable_engedu_telemetry","Profiles__enable_recognition_badges","Cloud__enable_cloud_shell_fte_user_flow","MiscFeatureFlags__enable_view_transitions","Profiles__enable_public_developer_profiles","Profiles__enable_complete_playlist_endpoint","TpcFeatures__enable_mirror_tenant_redirects","Concierge__enable_concierge_restricted","BookNav__enable_tenant_cache_key","Experiments__reqs_query_experiments","Profiles__enable_developer_profiles_callout","MiscFeatureFlags__developers_footer_image","DevPro__enable_cloud_innovators_plus","CloudShell__cloud_shell_button","DevPro__enable_developer_subscriptions","MiscFeatureFlags__emergency_css","Cloud__enable_legacy_calculator_redirect","Significatio__enable_by_tenant","Analytics__enable_clearcut_logging","Cloud__enable_llm_concierge_chat","Profiles__enable_page_saving","Cloud__enable_free_trial_server_call","Search__enable_page_map","Cloud__enable_cloud_facet_chat","MiscFeatureFlags__developers_footer_dark_image","TpcFeatures__enable_required_headers","Search__enable_suggestions_from_borg","MiscFeatureFlags__enable_explain_this_code","Profiles__enable_profile_collections","Profiles__enable_awarding_url","Cloud__enable_cloudx_ping","Cloud__enable_cloudx_experiment_ids"],null,null,"AIzaSyBLEMok-5suZ67qRPzx0qUtbnLmyT_kCVE","https://developerscontentserving-pa.clients6.google.com","AIzaSyCM4QpTRSqP5qI4Dvjt4OAScIN8sOUlO-k","https://developerscontentsearch-pa.clients6.google.com",1,4,null,"https://developerprofiles-pa.clients6.google.com",[1,"developers","Google for Developers","developers.google.com",null,"developers-dot-devsite-v2-prod.appspot.com",null,null,[1,1,[1],null,null,null,null,null,null,null,null,[1],null,null,null,null,null,null,[1],[1,null,null,[1,20],"/recommendations/information"],null,null,null,[1,1,1],[1,1,null,1,1]],null,[null,null,null,null,null,null,"/images/lockup-new.svg","/images/touchicon-180-new.png",null,null,null,null,1,null,null,null,null,null,null,null,null,1,null,null,null,"/images/lockup-dark-theme-new.svg",[]],[],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[6,1,14,15,20,22,23,29,32,36],null,[[null,null,null,[3,7,10,2,39,17,4,32,24,11,12,13,34,15,25],null,null,[1,[["docType","Choose a content type",[["Tutorial",null,null,null,null,null,null,null,null,"Tutorial"],["Guide",null,null,null,null,null,null,null,null,"Guide"],["Sample",null,null,null,null,null,null,null,null,"Sample"]]],["product","Choose a product",[["Android",null,null,null,null,null,null,null,null,"Android"],["ARCore",null,null,null,null,null,null,null,null,"ARCore"],["ChromeOS",null,null,null,null,null,null,null,null,"ChromeOS"],["Firebase",null,null,null,null,null,null,null,null,"Firebase"],["Flutter",null,null,null,null,null,null,null,null,"Flutter"],["Assistant",null,null,null,null,null,null,null,null,"Google Assistant"],["GoogleCloud",null,null,null,null,null,null,null,null,"Google Cloud"],["GoogleMapsPlatform",null,null,null,null,null,null,null,null,"Google Maps Platform"],["GooglePay",null,null,null,null,null,null,null,null,"Google Pay & Google Wallet"],["GooglePlay",null,null,null,null,null,null,null,null,"Google Play"],["Tensorflow",null,null,null,null,null,null,null,null,"TensorFlow"]]],["category","Choose a topic",[["AiAndMachineLearning",null,null,null,null,null,null,null,null,"AI and Machine Learning"],["Data",null,null,null,null,null,null,null,null,"Data"],["Enterprise",null,null,null,null,null,null,null,null,"Enterprise"],["Gaming",null,null,null,null,null,null,null,null,"Gaming"],["Mobile",null,null,null,null,null,null,null,null,"Mobile"],["Web",null,null,null,null,null,null,null,null,"Web"]]]]]],[1,1],null,1],[[["UA-24532603-1"],["UA-22084204-5"],null,null,["UA-24532603-5"],null,null,[["G-272J68FCRF"],null,null,[["G-272J68FCRF",2]]],[["UA-24532603-1",2]],null,[["UA-24532603-5",2]],null,1],[[3,2],[5,4],[4,3],[6,5],[11,8],[16,13],[15,12],[14,11],[1,1],[12,9],[13,10]],[[1,1],[2,2]]],null,4,null,null,null,null,null,null,null,null,null,null,null,null,null,"developers.devsite.google"],null,"pk_live_5170syrHvgGVmSx9sBrnWtA5luvk9BwnVcvIi7HizpwauFG96WedXsuXh790rtij9AmGllqPtMLfhe2RSwD6Pn38V00uBCydV4m"]') </script> <devsite-a11y-announce></devsite-a11y-announce> </body> </html>