CINXE.COM

Build LiteRT for Android  |  Google AI Edge  |  Google AI for Developers

<!doctype html> <html lang="en" dir="ltr"> <head> <meta name="google-signin-client-id" content="157101835696-ooapojlodmuabs2do2vuhhnf90bccmoi.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 AI for Developers"> <meta property="og:type" content="website"><meta name="theme-color" content="#1967d2"><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/googledevai/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/googledevai/css/app.css"> <link rel="shortcut icon" href="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/googledevai/images/favicon-new.png"> <link rel="apple-touch-icon" href="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/googledevai/images/touchicon-180-new.png"><link rel="canonical" href="https://ai.google.dev/edge/litert/build/android"><link rel="search" type="application/opensearchdescription+xml" title="Google AI for Developers" href="https://ai.google.dev/s/opensearch.xml"> <link rel="alternate" hreflang="en" href="https://ai.google.dev/edge/litert/build/android" /><link rel="alternate" hreflang="x-default" href="https://ai.google.dev/edge/litert/build/android" /><link rel="alternate" hreflang="ar" href="https://ai.google.dev/edge/litert/build/android?hl=ar" /><link rel="alternate" hreflang="bn" href="https://ai.google.dev/edge/litert/build/android?hl=bn" /><link rel="alternate" hreflang="zh-Hans" href="https://ai.google.dev/edge/litert/build/android?hl=zh-cn" /><link rel="alternate" hreflang="zh-Hant" href="https://ai.google.dev/edge/litert/build/android?hl=zh-tw" /><link rel="alternate" hreflang="fa" href="https://ai.google.dev/edge/litert/build/android?hl=fa" /><link rel="alternate" hreflang="fr" href="https://ai.google.dev/edge/litert/build/android?hl=fr" /><link rel="alternate" hreflang="de" href="https://ai.google.dev/edge/litert/build/android?hl=de" /><link rel="alternate" hreflang="he" href="https://ai.google.dev/edge/litert/build/android?hl=he" /><link rel="alternate" hreflang="hi" href="https://ai.google.dev/edge/litert/build/android?hl=hi" /><link rel="alternate" hreflang="id" href="https://ai.google.dev/edge/litert/build/android?hl=id" /><link rel="alternate" hreflang="it" href="https://ai.google.dev/edge/litert/build/android?hl=it" /><link rel="alternate" hreflang="ja" href="https://ai.google.dev/edge/litert/build/android?hl=ja" /><link rel="alternate" hreflang="ko" href="https://ai.google.dev/edge/litert/build/android?hl=ko" /><link rel="alternate" hreflang="pl" href="https://ai.google.dev/edge/litert/build/android?hl=pl" /><link rel="alternate" hreflang="pt-BR" href="https://ai.google.dev/edge/litert/build/android?hl=pt-br" /><link rel="alternate" hreflang="ru" href="https://ai.google.dev/edge/litert/build/android?hl=ru" /><link rel="alternate" hreflang="es-419" href="https://ai.google.dev/edge/litert/build/android?hl=es-419" /><link rel="alternate" hreflang="th" href="https://ai.google.dev/edge/litert/build/android?hl=th" /><link rel="alternate" hreflang="tr" href="https://ai.google.dev/edge/litert/build/android?hl=tr" /><link rel="alternate" hreflang="vi" href="https://ai.google.dev/edge/litert/build/android?hl=vi" /><title>Build LiteRT for Android &nbsp;|&nbsp; Google AI Edge &nbsp;|&nbsp; Google AI for Developers</title> <meta property="og:title" content="Build LiteRT for Android &nbsp;|&nbsp; Google AI Edge &nbsp;|&nbsp; Google AI for Developers"><meta property="og:url" content="https://ai.google.dev/edge/litert/build/android"><meta property="og:image" content="https://ai.google.dev/static/site-assets/images/share.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": "Build LiteRT for Android" } </script><script type="application/ld+json"> { "@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [{ "@type": "ListItem", "position": 1, "name": "Google AI Edge", "item": "https://ai.google.dev/edge" },{ "@type": "ListItem", "position": 2, "name": "Build LiteRT for Android", "item": "https://ai.google.dev/edge/litert/build/android" }] } </script> <link rel="stylesheet" href="/extras.css"></head> <body class="" template="page" theme="googledevai-theme" type="article" layout="docs" 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" keep-tabs-visible> <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"> <a href="/" class="devsite-site-logo-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Site logo" track-type="globalNav" track-name="googleAIEdge" track-metadata-position="nav" track-metadata-eventDetail="nav"> <picture> <img src="https://ai.google.dev/_static/googledevai/images/lockup-new.svg" class="devsite-site-logo" alt="Google AI Edge"> </picture> </a> <span class="devsite-product-name"> <ul class="devsite-breadcrumb-list" > <li class="devsite-breadcrumb-item devsite-has-google-wordmark"> </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://ai.google.dev/gemini-api" track-metadata-eventdetail="https://ai.google.dev/gemini-api" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - gemini api" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Gemini API" track-name="gemini api" > Gemini API </a> </tab> <tab > <a href="https://ai.google.dev/gemma" track-metadata-eventdetail="https://ai.google.dev/gemma" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - gemma" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Gemma" track-name="gemma" > Gemma </a> </tab> <tab class="devsite-active"> <a href="https://ai.google.dev/edge" track-metadata-eventdetail="https://ai.google.dev/edge" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - google ai edge" track-metadata-module="primary nav" aria-label="Google AI Edge, selected" data-category="Site-Wide Custom Events" data-label="Tab: Google AI Edge" track-name="google ai edge" > Google AI Edge </a> </tab> <tab class="devsite-dropdown "> <span class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - tools" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Tools" track-name="tools" > Tools </span> <a href="#" role="button" aria-haspopup="true" aria-expanded="false" aria-label="Dropdown menu for Tools" track-type="nav" track-metadata-eventdetail="" track-metadata-position="nav - tools" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Tools" track-name="tools" 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://ai.google.dev/responsible" track-type="nav" track-metadata-eventdetail="https://ai.google.dev/responsible" track-metadata-position="nav - tools" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Responsible GenAI Toolkit </div> </a> </li> <li class="devsite-nav-item"> <a href="https://colab.google/" track-type="nav" track-metadata-eventdetail="https://colab.google/" track-metadata-position="nav - tools" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Colab </div> </a> </li> <li class="devsite-nav-item"> <a href="https://firebase.google.com/docs/genkit" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/docs/genkit" track-metadata-position="nav - tools" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Firebase Genkit </div> </a> </li> <li class="devsite-nav-item"> <a href="https://jax.readthedocs.io/" track-type="nav" track-metadata-eventdetail="https://jax.readthedocs.io/" track-metadata-position="nav - tools" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> JAX </div> </a> </li> <li class="devsite-nav-item"> <a href="https://keras.io/" track-type="nav" track-metadata-eventdetail="https://keras.io/" track-metadata-position="nav - tools" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Keras </div> </a> </li> <li class="devsite-nav-item"> <a href="https://www.tensorflow.org/" track-type="nav" track-metadata-eventdetail="https://www.tensorflow.org/" track-metadata-position="nav - tools" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> TensorFlow </div> </a> </li> </ul> </div> </div> </div> </tab> <tab > <a href="https://discuss.ai.google.dev/" track-metadata-eventdetail="https://discuss.ai.google.dev/" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - community" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Community" track-name="community" > Community </a> </tab> </nav> </devsite-tabs> </div> <devsite-search enable-signin enable-search enable-suggestions enable-query-completion project-name="Google AI Edge" tenant-name="Google AI for Developers" > <form class="devsite-search-form" action="https://ai.google.dev/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_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 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-doc-set-nav-row"> <devsite-tabs class="lower-tabs"> <nav class="devsite-tabs-wrapper" aria-label="Lower tabs"> <tab > <a href="https://ai.google.dev/edge" track-metadata-eventdetail="https://ai.google.dev/edge" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - overview" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Overview" track-name="overview" > Overview </a> </tab> <tab class="devsite-dropdown "> <span class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - mediapipe" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: MediaPipe" track-name="mediapipe" > MediaPipe </span> <a href="#" role="button" aria-haspopup="true" aria-expanded="false" aria-label="Dropdown menu for MediaPipe" track-type="nav" track-metadata-eventdetail="" track-metadata-position="nav - mediapipe" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: MediaPipe" track-name="mediapipe" 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://ai.google.dev/edge/mediapipe/solutions/guide" track-type="nav" track-metadata-eventdetail="https://ai.google.dev/edge/mediapipe/solutions/guide" track-metadata-position="nav - mediapipe" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> MediaPipe Solutions </div> </a> </li> <li class="devsite-nav-item"> <a href="https://ai.google.dev/edge/mediapipe/framework" track-type="nav" track-metadata-eventdetail="https://ai.google.dev/edge/mediapipe/framework" track-metadata-position="nav - mediapipe" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> MediaPipe Framework </div> </a> </li> </ul> </div> </div> </div> </tab> <tab class="devsite-active"> <a href="https://ai.google.dev/edge/litert" track-metadata-eventdetail="https://ai.google.dev/edge/litert" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - litert" track-metadata-module="primary nav" aria-label="LiteRT, selected" data-category="Site-Wide Custom Events" data-label="Tab: LiteRT" track-name="litert" > LiteRT </a> </tab> <tab > <a href="https://ai.google.dev/edge/mediapipe/solutions/guide" track-metadata-eventdetail="https://ai.google.dev/edge/mediapipe/solutions/guide" class="devsite-tabs-content gc-analytics-event gemini-hidden-tab" track-type="nav" track-metadata-position="nav - solutions" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Solutions" track-name="solutions" > Solutions </a> </tab> <tab > <a href="https://ai.google.dev/edge/mediapipe/framework" track-metadata-eventdetail="https://ai.google.dev/edge/mediapipe/framework" class="devsite-tabs-content gc-analytics-event gemini-hidden-tab" track-type="nav" track-metadata-position="nav - framework" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Framework" track-name="framework" > Framework </a> </tab> <tab > <a href="https://ai.google.dev/edge/model-explorer" track-metadata-eventdetail="https://ai.google.dev/edge/model-explorer" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - model explorer" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Model Explorer" track-name="model explorer" > Model Explorer </a> </tab> <tab > <a href="https://ai.google.dev/edge/api" track-metadata-eventdetail="https://ai.google.dev/edge/api" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - api reference" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: API Reference" track-name="api reference" > API Reference </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"> <a href="/" class="devsite-site-logo-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Site logo" track-type="globalNav" track-name="googleAIEdge" track-metadata-position="nav" track-metadata-eventDetail="nav"> <picture> <img src="https://ai.google.dev/_static/googledevai/images/lockup-new.svg" class="devsite-site-logo" alt="Google AI Edge"> </picture> </a> <span class="devsite-product-name"> <ul class="devsite-breadcrumb-list" > <li class="devsite-breadcrumb-item devsite-has-google-wordmark"> </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="/gemini-api" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Gemini API" track-name="gemini api" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Gemini API" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Gemini API </span> </a> </li> <li class="devsite-nav-item"> <a href="/gemma" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Gemma" track-name="gemma" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Gemma" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Gemma </span> </a> </li> <li class="devsite-nav-item"> <a href="/edge" class="devsite-nav-title gc-analytics-event devsite-nav-active" data-category="Site-Wide Custom Events" data-label="Tab: Google AI Edge" track-name="google ai edge" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Google AI Edge" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Google AI Edge </span> </a> <ul class="devsite-nav-responsive-tabs"> <li class="devsite-nav-item"> <a href="/edge" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Overview" track-name="overview" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Overview" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Overview </span> </a> </li> <li class="devsite-nav-item"> <span class="devsite-nav-title" tooltip data-category="Site-Wide Custom Events" data-label="Tab: MediaPipe" track-name="mediapipe" > <span class="devsite-nav-text" tooltip > MediaPipe </span> </span> <ul class="devsite-nav-responsive-tabs devsite-nav-has-menu devsite-lower-tab-item"> <li class="devsite-nav-item"> <span class="devsite-nav-title" tooltip data-category="Site-Wide Custom Events" data-label="Tab: MediaPipe" track-name="mediapipe" > <span class="devsite-nav-text" tooltip menu="MediaPipe"> More </span> <span class="devsite-nav-icon material-icons" data-icon="forward" menu="MediaPipe"> </span> </span> </li> </ul> </li> <li class="devsite-nav-item"> <a href="/edge/litert" class="devsite-nav-title gc-analytics-event devsite-nav-has-children devsite-nav-active" data-category="Site-Wide Custom Events" data-label="Tab: LiteRT" track-name="litert" data-category="Site-Wide Custom Events" data-label="Responsive Tab: LiteRT" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip menu="_book"> LiteRT </span> <span class="devsite-nav-icon material-icons" data-icon="forward" menu="_book"> </span> </a> </li> <li class="devsite-nav-item"> <a href="/edge/mediapipe/solutions/guide" class="devsite-nav-title gc-analytics-event devsite-nav-has-children " data-category="Site-Wide Custom Events" data-label="Tab: Solutions" track-name="solutions" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Solutions" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Solutions </span> <span class="devsite-nav-icon material-icons" data-icon="forward" > </span> </a> </li> <li class="devsite-nav-item"> <a href="/edge/mediapipe/framework" class="devsite-nav-title gc-analytics-event devsite-nav-has-children " data-category="Site-Wide Custom Events" data-label="Tab: Framework" track-name="framework" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Framework" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Framework </span> <span class="devsite-nav-icon material-icons" data-icon="forward" > </span> </a> </li> <li class="devsite-nav-item"> <a href="/edge/model-explorer" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Model Explorer" track-name="model explorer" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Model Explorer" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Model Explorer </span> </a> </li> <li class="devsite-nav-item"> <a href="/edge/api" class="devsite-nav-title gc-analytics-event devsite-nav-has-children " data-category="Site-Wide Custom Events" data-label="Tab: API Reference" track-name="api reference" data-category="Site-Wide Custom Events" data-label="Responsive Tab: API Reference" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > API Reference </span> <span class="devsite-nav-icon material-icons" data-icon="forward" > </span> </a> </li> </ul> </li> <li class="devsite-nav-item"> <span class="devsite-nav-title" tooltip data-category="Site-Wide Custom Events" data-label="Tab: Tools" track-name="tools" > <span class="devsite-nav-text" tooltip > Tools </span> </span> <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: Tools" track-name="tools" > <span class="devsite-nav-text" tooltip menu="Tools"> More </span> <span class="devsite-nav-icon material-icons" data-icon="forward" menu="Tools"> </span> </span> </li> </ul> </li> <li class="devsite-nav-item"> <a href="https://discuss.ai.google.dev/" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Community" track-name="community" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Community" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Community </span> </a> </li> </ul> </div> <div class="devsite-mobile-nav-bottom"> <ul class="devsite-nav-list" menu="_book"> <li class="devsite-nav-item"><a href="/edge/litert" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert" ><span class="devsite-nav-text" tooltip>Overview</span></a></li> <li class="devsite-nav-item"><a href="/edge/litert/inference" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/inference" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/inference" ><span class="devsite-nav-text" tooltip>Get started</span></a></li> <li class="devsite-nav-item"><a href="/edge/litert/migration" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/migration" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/migration" ><span class="devsite-nav-text" tooltip>Migrating from TensorFlow Lite</span></a></li> <li class="devsite-nav-item devsite-nav-heading"><div class="devsite-nav-title devsite-nav-title-no-path"> <span class="devsite-nav-text" tooltip>Models</span> </div></li> <li class="devsite-nav-item"><a href="/edge/litert/models/convert_to_flatbuffer" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/models/convert_to_flatbuffer" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/models/convert_to_flatbuffer" ><span class="devsite-nav-text" tooltip>Support multiple frameworks</span></a></li> <li class="devsite-nav-item"><a href="/edge/litert/models/trained" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/models/trained" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/models/trained" ><span class="devsite-nav-text" tooltip>Use trained models</span></a></li> <li class="devsite-nav-item devsite-nav-heading"><div class="devsite-nav-title devsite-nav-title-no-path"> <span class="devsite-nav-text" tooltip>Convert TensorFlow models</span> </div></li> <li class="devsite-nav-item"><a href="/edge/litert/models/convert" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/models/convert" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/models/convert" ><span class="devsite-nav-text" tooltip>Overview</span></a></li> <li class="devsite-nav-item"><a href="/edge/litert/models/convert_tf" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/models/convert_tf" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/models/convert_tf" ><span class="devsite-nav-text" tooltip>Convert TensorFlow models</span></a></li> <li class="devsite-nav-item devsite-nav-experimental"><a href="/edge/litert/models/signatures" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/models/signatures" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/models/signatures" ><span class="devsite-nav-text" tooltip>Add Signatures</span><span class="devsite-nav-icon material-icons" data-icon="experimental" data-title="Experimental!" aria-hidden="true"></span></a></li> <li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Conversion tools</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item devsite-nav-experimental"><a href="/edge/litert/models/model_analyzer" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/models/model_analyzer" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/models/model_analyzer" ><span class="devsite-nav-text" tooltip>Model Analyzer</span><span class="devsite-nav-icon material-icons" data-icon="experimental" data-title="Experimental!" aria-hidden="true"></span></a></li><li class="devsite-nav-item devsite-nav-experimental"><a href="/edge/litert/models/authoring" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/models/authoring" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/models/authoring" ><span class="devsite-nav-text" tooltip>Authoring tool</span><span class="devsite-nav-icon material-icons" data-icon="experimental" data-title="Experimental!" aria-hidden="true"></span></a></li></ul></div></li> <li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Model compatibility</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/edge/litert/models/ops_compatibility" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/models/ops_compatibility" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/models/ops_compatibility" ><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/edge/litert/models/ops_select" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/models/ops_select" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/models/ops_select" ><span class="devsite-nav-text" tooltip>Select operators</span></a></li><li class="devsite-nav-item"><a href="/edge/litert/models/op_select_allowlist" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/models/op_select_allowlist" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/models/op_select_allowlist" ><span class="devsite-nav-text" tooltip>Select operators Allowlist</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Advanced</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/edge/litert/models/ops_custom" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/models/ops_custom" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/models/ops_custom" ><span class="devsite-nav-text" tooltip>Custom operators</span></a></li><li class="devsite-nav-item"><a href="/edge/litert/models/operation_fusion" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/models/operation_fusion" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/models/operation_fusion" ><span class="devsite-nav-text" tooltip>Fused operators</span></a></li><li class="devsite-nav-item devsite-nav-experimental"><a href="/edge/litert/models/ops_version" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/models/ops_version" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/models/ops_version" ><span class="devsite-nav-text" tooltip>Operator versions</span><span class="devsite-nav-icon material-icons" data-icon="experimental" data-title="Experimental!" aria-hidden="true"></span></a></li><li class="devsite-nav-item"><a href="/edge/litert/models/rnn" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/models/rnn" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/models/rnn" ><span class="devsite-nav-text" tooltip>RNN models</span></a></li></ul></div></li></ul></div></li> <li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Optimize models</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/edge/litert/models/model_optimization" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/models/model_optimization" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/models/model_optimization" ><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/edge/litert/models/post_training_quantization" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/models/post_training_quantization" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/models/post_training_quantization" ><span class="devsite-nav-text" tooltip>Post-training quantization</span></a></li><li class="devsite-nav-item"><a href="/edge/litert/models/post_training_quant" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/models/post_training_quant" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/models/post_training_quant" ><span class="devsite-nav-text" tooltip>Post-training dynamic range quantization</span></a></li><li class="devsite-nav-item"><a href="/edge/litert/models/post_training_integer_quant" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/models/post_training_integer_quant" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/models/post_training_integer_quant" ><span class="devsite-nav-text" tooltip>Post-training integer quantization</span></a></li><li class="devsite-nav-item"><a href="/edge/litert/models/post_training_float16_quant" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/models/post_training_float16_quant" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/models/post_training_float16_quant" ><span class="devsite-nav-text" tooltip>Post-training float16 quantization</span></a></li><li class="devsite-nav-item devsite-nav-experimental"><a href="/edge/litert/models/post_training_integer_quant_16x8" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/models/post_training_integer_quant_16x8" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/models/post_training_integer_quant_16x8" ><span class="devsite-nav-text" tooltip>Post-training integer quantization with int16 activations</span><span class="devsite-nav-icon material-icons" data-icon="experimental" data-title="Experimental!" aria-hidden="true"></span></a></li><li class="devsite-nav-item"><a href="/edge/litert/models/quantization_spec" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/models/quantization_spec" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/models/quantization_spec" ><span class="devsite-nav-text" tooltip>Quantization specification</span></a></li><li class="devsite-nav-item devsite-nav-nightly"><a href="/edge/litert/models/quantization_debugger" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/models/quantization_debugger" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/models/quantization_debugger" ><span class="devsite-nav-text" tooltip>Inspecting quantization errors</span><span class="devsite-nav-icon material-icons" data-icon="nightly" data-title="Nightly build only" aria-hidden="true"></span></a></li></ul></div></li> <li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Add model metadata</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/edge/litert/models/metadata" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/models/metadata" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/models/metadata" ><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/edge/litert/models/metadata_writer_tutorial" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/models/metadata_writer_tutorial" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/models/metadata_writer_tutorial" ><span class="devsite-nav-text" tooltip>Metadata Writer API</span></a></li></ul></div></li> <li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Design and build models</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/edge/litert/models/build" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/models/build" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/models/build" ><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/edge/litert/models/best_practices" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/models/best_practices" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/models/best_practices" ><span class="devsite-nav-text" tooltip>Performance best practices</span></a></li><li class="devsite-nav-item"><a href="/edge/litert/models/measurement" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/models/measurement" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/models/measurement" ><span class="devsite-nav-text" tooltip>Performance measurement</span></a></li><li class="devsite-nav-item"><a href="/edge/litert/models/ondevice_training" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/models/ondevice_training" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/models/ondevice_training" ><span class="devsite-nav-text" tooltip>On-device training</span></a></li></ul></div></li> <li class="devsite-nav-item devsite-nav-heading"><div class="devsite-nav-title devsite-nav-title-no-path"> <span class="devsite-nav-text" tooltip>Convert PyTorch models</span> </div></li> <li class="devsite-nav-item"><a href="/edge/litert/models/convert_pytorch" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/models/convert_pytorch" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/models/convert_pytorch" ><span class="devsite-nav-text" tooltip>Overview</span></a></li> <li class="devsite-nav-item"><a href="/edge/litert/models/pytorch_to_tflite" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/models/pytorch_to_tflite" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/models/pytorch_to_tflite" ><span class="devsite-nav-text" tooltip>PyTorch to LiteRT quickstart</span></a></li> <li class="devsite-nav-item"><a href="/edge/litert/models/edge_generative" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/models/edge_generative" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/models/edge_generative" ><span class="devsite-nav-text" tooltip>Convert generative PyTorch models</span></a></li> <li class="devsite-nav-item devsite-nav-heading"><div class="devsite-nav-title devsite-nav-title-no-path"> <span class="devsite-nav-text" tooltip>Convert JAX models</span> </div></li> <li class="devsite-nav-item devsite-nav-nightly"><a href="/edge/litert/models/convert_jax" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/models/convert_jax" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/models/convert_jax" ><span class="devsite-nav-text" tooltip>Overview</span><span class="devsite-nav-icon material-icons" data-icon="nightly" data-title="Nightly build only" aria-hidden="true"></span></a></li> <li class="devsite-nav-item devsite-nav-nightly"><a href="/edge/litert/models/jax_to_tflite" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/models/jax_to_tflite" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/models/jax_to_tflite" ><span class="devsite-nav-text" tooltip>JAX to LiteRT quickstart</span><span class="devsite-nav-icon material-icons" data-icon="nightly" data-title="Nightly build only" aria-hidden="true"></span></a></li> <li class="devsite-nav-item devsite-nav-heading"><div class="devsite-nav-title devsite-nav-title-no-path"> <span class="devsite-nav-text" tooltip>Hardware acceleration</span> </div></li> <li class="devsite-nav-item"><a href="/edge/litert/performance/delegates" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/performance/delegates" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/performance/delegates" ><span class="devsite-nav-text" tooltip>Delegates</span></a></li> <li class="devsite-nav-item"><a href="/edge/litert/performance/gpu" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/performance/gpu" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/performance/gpu" ><span class="devsite-nav-text" tooltip>GPU delegates</span></a></li> <li class="devsite-nav-item devsite-nav-experimental"><a href="/edge/litert/performance/implementing_delegate" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/performance/implementing_delegate" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/performance/implementing_delegate" ><span class="devsite-nav-text" tooltip>Implementing a delegate</span><span class="devsite-nav-icon material-icons" data-icon="experimental" data-title="Experimental!" aria-hidden="true"></span></a></li> <li class="devsite-nav-item devsite-nav-heading"><div class="devsite-nav-title devsite-nav-title-no-path"> <span class="devsite-nav-text" tooltip>Run on Android</span> </div></li> <li class="devsite-nav-item"><a href="/edge/litert/android" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/android" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/android" ><span class="devsite-nav-text" tooltip>Overview</span></a></li> <li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Google Play services runtime</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/edge/litert/android/play_services" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/android/play_services" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/android/play_services" ><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/edge/litert/android/java" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/android/java" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/android/java" ><span class="devsite-nav-text" tooltip>Java API</span></a></li><li class="devsite-nav-item devsite-nav-experimental"><a href="/edge/litert/android/native" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/android/native" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/android/native" ><span class="devsite-nav-text" tooltip>C API</span><span class="devsite-nav-icon material-icons" data-icon="experimental" data-title="Experimental!" aria-hidden="true"></span></a></li></ul></div></li> <li class="devsite-nav-item"><a href="/edge/litert/android/development" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/android/development" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/android/development" ><span class="devsite-nav-text" tooltip>Development tools</span></a></li> <li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Hardware acceleration</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item devsite-nav-experimental"><a href="/edge/litert/android/acceleration_service" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/android/acceleration_service" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/android/acceleration_service" ><span class="devsite-nav-text" tooltip>Acceleration service</span><span class="devsite-nav-icon material-icons" data-icon="experimental" data-title="Experimental!" aria-hidden="true"></span></a></li><li class="devsite-nav-item"><a href="/edge/litert/android/gpu" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/android/gpu" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/android/gpu" ><span class="devsite-nav-text" tooltip>GPU with Interpreter API</span></a></li><li class="devsite-nav-item"><a href="/edge/litert/android/gpu_native" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/android/gpu_native" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/android/gpu_native" ><span class="devsite-nav-text" tooltip>GPU with C/C++ API</span></a></li><li class="devsite-nav-item"><a href="/edge/litert/android/npu" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/android/npu" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/android/npu" ><span class="devsite-nav-text" tooltip>NPU delegates</span></a></li></ul></div></li> <li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Models with metadata</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/edge/litert/android/metadata/overview" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/android/metadata/overview" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/android/metadata/overview" ><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/edge/litert/android/metadata/codegen" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/android/metadata/codegen" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/android/metadata/codegen" ><span class="devsite-nav-text" tooltip>Generate model interfaces</span></a></li><li class="devsite-nav-item"><a href="/edge/litert/android/metadata/lite_support" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/android/metadata/lite_support" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/android/metadata/lite_support" ><span class="devsite-nav-text" tooltip>Customize data input and output</span></a></li></ul></div></li> <li class="devsite-nav-item devsite-nav-heading"><div class="devsite-nav-title devsite-nav-title-no-path"> <span class="devsite-nav-text" tooltip>Run on iOS</span> </div></li> <li class="devsite-nav-item"><a href="/edge/litert/ios/quickstart" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/ios/quickstart" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/ios/quickstart" ><span class="devsite-nav-text" tooltip>Overview</span></a></li> <li class="devsite-nav-item"><a href="/edge/litert/ios/coreml" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/ios/coreml" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/ios/coreml" ><span class="devsite-nav-text" tooltip>Core ML delegate</span></a></li> <li class="devsite-nav-item"><a href="/edge/litert/ios/gpu" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/ios/gpu" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/ios/gpu" ><span class="devsite-nav-text" tooltip>GPU delegate</span></a></li> <li class="devsite-nav-item devsite-nav-heading"><div class="devsite-nav-title devsite-nav-title-no-path"> <span class="devsite-nav-text" tooltip>Run on Micro</span> </div></li> <li class="devsite-nav-item"><a href="/edge/litert/microcontrollers/overview" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/microcontrollers/overview" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/microcontrollers/overview" ><span class="devsite-nav-text" tooltip>Overview</span></a></li> <li class="devsite-nav-item"><a href="/edge/litert/microcontrollers/get_started" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/microcontrollers/get_started" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/microcontrollers/get_started" ><span class="devsite-nav-text" tooltip>Get started</span></a></li> <li class="devsite-nav-item"><a href="/edge/litert/microcontrollers/python" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/microcontrollers/python" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/microcontrollers/python" ><span class="devsite-nav-text" tooltip>Linux-based devices with Python</span></a></li> <li class="devsite-nav-item"><a href="/edge/litert/microcontrollers/library" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/microcontrollers/library" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/microcontrollers/library" ><span class="devsite-nav-text" tooltip>Understand the C++ library</span></a></li> <li class="devsite-nav-item"><a href="/edge/litert/microcontrollers/build_convert" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/microcontrollers/build_convert" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/microcontrollers/build_convert" ><span class="devsite-nav-text" tooltip>Build and convert models</span></a></li> <li class="devsite-nav-item devsite-nav-heading"><div class="devsite-nav-title devsite-nav-title-no-path"> <span class="devsite-nav-text" tooltip>Libraries and tools</span> </div></li> <li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Task Library</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/edge/litert/libraries/task_library/overview" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/libraries/task_library/overview" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/libraries/task_library/overview" ><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/edge/litert/libraries/task_library/image_classifier" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/libraries/task_library/image_classifier" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/libraries/task_library/image_classifier" ><span class="devsite-nav-text" tooltip>ImageClassifier</span></a></li><li class="devsite-nav-item"><a href="/edge/litert/libraries/task_library/object_detector" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/libraries/task_library/object_detector" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/libraries/task_library/object_detector" ><span class="devsite-nav-text" tooltip>ObjectDetector</span></a></li><li class="devsite-nav-item"><a href="/edge/litert/libraries/task_library/image_segmenter" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/libraries/task_library/image_segmenter" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/libraries/task_library/image_segmenter" ><span class="devsite-nav-text" tooltip>ImageSegmenter</span></a></li><li class="devsite-nav-item"><a href="/edge/litert/libraries/task_library/image_embedder" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/libraries/task_library/image_embedder" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/libraries/task_library/image_embedder" ><span class="devsite-nav-text" tooltip>ImageEmbedder</span></a></li><li class="devsite-nav-item"><a href="/edge/litert/libraries/task_library/image_searcher" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/libraries/task_library/image_searcher" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/libraries/task_library/image_searcher" ><span class="devsite-nav-text" tooltip>ImageSearcher</span></a></li><li class="devsite-nav-item"><a href="/edge/litert/libraries/task_library/nl_classifier" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/libraries/task_library/nl_classifier" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/libraries/task_library/nl_classifier" ><span class="devsite-nav-text" tooltip>NLClassifier</span></a></li><li class="devsite-nav-item"><a href="/edge/litert/libraries/task_library/bert_nl_classifier" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/libraries/task_library/bert_nl_classifier" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/libraries/task_library/bert_nl_classifier" ><span class="devsite-nav-text" tooltip>BertNLClassifier</span></a></li><li class="devsite-nav-item"><a href="/edge/litert/libraries/task_library/bert_question_answerer" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/libraries/task_library/bert_question_answerer" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/libraries/task_library/bert_question_answerer" ><span class="devsite-nav-text" tooltip>BertQuestionAnswerer</span></a></li><li class="devsite-nav-item"><a href="/edge/litert/libraries/task_library/text_embedder" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/libraries/task_library/text_embedder" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/libraries/task_library/text_embedder" ><span class="devsite-nav-text" tooltip>TextEmbedder</span></a></li><li class="devsite-nav-item"><a href="/edge/litert/libraries/task_library/text_searcher" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/libraries/task_library/text_searcher" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/libraries/task_library/text_searcher" ><span class="devsite-nav-text" tooltip>TextSearcher</span></a></li><li class="devsite-nav-item"><a href="/edge/litert/libraries/task_library/audio_classifier" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/libraries/task_library/audio_classifier" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/libraries/task_library/audio_classifier" ><span class="devsite-nav-text" tooltip>AudioClassifier</span></a></li><li class="devsite-nav-item"><a href="/edge/litert/libraries/task_library/customized_task_api" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/libraries/task_library/customized_task_api" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/libraries/task_library/customized_task_api" ><span class="devsite-nav-text" tooltip>Customized API</span></a></li></ul></div></li> <li class="devsite-nav-item devsite-nav-expandable devsite-nav-experimental"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Model Maker</span><span class="devsite-nav-icon material-icons" data-icon="experimental" data-title="Experimental!" aria-hidden="true"></span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/edge/litert/libraries/modify" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/libraries/modify" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/libraries/modify" ><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item devsite-nav-heading"><div class="devsite-nav-title devsite-nav-title-no-path"> <span class="devsite-nav-text" tooltip>Images &amp; video</span> </div></li><li class="devsite-nav-item"><a href="/edge/litert/libraries/modify/image_classification" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/libraries/modify/image_classification" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/libraries/modify/image_classification" ><span class="devsite-nav-text" tooltip>Image classification</span></a></li><li class="devsite-nav-item"><a href="/edge/litert/libraries/modify/object_detection" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/libraries/modify/object_detection" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/libraries/modify/object_detection" ><span class="devsite-nav-text" tooltip>Object detection</span></a></li><li class="devsite-nav-item devsite-nav-heading"><div class="devsite-nav-title devsite-nav-title-no-path"> <span class="devsite-nav-text" tooltip>Text</span> </div></li><li class="devsite-nav-item"><a href="/edge/litert/libraries/modify/text_classification" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/libraries/modify/text_classification" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/libraries/modify/text_classification" ><span class="devsite-nav-text" tooltip>Text classification</span></a></li><li class="devsite-nav-item"><a href="/edge/litert/libraries/modify/question_answer" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/libraries/modify/question_answer" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/libraries/modify/question_answer" ><span class="devsite-nav-text" tooltip>BERT question &amp; answer</span></a></li><li class="devsite-nav-item"><a href="/edge/litert/libraries/modify/text_searcher" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/libraries/modify/text_searcher" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/libraries/modify/text_searcher" ><span class="devsite-nav-text" tooltip>Text search</span></a></li><li class="devsite-nav-item devsite-nav-heading"><div class="devsite-nav-title devsite-nav-title-no-path"> <span class="devsite-nav-text" tooltip>Audio</span> </div></li><li class="devsite-nav-item"><a href="/edge/litert/libraries/modify/audio_classification" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/libraries/modify/audio_classification" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/libraries/modify/audio_classification" ><span class="devsite-nav-text" tooltip>Audio classification</span></a></li><li class="devsite-nav-item"><a href="/edge/litert/libraries/modify/speech_recognition" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/libraries/modify/speech_recognition" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/libraries/modify/speech_recognition" ><span class="devsite-nav-text" tooltip>Speech recognition</span></a></li></ul></div></li> <li class="devsite-nav-item devsite-nav-heading"><div class="devsite-nav-title devsite-nav-title-no-path"> <span class="devsite-nav-text" tooltip>Advanced</span> </div></li> <li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Build LiteRT</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/edge/litert/build/android" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/build/android" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/build/android" ><span class="devsite-nav-text" tooltip>Build for Android</span></a></li><li class="devsite-nav-item"><a href="/edge/litert/build/ios" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/build/ios" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/build/ios" ><span class="devsite-nav-text" tooltip>Build for iOS</span></a></li><li class="devsite-nav-item"><a href="/edge/litert/build/arm" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/build/arm" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/build/arm" ><span class="devsite-nav-text" tooltip>Build for ARM</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Build with CMake</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/edge/litert/build/cmake" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/build/cmake" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/build/cmake" ><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/edge/litert/build/cmake_arm" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/build/cmake_arm" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/build/cmake_arm" ><span class="devsite-nav-text" tooltip>Cross compilation for ARM</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="/edge/litert/build/cmake_pip" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/build/cmake_pip" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/build/cmake_pip" ><span class="devsite-nav-text" tooltip>Build Python Wheel</span></a></li><li class="devsite-nav-item devsite-nav-experimental"><a href="/edge/litert/build/reduce_binary_size" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /edge/litert/build/reduce_binary_size" track-type="bookNav" track-name="click" track-metadata-eventdetail="/edge/litert/build/reduce_binary_size" ><span class="devsite-nav-text" tooltip>Reduce binary size</span><span class="devsite-nav-icon material-icons" data-icon="experimental" data-title="Experimental!" aria-hidden="true"></span></a></li></ul></div></li> </ul> <ul class="devsite-nav-list" menu="Tools" aria-label="Side menu" hidden> <li class="devsite-nav-item"> <a href="/responsible" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Responsible GenAI Toolkit" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Responsible GenAI Toolkit </span> </a> </li> <li class="devsite-nav-item"> <a href="https://colab.google/" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Colab" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Colab </span> </a> </li> <li class="devsite-nav-item"> <a href="https://firebase.google.com/docs/genkit" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Firebase Genkit" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Firebase Genkit </span> </a> </li> <li class="devsite-nav-item"> <a href="https://jax.readthedocs.io/" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: JAX" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > JAX </span> </a> </li> <li class="devsite-nav-item"> <a href="https://keras.io/" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Keras" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Keras </span> </a> </li> <li class="devsite-nav-item"> <a href="https://www.tensorflow.org/" 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> <ul class="devsite-nav-list" menu="MediaPipe" aria-label="Side menu" hidden> <li class="devsite-nav-item"> <a href="/edge/mediapipe/solutions/guide" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: MediaPipe Solutions" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > MediaPipe Solutions </span> </a> </li> <li class="devsite-nav-item"> <a href="/edge/mediapipe/framework" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: MediaPipe Framework" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > MediaPipe Framework </span> </a> </li> </ul> </div> </div> </nav> </devsite-book-nav> <section id="gc-wrapper"> <main role="main" class="devsite-main-content" has-book-nav has-sidebar > <div class="devsite-sidebar"> <div class="devsite-sidebar-content"> <devsite-toc class="devsite-nav" role="navigation" aria-label="On this page" depth="2" scrollbars ></devsite-toc> <devsite-recommendations-sidebar class="nocontent devsite-nav"> </devsite-recommendations-sidebar> </div> </div> <devsite-content> <article class="devsite-article"> <div class="devsite-banner devsite-banner-announcement nocontent" background="google-blue" > <div class="devsite-banner-message"> <div class="devsite-banner-message-text"> <b>Introducing LiteRT</b>: Google's high-performance runtime for on-device AI, formerly known as TensorFlow Lite. <a class="button button-primary" href="https://developers.googleblog.com/en/tensorflow-lite-is-now-litert">Learn more</a> </div> </div> </div> <div class="devsite-article-meta nocontent" role="navigation"> <ul class="devsite-breadcrumb-list" aria-label="Breadcrumb"> <li class="devsite-breadcrumb-item "> <a href="https://ai.google.dev/" 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://ai.google.dev/edge" 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="Google AI Edge" > Google AI Edge </a> </li> <li class="devsite-breadcrumb-item "> <div class="devsite-breadcrumb-guillemet material-icons" aria-hidden="true"></div> <a href="https://ai.google.dev/edge/litert" 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="" > LiteRT </a> </li> </ul> <devsite-thumb-rating position="header"> </devsite-thumb-rating> </div> <devsite-feedback position="header" project-name="Google AI Edge" product-id="5336252" bucket="documentation" context="" version="t-devsite-webserver-20241114-r00-rc02.464921008191574316" data-label="Send Feedback Button" track-type="feedback" track-name="sendFeedbackLink" track-metadata-position="header" class="nocontent" project-icon="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/googledevai/images/touchicon-180-new.png" > <button> Send feedback </button> </devsite-feedback> <h1 class="devsite-page-title" tabindex="-1"> Build LiteRT for Android </h1> <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><devsite-mathjax config="TeX-AMS-MML_SVG"></devsite-mathjax></p> <p>This document describes how to build LiteRT Android library on your own. Normally, you do not need to locally build LiteRT Android library.</p> <h2 id="use_nightly_snapshots" data-text="Use Nightly Snapshots" tabindex="-1">Use Nightly Snapshots</h2> <p>To use nightly snapshots, add the following repo to your root Gradle build config.</p> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="Carbon"><code translate="no" dir="ltr"><span class="devsite-syntax-nx">allprojects</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">repositories</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// should be already there</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">mavenCentral</span><span class="devsite-syntax-p">()</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// should be already there</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">maven</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// add this repo to use snapshots</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">name</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">'</span><span class="devsite-syntax-nx">ossrh</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-nx">snapshot</span><span class="devsite-syntax-err">'</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">url</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">'</span><span class="devsite-syntax-nx">https</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-c1">//oss.sonatype.org/content/repositories/snapshots'</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-p">}</span> </code></pre></devsite-code> <p>add nightly snapshots to dependencies (or edit as needed) to your build.gradle</p> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="Groovy"><code translate="no" dir="ltr"><span class="devsite-syntax-o">...</span> <span class="devsite-syntax-n">dependencies</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">...</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">implementation</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'org.tensorflow:tensorflow-lite:0.0.0-nightly-SNAPSHOT'</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">implementation</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'com.google.ai.edge.litert:litert-gpu:0.0.0-nightly-SNAPSHOT'</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">implementation</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'com.google.ai.edge.litert:litert-support:0.0.0-nightly-SNAPSHOT'</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">...</span> <span class="devsite-syntax-o">}</span> <span class="devsite-syntax-o">...</span> </code></pre></devsite-code> <h2 id="build_litert_locally" data-text="Build LiteRT locally" tabindex="-1">Build LiteRT locally</h2> <p>In some cases, you might wish to use a local build of LiteRT. For example, you may be building a custom binary that includes <a href="https://ai.google.dev/edge/litert/models/ops_select">operations selected from TensorFlow</a>, or you may wish to make local changes to LiteRT.</p> <h3 id="set_up_build_environment_using_docker" data-text="Set up build environment using Docker" tabindex="-1">Set up build environment using Docker</h3> <ul> <li>Download the Docker file. By downloading the Docker file, you agree that the following terms of service govern your use thereof:</li> </ul> <p><em>By clicking to accept, you hereby agree that all use of the Android Studio and Android Native Development Kit will be governed by the Android Software Development Kit License Agreement available at <a href="https://developer.android.com/studio/terms">https://developer.android.com/studio/terms</a> (such URL may be updated or changed by Google from time to time).</em></p> <!-- mdformat off(devsite fails if there are line-breaks in templates) --> You must acknowledge the terms of service to download the file. <button class="button-blue devsite-acknowledgement-link" data-globally-unique-wall-id="tflite-android-tos">Acknowledge</button> <!-- mdformat on --></p> <ul> <li>You can optionally change the Android SDK or NDK version. Put the downloaded Docker file in an empty folder and build your docker image by running:</li> </ul> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="Bash"><code translate="no" dir="ltr">docker<span class="devsite-syntax-w"> </span>build<span class="devsite-syntax-w"> </span>.<span class="devsite-syntax-w"> </span>-t<span class="devsite-syntax-w"> </span>tflite-builder<span class="devsite-syntax-w"> </span>-f<span class="devsite-syntax-w"> </span>tflite-android.Dockerfile </code></pre></devsite-code> <ul> <li>Start the docker container interactively by mounting your current folder to /host_dir inside the container (note that /tensorflow_src is the TensorFlow repository inside the container):</li> </ul> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="Bash"><code translate="no" dir="ltr">docker<span class="devsite-syntax-w"> </span>run<span class="devsite-syntax-w"> </span>-it<span class="devsite-syntax-w"> </span>-v<span class="devsite-syntax-w"> </span><span class="devsite-syntax-nv">$PWD</span>:/host_dir<span class="devsite-syntax-w"> </span>tflite-builder<span class="devsite-syntax-w"> </span>bash </code></pre></devsite-code> <p>If you use PowerShell on Windows, replace &quot;$PWD&quot; with &quot;pwd&quot;.</p> <p>If you would like to use a TensorFlow repository on the host, mount that host directory instead (-v hostDir:/host_dir).</p> <ul> <li>Once you are inside the container, you can run the following to download additional Android tools and libraries (note that you may need to accept the license):</li> </ul> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="Bash"><code translate="no" dir="ltr">sdkmanager<span class="devsite-syntax-w"> </span><span class="devsite-syntax-se">\</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"build-tools;</span><span class="devsite-syntax-si">${</span><span class="devsite-syntax-nv">ANDROID_BUILD_TOOLS_VERSION</span><span class="devsite-syntax-si">}</span><span class="devsite-syntax-s2">"</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-se">\</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"platform-tools"</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-se">\</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"platforms;android-</span><span class="devsite-syntax-si">${</span><span class="devsite-syntax-nv">ANDROID_API_LEVEL</span><span class="devsite-syntax-si">}</span><span class="devsite-syntax-s2">"</span> </code></pre></devsite-code> <p>Now you should proceed to the <a href="#configure_workspace_and_bazelrc">Configure WORKSPACE and .bazelrc</a> section to configure the build settings.</p> <p>After you finish building the libraries, you can copy them to /host_dir inside the container so that you can access them on the host.</p> <h3 id="set_up_build_environment_without_docker" data-text="Set up build environment without Docker" tabindex="-1">Set up build environment without Docker</h3> <h4 id="install_bazel_and_android_prerequisites" data-text="Install Bazel and Android Prerequisites" tabindex="-1">Install Bazel and Android Prerequisites</h4> <p>Bazel is the primary build system for TensorFlow. To build with it, you must have it and the Android NDK and SDK installed on your system.</p> <ol> <li>Install the latest version of the <a href="https://bazel.build/versions/master/docs/install.html">Bazel build system</a>.</li> <li>The Android NDK is required to build the native (C/C++) LiteRT code. The current recommended version is 25b, which may be found <a href="https://developer.android.com/ndk/downloads/older_releases.html#ndk-25b-downloads">here</a>.</li> <li>The Android SDK and build tools may be obtained <a href="https://developer.android.com/tools/revisions/build-tools.html">here</a>, or alternatively as part of <a href="https://developer.android.com/studio/index.html">Android Studio</a>. Build tools API &gt;= 23 is the recommended version for building LiteRT.</li> </ol> <h3 id="configure_workspace_and_bazelrc" data-text="Configure WORKSPACE and .bazelrc" tabindex="-1">Configure WORKSPACE and .bazelrc</h3> <p>This is a one-time configuration step that is required to build the LiteRT libraries. Run the <code translate="no" dir="ltr">./configure</code> script in the root TensorFlow checkout directory, and answer &quot;Yes&quot; when the script asks to interactively configure the <code translate="no" dir="ltr">./WORKSPACE</code> for Android builds. The script will attempt to configure settings using the following environment variables:</p> <ul> <li><code translate="no" dir="ltr">ANDROID_SDK_HOME</code></li> <li><code translate="no" dir="ltr">ANDROID_SDK_API_LEVEL</code></li> <li><code translate="no" dir="ltr">ANDROID_NDK_HOME</code></li> <li><code translate="no" dir="ltr">ANDROID_NDK_API_LEVEL</code></li> </ul> <p>If these variables aren&#39;t set, they must be provided interactively in the script prompt. Successful configuration should yield entries similar to the following in the <code translate="no" dir="ltr">.tf_configure.bazelrc</code> file in the root folder:</p> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="Bash"><code translate="no" dir="ltr">build<span class="devsite-syntax-w"> </span>--action_env<span class="devsite-syntax-w"> </span><span class="devsite-syntax-nv">ANDROID_NDK_HOME</span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-s2">"/usr/local/android/android-ndk-r25b"</span> build<span class="devsite-syntax-w"> </span>--action_env<span class="devsite-syntax-w"> </span><span class="devsite-syntax-nv">ANDROID_NDK_API_LEVEL</span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-s2">"21"</span> build<span class="devsite-syntax-w"> </span>--action_env<span class="devsite-syntax-w"> </span><span class="devsite-syntax-nv">ANDROID_BUILD_TOOLS_VERSION</span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-s2">"30.0.3"</span> build<span class="devsite-syntax-w"> </span>--action_env<span class="devsite-syntax-w"> </span><span class="devsite-syntax-nv">ANDROID_SDK_API_LEVEL</span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-s2">"30"</span> build<span class="devsite-syntax-w"> </span>--action_env<span class="devsite-syntax-w"> </span><span class="devsite-syntax-nv">ANDROID_SDK_HOME</span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-s2">"/usr/local/android/android-sdk-linux"</span> </code></pre></devsite-code> <h3 id="build_and_install" data-text="Build and install" tabindex="-1">Build and install</h3> <p>Once Bazel is properly configured, you can build the LiteRT AAR from the root checkout directory as follows:</p> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="Bash"><code translate="no" dir="ltr">bazel<span class="devsite-syntax-w"> </span>build<span class="devsite-syntax-w"> </span>-c<span class="devsite-syntax-w"> </span>opt<span class="devsite-syntax-w"> </span>--cxxopt<span class="devsite-syntax-o">=</span>--std<span class="devsite-syntax-o">=</span>c++17<span class="devsite-syntax-w"> </span>--config<span class="devsite-syntax-o">=</span>android_arm64<span class="devsite-syntax-w"> </span><span class="devsite-syntax-se">\</span> <span class="devsite-syntax-w"> </span>--fat_apk_cpu<span class="devsite-syntax-o">=</span>x86,x86_64,arm64-v8a,armeabi-v7a<span class="devsite-syntax-w"> </span><span class="devsite-syntax-se">\</span> <span class="devsite-syntax-w"> </span>--define<span class="devsite-syntax-o">=</span><span class="devsite-syntax-nv">android_dexmerger_tool</span><span class="devsite-syntax-o">=</span>d8_dexmerger<span class="devsite-syntax-w"> </span><span class="devsite-syntax-se">\</span> <span class="devsite-syntax-w"> </span>--define<span class="devsite-syntax-o">=</span><span class="devsite-syntax-nv">android_incremental_dexing_tool</span><span class="devsite-syntax-o">=</span>d8_dexbuilder<span class="devsite-syntax-w"> </span><span class="devsite-syntax-se">\</span> <span class="devsite-syntax-w"> </span>//tensorflow/lite/java:tensorflow-lite </code></pre></devsite-code> <p>This will generate an AAR file in <code translate="no" dir="ltr">bazel-bin/tensorflow/lite/java/</code>. Note that this builds a &quot;fat&quot; AAR with several different architectures; if you don&#39;t need all of them, use the subset appropriate for your deployment environment.</p> <p>You can build smaller AAR files targeting only a set of models as follows:</p> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="Bash"><code translate="no" dir="ltr">bash<span class="devsite-syntax-w"> </span>tensorflow/lite/tools/build_aar.sh<span class="devsite-syntax-w"> </span><span class="devsite-syntax-se">\</span> <span class="devsite-syntax-w"> </span>--input_models<span class="devsite-syntax-o">=</span>model1,model2<span class="devsite-syntax-w"> </span><span class="devsite-syntax-se">\</span> <span class="devsite-syntax-w"> </span>--target_archs<span class="devsite-syntax-o">=</span>x86,x86_64,arm64-v8a,armeabi-v7a </code></pre></devsite-code> <p>Above script will generate the <code translate="no" dir="ltr">tensorflow-lite.aar</code> file and optionally the <code translate="no" dir="ltr">tensorflow-lite-select-tf-ops.aar</code> file if one of the models is using Tensorflow ops. For more details, please see the <a href="https://ai.google.dev/edge/litert/build/reduce_binary_size">Reduce LiteRT binary size</a> section.</p> <h4 id="add_aar_directly_to_project" data-text="Add AAR directly to project" tabindex="-1">Add AAR directly to project</h4> <p>Move the <code translate="no" dir="ltr">tensorflow-lite.aar</code> file into a directory called <code translate="no" dir="ltr">libs</code> in your project. Modify your app&#39;s <code translate="no" dir="ltr">build.gradle</code> file to reference the new directory and replace the existing LiteRT dependency with the new local library, e.g.:</p> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="Carbon"><code translate="no" dir="ltr"><span class="devsite-syntax-nx">allprojects</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">repositories</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">mavenCentral</span><span class="devsite-syntax-p">()</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">maven</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// Only for snapshot artifacts</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">name</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">'</span><span class="devsite-syntax-nx">ossrh</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-nx">snapshot</span><span class="devsite-syntax-err">'</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">url</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">'</span><span class="devsite-syntax-nx">https</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-c1">//oss.sonatype.org/content/repositories/snapshots'</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">flatDir</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">dirs</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">'</span><span class="devsite-syntax-nx">libs</span><span class="devsite-syntax-err">'</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-nx">dependencies</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">compile</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-nx">name</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-err">'</span><span class="devsite-syntax-nx">tensorflow</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-nx">lite</span><span class="devsite-syntax-err">'</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">ext</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-err">'</span><span class="devsite-syntax-nx">aar</span><span class="devsite-syntax-err">'</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-p">}</span> </code></pre></devsite-code> <h4 id="install_aar_to_local_maven_repository" data-text="Install AAR to local Maven repository" tabindex="-1">Install AAR to local Maven repository</h4> <p>Execute the following command from your root checkout directory:</p> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="Bash"><code translate="no" dir="ltr">mvn<span class="devsite-syntax-w"> </span>install:install-file<span class="devsite-syntax-w"> </span><span class="devsite-syntax-se">\</span> <span class="devsite-syntax-w"> </span>-Dfile<span class="devsite-syntax-o">=</span>bazel-bin/tensorflow/lite/java/tensorflow-lite.aar<span class="devsite-syntax-w"> </span><span class="devsite-syntax-se">\</span> <span class="devsite-syntax-w"> </span>-DgroupId<span class="devsite-syntax-o">=</span>org.tensorflow<span class="devsite-syntax-w"> </span><span class="devsite-syntax-se">\</span> <span class="devsite-syntax-w"> </span>-DartifactId<span class="devsite-syntax-o">=</span>tensorflow-lite<span class="devsite-syntax-w"> </span>-Dversion<span class="devsite-syntax-o">=</span><span class="devsite-syntax-m">0</span>.1.100<span class="devsite-syntax-w"> </span>-Dpackaging<span class="devsite-syntax-o">=</span>aar </code></pre></devsite-code> <p>In your app&#39;s <code translate="no" dir="ltr">build.gradle</code>, ensure you have the <code translate="no" dir="ltr">mavenLocal()</code> dependency and replace the standard LiteRT dependency with the one that has support for select TensorFlow ops:</p> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="Lasso"><code translate="no" dir="ltr"><span class="devsite-syntax-nx">allprojects</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">repositories</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">mavenCentral</span><span class="devsite-syntax-p">()</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">maven</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// Only for snapshot artifacts</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">name</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'ossrh-snapshot'</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">url</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'https://oss.sonatype.org/content/repositories/snapshots'</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">mavenLocal</span><span class="devsite-syntax-p">()</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-nx">dependencies</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">implementation</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'org.tensorflow:tensorflow-lite:0.1.100'</span> <span class="devsite-syntax-p">}</span> </code></pre></devsite-code> <p>Note that the <code translate="no" dir="ltr">0.1.100</code> version here is purely for the sake of testing/development. With the local AAR installed, you can use the standard <a href="https://ai.google.dev/edge/litert/inference">LiteRT Java inference APIs</a> in your app code.</p> </div> <devsite-thumb-rating position="footer"> </devsite-thumb-rating> <devsite-feedback position="footer" project-name="Google AI Edge" product-id="5336252" bucket="documentation" context="" version="t-devsite-webserver-20241114-r00-rc02.464921008191574316" data-label="Send Feedback Button" track-type="feedback" track-name="sendFeedbackLink" track-metadata-position="footer" class="nocontent" project-icon="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/googledevai/images/touchicon-180-new.png" > <button> Send feedback </button> </devsite-feedback> <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 2024-08-30 UTC.</p> </devsite-content-footer> <devsite-notification > </devsite-notification> <div class="devsite-content-data"> <template class="devsite-thumb-rating-feedback"> <devsite-feedback position="thumb-rating" project-name="Google AI Edge" product-id="5336252" bucket="documentation" context="" version="t-devsite-webserver-20241114-r00-rc02.464921008191574316" data-label="Send Feedback Button" track-type="feedback" track-name="sendFeedbackLink" track-metadata-position="thumb-rating" class="nocontent" project-icon="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/googledevai/images/touchicon-180-new.png" > <button> Need to tell us more? </button> </devsite-feedback> </template> <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 2024-08-30 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"> </nav> </devsite-footer-linkboxes> <devsite-footer-utility class="devsite-footer"> <div class="devsite-footer-utility nocontent"> <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="//policies.google.com/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> </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_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> </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>[]</script> <script type="application/json" tag-management>{&#34;at&#34;: &#34;True&#34;, &#34;ga4&#34;: [], &#34;ga4p&#34;: [], &#34;gtm&#34;: [{&#34;id&#34;: &#34;GTM-TC2MQKS8&#34;, &#34;purpose&#34;: 0}], &#34;parameters&#34;: {&#34;internalUser&#34;: &#34;False&#34;, &#34;language&#34;: {&#34;machineTranslated&#34;: &#34;False&#34;, &#34;requested&#34;: &#34;en&#34;, &#34;served&#34;: &#34;en&#34;}, &#34;pageType&#34;: &#34;article&#34;, &#34;projectName&#34;: &#34;Google AI Edge&#34;, &#34;signedIn&#34;: &#34;False&#34;, &#34;tenant&#34;: &#34;googledevai&#34;, &#34;recommendations&#34;: {&#34;sourcePage&#34;: &#34;&#34;, &#34;sourceType&#34;: 0, &#34;sourceRank&#34;: 0, &#34;sourceIdenticalDescriptions&#34;: 0, &#34;sourceTitleWords&#34;: 0, &#34;sourceDescriptionWords&#34;: 0, &#34;experiment&#34;: &#34;&#34;}, &#34;experiment&#34;: {&#34;ids&#34;: &#34;&#34;}}}</script> </devsite-analytics> <devsite-badger></devsite-badger> <script nonce="Uyz+UT73zBlIInjot5At/t2nFIxvbw"> (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/googledevai/js/app_loader.js', '[59,"en",null,"/js/devsite_app_module.js","https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625","https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/googledevai","https://googledevai-dot-devsite-v2-prod-3p.appspot.com",null,null,["/_pwa/googledevai/manifest.json","https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/images/video-placeholder.svg","https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/googledevai/images/favicon-new.png","/_static/googledevai/images/lockup-new.svg","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],"AIzaSyCNm9YxQumEXwGJgTDjxoxXK6m1F-9720Q","AIzaSyCc76DZePGtoyUjqKrLdsMGk_ry7sljLbY","ai.google.dev","AIzaSyB9bqgQ2t11WJsOX8qNsCQ6U-w91mmqF-I","AIzaSyAdYnStPdzjcJJtQ0mvIaeaMKj7_t6J_Fg",null,null,null,["Cloud__enable_cloud_shell","DevPro__enable_developer_subscriptions","MiscFeatureFlags__enable_explain_this_code","Profiles__enable_recognition_badges","Profiles__enable_page_saving","Profiles__enable_public_developer_profiles","Cloud__enable_legacy_calculator_redirect","MiscFeatureFlags__emergency_css","Cloud__enable_llm_concierge_chat","Search__enable_page_map","Profiles__enable_awarding_url","MiscFeatureFlags__enable_view_transitions","Search__enable_suggestions_from_borg","BookNav__enable_tenant_cache_key","MiscFeatureFlags__enable_firebase_utm","Concierge__enable_pushui","Cloud__enable_cloud_shell_fte_user_flow","TpcFeatures__enable_required_headers","Search__enable_dynamic_content_confidential_banner","MiscFeatureFlags__developers_footer_image","Experiments__reqs_query_experiments","EngEduTelemetry__enable_engedu_telemetry","Cloud__enable_cloud_facet_chat","OnSwitch__enable","Cloud__enable_free_trial_server_call","Profiles__enable_developer_profiles_callout","Cloud__enable_cloudx_experiment_ids","Analytics__enable_clearcut_logging","Profiles__require_profile_eligibility_for_signin","CloudShell__cloud_code_overflow_menu","Search__enable_ai_eligibility_checks","Cloud__enable_cloud_dlp_service","Profiles__enable_completecodelab_endpoint","Cloud__enable_cloudx_ping","CloudShell__cloud_shell_button","Profiles__enable_profile_collections","TpcFeatures__enable_mirror_tenant_redirects","MiscFeatureFlags__developers_footer_dark_image","DevPro__enable_cloud_innovators_plus","MiscFeatureFlags__enable_project_variables","Profiles__enable_release_notes_notifications","MiscFeatureFlags__enable_variable_operator","Profiles__enable_dashboard_curated_recommendations","Profiles__enable_complete_playlist_endpoint"],null,null,"AIzaSyA58TaKli1DculwmAmbpzLVGuWc8eCQgQc","https://developerscontentserving-pa.googleapis.com","AIzaSyDWBU60w0P9hEkr29kkksYs8Z7gvZ8u_wc","https://developerscontentsearch-pa.googleapis.com",2,4,null,"https://developerprofiles-pa.googleapis.com",[59,"googledevai","Google AI for Developers","ai.google.dev",null,"googledevai-dot-devsite-v2-prod-3p.appspot.com",null,null,[null,1,null,null,null,null,null,null,null,null,null,[1],null,null,null,null,null,null,[1],null,null,null,null,[1],[1,1,null,1,1]],null,[73,null,null,null,null,null,"/images/lockup-new.svg","/images/touchicon-180-new.png",null,null,null,null,1,1,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,null,null,[[],[1,1]],[[null,null,null,null,null,["GTM-TC2MQKS8"],null,null,null,null,null,[["GTM-TC2MQKS8",1]],1]],null,4]]') </script> <devsite-a11y-announce></devsite-a11y-announce> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10