CINXE.COM

Machine learning education  |  TensorFlow

<!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="TensorFlow"> <meta property="og:type" content="website"><meta name="theme-color" content="#ff6f00"><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/tensorflow/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/tensorflow/css/app.css"> <link rel="shortcut icon" href="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/tensorflow/images/favicon.png"> <link rel="apple-touch-icon" href="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/tensorflow/images/apple-touch-icon-180x180.png"><link rel="canonical" href="https://www.tensorflow.org/resources/learn-ml"><link rel="search" type="application/opensearchdescription+xml" title="TensorFlow" href="https://www.tensorflow.org/s/opensearch.xml"> <link rel="alternate" hreflang="en" href="https://www.tensorflow.org/resources/learn-ml" /><link rel="alternate" hreflang="x-default" href="https://www.tensorflow.org/resources/learn-ml" /><link rel="alternate" hreflang="ar" href="https://www.tensorflow.org/resources/learn-ml?hl=ar" /><link rel="alternate" hreflang="bn" href="https://www.tensorflow.org/resources/learn-ml?hl=bn" /><link rel="alternate" hreflang="zh-Hans" href="https://www.tensorflow.org/resources/learn-ml?hl=zh-cn" /><link rel="alternate" hreflang="zh-Hant" href="https://www.tensorflow.org/resources/learn-ml?hl=zh-tw" /><link rel="alternate" hreflang="fa" href="https://www.tensorflow.org/resources/learn-ml?hl=fa" /><link rel="alternate" hreflang="fr" href="https://www.tensorflow.org/resources/learn-ml?hl=fr" /><link rel="alternate" hreflang="he" href="https://www.tensorflow.org/resources/learn-ml?hl=he" /><link rel="alternate" hreflang="hi" href="https://www.tensorflow.org/resources/learn-ml?hl=hi" /><link rel="alternate" hreflang="id" href="https://www.tensorflow.org/resources/learn-ml?hl=id" /><link rel="alternate" hreflang="it" href="https://www.tensorflow.org/resources/learn-ml?hl=it" /><link rel="alternate" hreflang="ja" href="https://www.tensorflow.org/resources/learn-ml?hl=ja" /><link rel="alternate" hreflang="ko" href="https://www.tensorflow.org/resources/learn-ml?hl=ko" /><link rel="alternate" hreflang="pl" href="https://www.tensorflow.org/resources/learn-ml?hl=pl" /><link rel="alternate" hreflang="pt-BR" href="https://www.tensorflow.org/resources/learn-ml?hl=pt-br" /><link rel="alternate" hreflang="pt" href="https://www.tensorflow.org/resources/learn-ml?hl=pt" /><link rel="alternate" hreflang="ru" href="https://www.tensorflow.org/resources/learn-ml?hl=ru" /><link rel="alternate" hreflang="es" href="https://www.tensorflow.org/resources/learn-ml?hl=es" /><link rel="alternate" hreflang="es-419" href="https://www.tensorflow.org/resources/learn-ml?hl=es-419" /><link rel="alternate" hreflang="th" href="https://www.tensorflow.org/resources/learn-ml?hl=th" /><link rel="alternate" hreflang="tr" href="https://www.tensorflow.org/resources/learn-ml?hl=tr" /><link rel="alternate" hreflang="vi" href="https://www.tensorflow.org/resources/learn-ml?hl=vi" /><title>Machine learning education &nbsp;|&nbsp; TensorFlow</title> <meta property="og:title" content="Machine learning education &nbsp;|&nbsp; TensorFlow"><meta name="description" content="Start your TensorFlow training by building a foundation in four learning areas: coding, math, ML theory, and how to build an ML project from start to finish."> <meta property="og:description" content="Start your TensorFlow training by building a foundation in four learning areas: coding, math, ML theory, and how to build an ML project from start to finish."><meta property="og:url" content="https://www.tensorflow.org/resources/learn-ml"><meta property="og:image" content="https://www.tensorflow.org/static/images/tf_logo_social.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": "Machine learning education" } </script> <link href="/static/en/site-assets/images/marketing/favicon.png" rel="shortcut icon"/> <meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0, height=device-height" name="viewport"/> <link href="https://fonts.googleapis.com/css?family=Google+Sans:+400,500,700" rel="stylesheet" data-page-link> <link rel="stylesheet" href="/extras.css"></head> <body class="" template="page" theme="tensorflow-theme" type="article" layout="full" pending> <devsite-progress type="indeterminate" id="app-progress"></devsite-progress> <section class="devsite-wrapper"> <devsite-cookie-notification-bar></devsite-cookie-notification-bar><devsite-header role="banner"> <div class="devsite-header--inner nocontent"> <div class="devsite-top-logo-row-wrapper-wrapper"> <div class="devsite-top-logo-row-wrapper"> <div class="devsite-top-logo-row"> <button type="button" id="devsite-hamburger-menu" class="devsite-header-icon-button button-flat material-icons gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Navigation menu button" visually-hidden aria-label="Open menu"> </button> <div class="devsite-product-name-wrapper"> <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="tensorFlow" track-metadata-position="nav" track-metadata-eventDetail="nav"> <picture> <img src="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/tensorflow/images/lockup.svg" class="devsite-site-logo" alt="TensorFlow"> </picture> </a> <span class="devsite-product-name"> <ul class="devsite-breadcrumb-list" > <li class="devsite-breadcrumb-item "> </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://www.tensorflow.org/install" track-metadata-eventdetail="https://www.tensorflow.org/install" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - install" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Install" track-name="install" > Install </a> </tab> <tab class="devsite-dropdown "> <a href="https://www.tensorflow.org/learn" track-metadata-eventdetail="https://www.tensorflow.org/learn" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - learn" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Learn" track-name="learn" > Learn </a> <a href="#" role="button" aria-haspopup="true" aria-expanded="false" aria-label="Dropdown menu for Learn" track-type="nav" track-metadata-eventdetail="https://www.tensorflow.org/learn" track-metadata-position="nav - learn" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Learn" track-name="learn" 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 tfo-menu-column-learn"> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-item"> <a href="https://www.tensorflow.org/learn" track-type="nav" track-metadata-eventdetail="https://www.tensorflow.org/learn" track-metadata-position="nav - learn" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Introduction </div> <div class="devsite-nav-item-description"> New to TensorFlow? </div> </a> </li> <li class="devsite-nav-item"> <a href="https://www.tensorflow.org/tutorials" track-type="nav" track-metadata-eventdetail="https://www.tensorflow.org/tutorials" track-metadata-position="nav - learn" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Tutorials </div> <div class="devsite-nav-item-description"> Learn how to use TensorFlow with end-to-end examples </div> </a> </li> <li class="devsite-nav-item"> <a href="https://www.tensorflow.org/guide" track-type="nav" track-metadata-eventdetail="https://www.tensorflow.org/guide" track-metadata-position="nav - learn" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Guide </div> <div class="devsite-nav-item-description"> Learn framework concepts and components </div> </a> </li> <li class="devsite-nav-item"> <a href="https://www.tensorflow.org/resources/learn-ml" track-type="nav" track-metadata-eventdetail="https://www.tensorflow.org/resources/learn-ml" track-metadata-position="nav - learn" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Learn ML </div> <div class="devsite-nav-item-description"> Educational resources to master your path with TensorFlow </div> </a> </li> </ul> </div> </div> </div> </tab> <tab class="devsite-dropdown "> <a href="https://www.tensorflow.org/api" track-metadata-eventdetail="https://www.tensorflow.org/api" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - api" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: API" track-name="api" > API </a> <a href="#" role="button" aria-haspopup="true" aria-expanded="false" aria-label="Dropdown menu for API" track-type="nav" track-metadata-eventdetail="https://www.tensorflow.org/api" track-metadata-position="nav - api" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: API" track-name="api" 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://www.tensorflow.org/api/stable" track-type="nav" track-metadata-eventdetail="https://www.tensorflow.org/api/stable" track-metadata-position="nav - api" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> TensorFlow (v2.16.1) </div> </a> </li> <li class="devsite-nav-item"> <a href="https://www.tensorflow.org/versions" track-type="nav" track-metadata-eventdetail="https://www.tensorflow.org/versions" track-metadata-position="nav - api" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Versions… </div> </a> </li> </ul> </div> <div class="devsite-tabs-dropdown-column "> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-item"> <a href="https://js.tensorflow.org/api/latest/" track-type="nav" track-metadata-eventdetail="https://js.tensorflow.org/api/latest/" track-metadata-position="nav - api" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> TensorFlow.js </div> </a> </li> <li class="devsite-nav-item"> <a href="https://www.tensorflow.org/lite/api_docs" track-type="nav" track-metadata-eventdetail="https://www.tensorflow.org/lite/api_docs" track-metadata-position="nav - api" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> TensorFlow Lite </div> </a> </li> <li class="devsite-nav-item"> <a href="https://www.tensorflow.org/tfx/api_docs" track-type="nav" track-metadata-eventdetail="https://www.tensorflow.org/tfx/api_docs" track-metadata-position="nav - api" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> TFX </div> </a> </li> </ul> </div> </div> </div> </tab> <tab class="devsite-dropdown devsite-active "> <a href="https://www.tensorflow.org/resources/models-datasets" track-metadata-eventdetail="https://www.tensorflow.org/resources/models-datasets" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - ecosystem" track-metadata-module="primary nav" aria-label="Ecosystem, selected" data-category="Site-Wide Custom Events" data-label="Tab: Ecosystem" track-name="ecosystem" > Ecosystem </a> <a href="#" role="button" aria-haspopup="true" aria-expanded="false" aria-label="Dropdown menu for Ecosystem" track-type="nav" track-metadata-eventdetail="https://www.tensorflow.org/resources/models-datasets" track-metadata-position="nav - ecosystem" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Ecosystem" track-name="ecosystem" 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-title" role="heading" tooltip>LIBRARIES</li> <li class="devsite-nav-item"> <a href="https://www.tensorflow.org/js" track-type="nav" track-metadata-eventdetail="https://www.tensorflow.org/js" track-metadata-position="nav - ecosystem" track-metadata-module="tertiary nav" track-metadata-module_headline="libraries" tooltip > <div class="devsite-nav-item-title"> TensorFlow.js </div> <div class="devsite-nav-item-description"> Develop web ML applications in JavaScript </div> </a> </li> <li class="devsite-nav-item"> <a href="https://www.tensorflow.org/lite" track-type="nav" track-metadata-eventdetail="https://www.tensorflow.org/lite" track-metadata-position="nav - ecosystem" track-metadata-module="tertiary nav" track-metadata-module_headline="libraries" tooltip > <div class="devsite-nav-item-title"> TensorFlow Lite </div> <div class="devsite-nav-item-description"> Deploy ML on mobile, microcontrollers and other edge devices </div> </a> </li> <li class="devsite-nav-item"> <a href="https://www.tensorflow.org/tfx" track-type="nav" track-metadata-eventdetail="https://www.tensorflow.org/tfx" track-metadata-position="nav - ecosystem" track-metadata-module="tertiary nav" track-metadata-module_headline="libraries" tooltip > <div class="devsite-nav-item-title"> TFX </div> <div class="devsite-nav-item-description"> Build production ML pipelines </div> </a> </li> <li class="devsite-nav-item"> <a href="https://www.tensorflow.org/resources/libraries-extensions" track-type="nav" track-metadata-eventdetail="https://www.tensorflow.org/resources/libraries-extensions" track-metadata-position="nav - ecosystem" track-metadata-module="tertiary nav" track-metadata-module_headline="libraries" tooltip > <div class="devsite-nav-item-title"> All libraries </div> <div class="devsite-nav-item-description"> Create advanced models and extend TensorFlow </div> </a> </li> </ul> </div> <div class="devsite-tabs-dropdown-column "> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-title" role="heading" tooltip>RESOURCES</li> <li class="devsite-nav-item"> <a href="https://www.tensorflow.org/resources/models-datasets" track-type="nav" track-metadata-eventdetail="https://www.tensorflow.org/resources/models-datasets" track-metadata-position="nav - ecosystem" track-metadata-module="tertiary nav" track-metadata-module_headline="resources" tooltip > <div class="devsite-nav-item-title"> Models & datasets </div> <div class="devsite-nav-item-description"> Pre-trained models and datasets built by Google and the community </div> </a> </li> <li class="devsite-nav-item"> <a href="https://www.tensorflow.org/resources/tools" track-type="nav" track-metadata-eventdetail="https://www.tensorflow.org/resources/tools" track-metadata-position="nav - ecosystem" track-metadata-module="tertiary nav" track-metadata-module_headline="resources" tooltip > <div class="devsite-nav-item-title"> Tools </div> <div class="devsite-nav-item-description"> Tools to support and accelerate TensorFlow workflows </div> </a> </li> <li class="devsite-nav-item"> <a href="https://www.tensorflow.org/responsible_ai" track-type="nav" track-metadata-eventdetail="https://www.tensorflow.org/responsible_ai" track-metadata-position="nav - ecosystem" track-metadata-module="tertiary nav" track-metadata-module_headline="resources" tooltip > <div class="devsite-nav-item-title"> Responsible AI </div> <div class="devsite-nav-item-description"> Resources for every stage of the ML workflow </div> </a> </li> <li class="devsite-nav-item"> <a href="https://www.tensorflow.org/resources/recommendation-systems" track-type="nav" track-metadata-eventdetail="https://www.tensorflow.org/resources/recommendation-systems" track-metadata-position="nav - ecosystem" track-metadata-module="tertiary nav" track-metadata-module_headline="resources" tooltip > <div class="devsite-nav-item-title"> Recommendation systems </div> <div class="devsite-nav-item-description"> Build recommendation systems with open source tools </div> </a> </li> </ul> </div> </div> </div> </tab> <tab class="devsite-dropdown "> <a href="https://www.tensorflow.org/community" track-metadata-eventdetail="https://www.tensorflow.org/community" 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> <a href="#" role="button" aria-haspopup="true" aria-expanded="false" aria-label="Dropdown menu for Community" track-type="nav" track-metadata-eventdetail="https://www.tensorflow.org/community" track-metadata-position="nav - community" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Community" track-name="community" 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://www.tensorflow.org/community/groups" track-type="nav" track-metadata-eventdetail="https://www.tensorflow.org/community/groups" track-metadata-position="nav - community" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Groups </div> <div class="devsite-nav-item-description"> User groups, interest groups and mailing lists </div> </a> </li> <li class="devsite-nav-item"> <a href="https://www.tensorflow.org/community/contribute" track-type="nav" track-metadata-eventdetail="https://www.tensorflow.org/community/contribute" track-metadata-position="nav - community" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Contribute </div> <div class="devsite-nav-item-description"> Guide for contributing to code and documentation </div> </a> </li> <li class="devsite-nav-item"> <a href="https://blog.tensorflow.org/" track-type="nav" track-metadata-eventdetail="https://blog.tensorflow.org/" track-metadata-position="nav - community" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Blog </div> <div class="devsite-nav-item-description"> Stay up to date with all things TensorFlow </div> </a> </li> <li class="devsite-nav-item"> <a href="https://discuss.tensorflow.org" track-type="nav" track-metadata-eventdetail="https://discuss.tensorflow.org" track-metadata-position="nav - community" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Forum </div> <div class="devsite-nav-item-description"> Discussion platform for the TensorFlow community </div> </a> </li> </ul> </div> </div> </div> </tab> <tab class="devsite-dropdown "> <a href="https://www.tensorflow.org/about" track-metadata-eventdetail="https://www.tensorflow.org/about" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - why tensorflow" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Why TensorFlow" track-name="why tensorflow" > Why TensorFlow </a> <a href="#" role="button" aria-haspopup="true" aria-expanded="false" aria-label="Dropdown menu for Why TensorFlow" track-type="nav" track-metadata-eventdetail="https://www.tensorflow.org/about" track-metadata-position="nav - why tensorflow" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Why TensorFlow" track-name="why tensorflow" 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://www.tensorflow.org/about" track-type="nav" track-metadata-eventdetail="https://www.tensorflow.org/about" track-metadata-position="nav - why tensorflow" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> About </div> </a> </li> <li class="devsite-nav-item"> <a href="https://www.tensorflow.org/about/case-studies" track-type="nav" track-metadata-eventdetail="https://www.tensorflow.org/about/case-studies" track-metadata-position="nav - why tensorflow" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Case studies </div> </a> </li> </ul> </div> </div> </div> </tab> </nav> </devsite-tabs> </div> <devsite-search enable-signin enable-search enable-suggestions enable-query-completion project-name="TensorFlow" tenant-name="TensorFlow" > <form class="devsite-search-form" action="https://www.tensorflow.org/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="es" >Español</a> </li> <li role="presentation"> <a role="menuitem" lang="es_419" >Español – América Latina</a> </li> <li role="presentation"> <a role="menuitem" lang="fr" >Français</a> </li> <li role="presentation"> <a role="menuitem" lang="id" >Indonesia</a> </li> <li role="presentation"> <a role="menuitem" lang="it" >Italiano</a> </li> <li role="presentation"> <a role="menuitem" lang="pl" >Polski</a> </li> <li role="presentation"> <a role="menuitem" lang="pt" >Português</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> <a class="devsite-header-link devsite-top-button button gc-analytics-event" href="//github.com/tensorflow" data-category="Site-Wide Custom Events" data-label="Site header link" > GitHub </a> <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-product-id-row" > <div class="devsite-product-description-row"> <ul class="devsite-breadcrumb-list" > <li class="devsite-breadcrumb-item "> <a href="https://www.tensorflow.org/resources/models-datasets" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Lower Header" data-value="1" track-type="globalNav" track-name="breadcrumb" track-metadata-position="1" track-metadata-eventdetail="" > Ecosystem </a> </li> </ul> </div> </div> <div class="devsite-doc-set-nav-row"> <devsite-tabs class="lower-tabs"> <nav class="devsite-tabs-wrapper" aria-label="Lower tabs"> <tab > <a href="https://www.tensorflow.org/resources/models-datasets" track-metadata-eventdetail="https://www.tensorflow.org/resources/models-datasets" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - models &amp; datasets" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Models &amp; datasets" track-name="models &amp; datasets" > Models &amp; datasets </a> </tab> <tab > <a href="https://www.tensorflow.org/resources/tools" track-metadata-eventdetail="https://www.tensorflow.org/resources/tools" 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 </a> </tab> <tab > <a href="https://www.tensorflow.org/resources/libraries-extensions" track-metadata-eventdetail="https://www.tensorflow.org/resources/libraries-extensions" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - libraries &amp; extensions" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Libraries &amp; extensions" track-name="libraries &amp; extensions" > Libraries &amp; extensions </a> </tab> <tab class="devsite-active"> <a href="https://www.tensorflow.org/resources/learn-ml" track-metadata-eventdetail="https://www.tensorflow.org/resources/learn-ml" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - learn ml" track-metadata-module="primary nav" aria-label="Learn ML, selected" data-category="Site-Wide Custom Events" data-label="Tab: Learn ML" track-name="learn ml" > Learn ML </a> </tab> <tab > <a href="https://www.tensorflow.org/responsible_ai" track-metadata-eventdetail="https://www.tensorflow.org/responsible_ai" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - responsible ai" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Responsible AI" track-name="responsible ai" > Responsible AI </a> </tab> <tab > <a href="https://www.tensorflow.org/resources/recommendation-systems" track-metadata-eventdetail="https://www.tensorflow.org/resources/recommendation-systems" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - recommendation systems" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Recommendation systems" track-name="recommendation systems" > Recommendation systems </a> </tab> </nav> </devsite-tabs> </div> </div> </div> </div> </devsite-header> <devsite-book-nav scrollbars hidden> <div class="devsite-book-nav-filter" hidden> <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="tensorFlow" track-metadata-position="nav" track-metadata-eventDetail="nav"> <picture> <img src="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/tensorflow/images/lockup.svg" class="devsite-site-logo" alt="TensorFlow"> </picture> </a> <span class="devsite-product-name"> <ul class="devsite-breadcrumb-list" > <li class="devsite-breadcrumb-item "> </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="/install" class="devsite-nav-title gc-analytics-event devsite-nav-has-children " data-category="Site-Wide Custom Events" data-label="Tab: Install" track-name="install" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Install" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Install </span> <span class="devsite-nav-icon material-icons" data-icon="forward" > </span> </a> </li> <li class="devsite-nav-item"> <a href="/learn" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Learn" track-name="learn" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Learn" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Learn </span> </a> <ul class="devsite-nav-responsive-tabs devsite-nav-has-menu "> <li class="devsite-nav-item"> <span class="devsite-nav-title" tooltip data-category="Site-Wide Custom Events" data-label="Tab: Learn" track-name="learn" > <span class="devsite-nav-text" tooltip menu="Learn"> More </span> <span class="devsite-nav-icon material-icons" data-icon="forward" menu="Learn"> </span> </span> </li> </ul> </li> <li class="devsite-nav-item"> <a href="/api" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: API" track-name="api" data-category="Site-Wide Custom Events" data-label="Responsive Tab: API" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > API </span> </a> <ul class="devsite-nav-responsive-tabs devsite-nav-has-menu "> <li class="devsite-nav-item"> <span class="devsite-nav-title" tooltip data-category="Site-Wide Custom Events" data-label="Tab: API" track-name="api" > <span class="devsite-nav-text" tooltip menu="API"> More </span> <span class="devsite-nav-icon material-icons" data-icon="forward" menu="API"> </span> </span> </li> </ul> </li> <li class="devsite-nav-item"> <a href="/resources/models-datasets" class="devsite-nav-title gc-analytics-event devsite-nav-active" data-category="Site-Wide Custom Events" data-label="Tab: Ecosystem" track-name="ecosystem" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Ecosystem" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Ecosystem </span> </a> <ul class="devsite-nav-responsive-tabs devsite-nav-has-menu "> <li class="devsite-nav-item"> <span class="devsite-nav-title" tooltip data-category="Site-Wide Custom Events" data-label="Tab: Ecosystem" track-name="ecosystem" > <span class="devsite-nav-text" tooltip menu="Ecosystem"> More </span> <span class="devsite-nav-icon material-icons" data-icon="forward" menu="Ecosystem"> </span> </span> </li> </ul> <ul class="devsite-nav-responsive-tabs"> <li class="devsite-nav-item"> <a href="/resources/models-datasets" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Models &amp; datasets" track-name="models &amp; datasets" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Models &amp; datasets" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Models &amp; datasets </span> </a> </li> <li class="devsite-nav-item"> <a href="/resources/tools" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Tools" track-name="tools" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Tools" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Tools </span> </a> </li> <li class="devsite-nav-item"> <a href="/resources/libraries-extensions" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Libraries &amp; extensions" track-name="libraries &amp; extensions" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Libraries &amp; extensions" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Libraries &amp; extensions </span> </a> </li> <li class="devsite-nav-item"> <a href="/resources/learn-ml" class="devsite-nav-title gc-analytics-event devsite-nav-has-children devsite-nav-active" data-category="Site-Wide Custom Events" data-label="Tab: Learn ML" track-name="learn ml" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Learn ML" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip menu="_book"> Learn ML </span> <span class="devsite-nav-icon material-icons" data-icon="forward" menu="_book"> </span> </a> </li> <li class="devsite-nav-item"> <a href="/responsible_ai" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Responsible AI" track-name="responsible ai" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Responsible AI" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Responsible AI </span> </a> </li> <li class="devsite-nav-item"> <a href="/resources/recommendation-systems" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Recommendation systems" track-name="recommendation systems" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Recommendation systems" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Recommendation systems </span> </a> </li> </ul> </li> <li class="devsite-nav-item"> <a href="/community" 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> <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: Community" track-name="community" > <span class="devsite-nav-text" tooltip menu="Community"> More </span> <span class="devsite-nav-icon material-icons" data-icon="forward" menu="Community"> </span> </span> </li> </ul> </li> <li class="devsite-nav-item"> <a href="/about" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Why TensorFlow" track-name="why tensorflow" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Why TensorFlow" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Why TensorFlow </span> </a> <ul class="devsite-nav-responsive-tabs devsite-nav-has-menu "> <li class="devsite-nav-item"> <span class="devsite-nav-title" tooltip data-category="Site-Wide Custom Events" data-label="Tab: Why TensorFlow" track-name="why tensorflow" > <span class="devsite-nav-text" tooltip menu="Why TensorFlow"> More </span> <span class="devsite-nav-icon material-icons" data-icon="forward" menu="Why TensorFlow"> </span> </span> </li> </ul> </li> <li class="devsite-nav-item"> <a href="//github.com/tensorflow" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: GitHub" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > GitHub </span> </a> </li> </ul> </div> <div class="devsite-mobile-nav-bottom"> <ul class="devsite-nav-list" menu="Learn" aria-label="Side menu" hidden> <li class="devsite-nav-item"> <a href="/learn" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Introduction" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Introduction </span> </a> </li> <li class="devsite-nav-item"> <a href="/tutorials" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Tutorials" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Tutorials </span> </a> </li> <li class="devsite-nav-item"> <a href="/guide" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Guide" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Guide </span> </a> </li> <li class="devsite-nav-item"> <a href="/resources/learn-ml" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Learn ML" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Learn ML </span> </a> </li> </ul> <ul class="devsite-nav-list" menu="API" aria-label="Side menu" hidden> <li class="devsite-nav-item"> <a href="/api/stable" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: TensorFlow (v2.16.1)" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > TensorFlow (v2.16.1) </span> </a> </li> <li class="devsite-nav-item"> <a href="/versions" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Versions…" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Versions… </span> </a> </li> <li class="devsite-nav-item"> <a href="https://js.tensorflow.org/api/latest/" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: TensorFlow.js" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > TensorFlow.js </span> </a> </li> <li class="devsite-nav-item"> <a href="/lite/api_docs" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: TensorFlow Lite" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > TensorFlow Lite </span> </a> </li> <li class="devsite-nav-item"> <a href="/tfx/api_docs" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: TFX" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > TFX </span> </a> </li> </ul> <ul class="devsite-nav-list" menu="Ecosystem" aria-label="Side menu" hidden> <li class="devsite-nav-item devsite-nav-heading"> <span class="devsite-nav-title" tooltip > <span class="devsite-nav-text" tooltip > LIBRARIES </span> </span> </li> <li class="devsite-nav-item"> <a href="/js" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: TensorFlow.js" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > TensorFlow.js </span> </a> </li> <li class="devsite-nav-item"> <a href="/lite" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: TensorFlow Lite" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > TensorFlow Lite </span> </a> </li> <li class="devsite-nav-item"> <a href="/tfx" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: TFX" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > TFX </span> </a> </li> <li class="devsite-nav-item"> <a href="/resources/libraries-extensions" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: All libraries" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > All libraries </span> </a> </li> <li class="devsite-nav-item devsite-nav-heading"> <span class="devsite-nav-title" tooltip > <span class="devsite-nav-text" tooltip > RESOURCES </span> </span> </li> <li class="devsite-nav-item"> <a href="/resources/models-datasets" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Models &amp; datasets" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Models &amp; datasets </span> </a> </li> <li class="devsite-nav-item"> <a href="/resources/tools" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Tools" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Tools </span> </a> </li> <li class="devsite-nav-item"> <a href="/responsible_ai" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Responsible AI" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Responsible AI </span> </a> </li> <li class="devsite-nav-item"> <a href="/resources/recommendation-systems" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Recommendation systems" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Recommendation systems </span> </a> </li> </ul> <ul class="devsite-nav-list" menu="Community" aria-label="Side menu" hidden> <li class="devsite-nav-item"> <a href="/community/groups" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Groups" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Groups </span> </a> </li> <li class="devsite-nav-item"> <a href="/community/contribute" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Contribute" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Contribute </span> </a> </li> <li class="devsite-nav-item"> <a href="https://blog.tensorflow.org/" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Blog" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Blog </span> </a> </li> <li class="devsite-nav-item"> <a href="https://discuss.tensorflow.org" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Forum" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Forum </span> </a> </li> </ul> <ul class="devsite-nav-list" menu="Why TensorFlow" aria-label="Side menu" hidden> <li class="devsite-nav-item"> <a href="/about" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: About" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > About </span> </a> </li> <li class="devsite-nav-item"> <a href="/about/case-studies" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Case studies" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Case studies </span> </a> </li> </ul> </div> </div> </nav> </devsite-book-nav> <section id="gc-wrapper"> <main role="main" class="devsite-main-content" > <div class="devsite-sidebar"> <div class="devsite-sidebar-content"> <devsite-toc class="devsite-nav" role="navigation" aria-label="On this page" depth="2" scrollbars disabled></devsite-toc> <devsite-recommendations-sidebar class="nocontent devsite-nav"> </devsite-recommendations-sidebar> </div> </div> <devsite-content> <article class="devsite-article"><style> /* Styles inlined from /site-assets/css/style.css */ /* override theme */ table img { max-width: 100%; } /* .devsite-terminal virtualenv prompt */ .tfo-terminal-venv::before { content: "(venv) $ " !important; } /* .devsite-terminal root prompt */ .tfo-terminal-root::before { content: "# " !important; } /* Used in links for type annotations in function/method signatures */ .tfo-signature-link a, .tfo-signature-link a:visited, .tfo-signature-link a:hover, .tfo-signature-link a:focus, .tfo-signature-link a:hover *, .tfo-signature-link a:focus * { text-decoration: none !important; } .tfo-signature-link a, .tfo-signature-link a:visited { border-bottom: 1px dotted #1a73e8; } .tfo-signature-link a:focus { border-bottom-style: solid; } /* .devsite-terminal Windows prompt */ .tfo-terminal-windows::before { content: "C:\\> " !important; } /* .devsite-terminal Windows prompt w/ virtualenv */ .tfo-terminal-windows-venv::before { content: "(venv) C:\\> " !important; } .tfo-diff-green-one-level + * { background: rgba(175, 245, 162, .6) !important; } .tfo-diff-green + * > * { background: rgba(175, 245, 162, .6) !important; } .tfo-diff-green-list + ul > li:first-of-type { background: rgba(175, 245, 162, .6) !important; } .tfo-diff-red-one-level + * { background: rgba(255, 230, 230, .6) !important; text-decoration: line-through !important; } .tfo-diff-red + * > * { background: rgba(255, 230, 230, .6) !important; text-decoration: line-through !important; } .tfo-diff-red-list + ul > li:first-of-type { background: rgba(255, 230, 230, .6) !important; text-decoration: line-through !important; } devsite-code .tfo-notebook-code-cell-output { max-height: 300px; overflow: auto; background: rgba(255, 247, 237, 1); /* orange bg to distinguish from input code cells */ } devsite-code .tfo-notebook-code-cell-output + .devsite-code-buttons-container button { background: rgba(255, 247, 237, .7); /* orange bg to distinguish from input code cells */ } devsite-code[dark-code] .tfo-notebook-code-cell-output { background: rgba(64, 78, 103, 1); /* medium slate */ } devsite-code[dark-code] .tfo-notebook-code-cell-output + .devsite-code-buttons-container button { background: rgba(64, 78, 103, .7); /* medium slate */ } /* override default table styles for notebook buttons */ .devsite-table-wrapper .tfo-notebook-buttons { display: inline-block; margin-left: 3px; width: auto; } .tfo-notebook-buttons td { padding-left: 0; padding-right: 20px; } .tfo-notebook-buttons a, .tfo-notebook-buttons :link, .tfo-notebook-buttons :visited { border-radius: 8px; box-shadow: 0 1px 2px 0 rgba(60, 64, 67, .3), 0 1px 3px 1px rgba(60, 64, 67, .15); color: #202124; padding: 12px 17px; transition: box-shadow 0.2s; } .tfo-notebook-buttons a:hover, .tfo-notebook-buttons a:focus { box-shadow: 0 1px 2px 0 rgba(60, 64, 67, .3), 0 2px 6px 2px rgba(60, 64, 67, .15); } .tfo-notebook-buttons tr { background: 0; border: 0; } /* on rendered notebook page, remove link to webpage since we're already here */ .tfo-notebook-buttons:not(.tfo-api) td:first-child { display: none; } .tfo-notebook-buttons td > a { -webkit-box-align: center; -ms-flex-align: center; align-items: center; display: -webkit-box; display: -ms-flexbox; display: flex; } .tfo-notebook-buttons td > a > img { margin-right: 8px; } /* landing pages */ .tfo-landing-row-item-inset-white { background-color: #fff; padding: 32px; } .tfo-landing-row-item-inset-white ol, .tfo-landing-row-item-inset-white ul { padding-left: 20px; } /* colab callout button */ .colab-callout-row devsite-code { border-radius: 8px 8px 0 0; box-shadow: none; } .colab-callout-footer { background: #e3e4e7; border-radius: 0 0 8px 8px; color: #37474f; padding: 20px; } .colab-callout-row devsite-code[dark-code] + .colab-callout-footer { background: #3f4f66; } .colab-callout-footer > .button { margin-top: 4px; color: #ff5c00; } .colab-callout-footer > a > span { vertical-align: middle; color: #37474f; padding-left: 10px; font-size: 14px; } .colab-callout-row devsite-code[dark-code] + .colab-callout-footer > a > span { color: #fff; } a.colab-button { background: rgba(255, 255, 255, .75); border: solid 1px rgba(0, 0, 0, .08); border-bottom-color: rgba(0, 0, 0, .15); border-radius: 4px; color: #aaa; display: inline-block; font-size: 11px !important; font-weight: 300; line-height: 16px; padding: 4px 8px; text-decoration: none; text-transform: uppercase; } a.colab-button:hover { background: white; border-color: rgba(0, 0, 0, .2); color: #666; } a.colab-button span { background: url(/images/colab_logo_button.svg) no-repeat 1px 1px / 20px; border-radius: 4px; display: inline-block; padding-left: 24px; text-decoration: none; } @media screen and (max-width: 600px) { .tfo-notebook-buttons td { display: block; } } /* guide and tutorials landing page cards and sections */ .tfo-landing-page-card { padding: 16px; box-shadow: 0 0 36px rgba(0,0,0,0.1); border-radius: 10px; } /* Page section headings */ .tfo-landing-page-heading h2, h2.tfo-landing-page-heading { font-family: "Google Sans", sans-serif; color: #425066; font-size: 30px; font-weight: 700; line-height: 40px; } /* Item title headings */ .tfo-landing-page-heading h3, h3.tfo-landing-page-heading, .tfo-landing-page-card h3, h3.tfo-landing-page-card { font-family: "Google Sans", sans-serif; color: #425066; font-size: 20px; font-weight: 500; line-height: 26px; } /* List of tutorials notebooks for subsites */ .tfo-landing-page-resources-ul { padding-left: 15px } .tfo-landing-page-resources-ul > li { margin: 6px 0; } /* Temporary fix to hide product description in header on landing pages */ devsite-header .devsite-product-description { display: none; } </style><style> /* Styles inlined from /site-assets/css/prod.min.css */ .tensorsite-icon--address::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath fill='%23425066' fill-rule='nonzero' d='M11.6667 0L11.56.02 8 1.4 4 0 .24 1.2667c-.14.0466-.24.1666-.24.32v10.08C0 11.8533.1467 12 .3333 12l.1067-.02L4 10.6 8 12l3.76-1.2667c.14-.0466.24-.1666.24-.32V.3333A.3301.3301 0 0 0 11.6667 0zM8 10.6667L4 9.26V1.3333L8 2.74v7.9267z'/%3E%3Cpath d='M-2-2h16v16H-2z'/%3E%3C/g%3E%3C/svg%3E")}.tensorsite-icon--arrow-upward span::before{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24px' viewBox='0 0 24 24' width='24px' fill='%23ff6f00'%3E%3Cpath d='M0 0h24v24H0V0z' fill='none'/%3E%3Cpath d='M13 19V7.83l4.88 4.88c.39.39 1.03.39 1.42 0 .39-.39.39-1.02 0-1.41l-6.59-6.59c-.39-.39-1.02-.39-1.41 0l-6.6 6.58c-.39.39-.39 1.02 0 1.41.39.39 1.02.39 1.41 0L11 7.83V19c0 .55.45 1 1 1s1-.45 1-1z'/%3E%3C/svg%3E")}.tensorsite-icon--arrow-upward span::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24px' viewBox='0 0 24 24' width='24px' fill='%23425066'%3E%3Cpath d='M0 0h24v24H0V0z' fill='none'/%3E%3Cpath d='M13 19V7.83l4.88 4.88c.39.39 1.03.39 1.42 0 .39-.39.39-1.02 0-1.41l-6.59-6.59c-.39-.39-1.02-.39-1.41 0l-6.6 6.58c-.39.39-.39 1.02 0 1.41.39.39 1.02.39 1.41 0L11 7.83V19c0 .55.45 1 1 1s1-.45 1-1z'/%3E%3C/svg%3E")}.tensorsite-icon--build span::before{background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath d='M0 12h12V0H0z'/%3E%3Cpath d='M1 11h1v-1H1v1zm1-2H1a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1zm7-6h1V2H9v1zm1-2H9a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1zM9 7h1V6H9v1zm1-2H9a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1zM5 7h1V6H5v1zm1-2H5a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1zm3 6h1v-1H9v1zm1-2H9a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1zm-5 2h1v-1H5v1zm1-2H5a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1z' fill='%23425066'/%3E%3C/g%3E%3C/svg%3E")}.tensorsite-icon--build span::after{background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath d='M0 12h12V0H0z'/%3E%3Cpath d='M1 11h1v-1H1v1zm1-2H1a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1zm7-6h1V2H9v1zm1-2H9a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1zM9 7h1V6H9v1zm1-2H9a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1zM5 7h1V6H5v1zm1-2H5a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1zm3 6h1v-1H9v1zm1-2H9a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1zm-5 2h1v-1H5v1zm1-2H5a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1z' fill='%23ffffff%0A'/%3E%3C/g%3E%3C/svg%3E")}.tensorsite-icon--certificate span::after{background-image:url("data:image/svg+xml,%3Csvg width='24' height='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath d='M0 0h24v24H0z'/%3E%3Cg fill='%23425066'%3E%3Cpath d='M12 9.6l-3.84 2.88a2.3984 2.3984 0 0 0-.96 1.92v8.6378c0 .792.9024 1.2433 1.536.768L12 21.966l3.264 1.8399c.6336.4752 1.536.024 1.536-.768V14.4c0-.756-.3552-1.4664-.96-1.92L12 9.6z'/%3E%3Cpath d='M6 6c0 3.3144 2.6856 6 6 6s6-2.6856 6-6-2.6856-6-6-6-6 2.6856-6 6'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}.tensorsite-icon--chat span::after{background-image:url("data:image/svg+xml,%3C?xml version='1.0' encoding='utf-8'?%3E %3C!-- Generator: Adobe Illustrator 25.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E %3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 600 600' style='enable-background:new 0 0 600 600;' xml:space='preserve'%3E %3Cstyle type='text/css'%3E .st0%7Bfill:%23435066;%7D %3C/style%3E %3Cpath class='st0' d='M471,181v20.4h29.8v268.4l-62.6-62.5l-222.4,0.1v-29.2h-20.4v49.6l234.4-0.1l91.4,91.4V181H471z M459,110.9 H79.7v338.2l84.4-82.9h295V110.9z M303.8,305H132v-23.9h171.8V305z M405.6,246.1H132v-24h273.7V246.1z M405.6,187.1H132v-24h273.7 V187.1z'/%3E %3C/svg%3E")}.tensorsite-icon--check::before{background-image:url("data:image/svg+xml,%3Csvg width='21' height='20' viewBox='0 0 21 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform='translate(1 1)' fill='none' fill-rule='evenodd'%3E%3Ccircle stroke='%23FF6F00' cx='9' cy='9' r='9'/%3E%3Cpath stroke='%23425066' stroke-width='3' d='M4 9l3.729 3.729L18.064 2.393'/%3E%3C/g%3E%3C/svg%3E")}.tensorsite-icon--code span::before{background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath d='M0 12h12V0H0z'/%3E%3Cpath d='M4.832 1.126a.5.5 0 0 0-.706.042l-4 4.5a.5.5 0 0 0 0 .664l4 4.5a.5.5 0 1 0 .748-.664L1.169 6l3.705-4.168a.5.5 0 0 0-.042-.706m7.042 5.206l-4 4.5a.5.5 0 1 1-.748-.664L10.831 6 7.126 1.832a.5.5 0 1 1 .748-.664l4 4.5a.5.5 0 0 1 0 .664' fill='%23425066'/%3E%3C/g%3E%3C/svg%3E")}.tensorsite-icon--code span::after{background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath d='M0 12h12V0H0z'/%3E%3Cpath d='M4.832 1.126a.5.5 0 0 0-.706.042l-4 4.5a.5.5 0 0 0 0 .664l4 4.5a.5.5 0 1 0 .748-.664L1.169 6l3.705-4.168a.5.5 0 0 0-.042-.706m7.042 5.206l-4 4.5a.5.5 0 1 1-.748-.664L10.831 6 7.126 1.832a.5.5 0 1 1 .748-.664l4 4.5a.5.5 0 0 1 0 .664' fill='%23ffffff%0A'/%3E%3C/g%3E%3C/svg%3E")}.tensorsite-icon--devlibrary span::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1378.16 666.81'%3E%3Cg id='Layer_2' data-name='Layer 2'%3E%3Cg id='Layer_1-2' data-name='Layer 1'%3E%3Cpath d='M592.21,55.08A110.11,110.11,0,0,0,441.79,14.77L55.08,238h0a110.09,110.09,0,0,0,0,190.72L441.79,652A110.12,110.12,0,0,0,551.91,461.31L330.37,333.41,551.91,205.5A110.12,110.12,0,0,0,592.21,55.08Z' style='fill:%23425066'/%3E%3Cpath d='M1323.08,238,936.38,14.77A110.12,110.12,0,1,0,826.26,205.5l221.53,127.91L826.26,461.31A110.12,110.12,0,1,0,936.38,652l385.56-222.61.93-.53.21-.13h0a110.11,110.11,0,0,0,0-190.73Z' style='fill:%23425066'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}.tensorsite-icon--download span::before{background-image:url("data:image/svg+xml,<svg width='16' height='16' xmlns='http://www.w3.org/2000/svg'><g fill='none' fill-rule='evenodd'><path d='M0 16h16V0H0z'/><g fill='%23ff6f00'><path d='M13.2207 6h-2.721V1.5c0-.276-.223-.5-.5-.5h-4c-.276 0-.5.224-.5.5V6h-2.721c-.455 0-.673.559-.339.867l5.221 4.82c.192.176.487.176.679 0l5.221-4.82c.334-.308.116-.867-.34-.867M2 13.5v1c0 .276.224.5.5.5h11c.276 0 .5-.224.5-.5v-1c0-.276-.224-.5-.5-.5h-11c-.276 0-.5.224-.5.5'/></g></g></svg>")}.tensorsite-icon--download span::after{background-image:url("data:image/svg+xml,<svg width='16' height='16' xmlns='http://www.w3.org/2000/svg'><g fill='none' fill-rule='evenodd'><path d='M0 16h16V0H0z'/><g fill='%23425066'><path d='M13.2207 6h-2.721V1.5c0-.276-.223-.5-.5-.5h-4c-.276 0-.5.224-.5.5V6h-2.721c-.455 0-.673.559-.339.867l5.221 4.82c.192.176.487.176.679 0l5.221-4.82c.334-.308.116-.867-.34-.867M2 13.5v1c0 .276.224.5.5.5h11c.276 0 .5-.224.5-.5v-1c0-.276-.224-.5-.5-.5h-11c-.276 0-.5.224-.5.5'/></g></g></svg>")}.tensorsite-icon--email::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='12'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath d='M-1-2h16v16H-1z'/%3E%3Cpath fill='%23425066' fill-rule='nonzero' d='M12.3333.6667H1.6667C.9333.6667.34 1.2667.34 2l-.0067 8c0 .7333.6 1.3333 1.3334 1.3333h10.6666c.7334 0 1.3334-.6 1.3334-1.3333V2c0-.7333-.6-1.3333-1.3334-1.3333zm0 9.3333H1.6667V3.3333L7 6.6667l5.3333-3.3334V10zM7 5.3333L1.6667 2h10.6666L7 5.3333z'/%3E%3C/g%3E%3C/svg%3E")}.tensorsite-icon--external span::before,.tensorsite-icon--newsletter span::before{background-image:url("data:image/svg+xml;utf8,%3Csvg width='16' height='16' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath d='M10 1H2c-.6 0-1 .4-1 1s.4 1 1 1h5.6L1.3 9.3c-.4.4-.4 1 0 1.4.4.4 1 .4 1.4 0L9 4.4V10c0 .6.4 1 1 1s1-.4 1-1V2c0-.6-.4-1-1-1z' id='a'/%3E%3C/defs%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg transform='translate(2 2)'%3E%3Cmask id='b' fill='%23ff6f00'%3E%3Cuse xlink:href='%23a'/%3E%3C/mask%3E%3Cuse fill='%23ff6f00' xlink:href='%23a'/%3E%3Cpath fill='%23ff6f00' fill-rule='nonzero' mask='url(%23b)' d='M0 0h12v12H0z'/%3E%3C/g%3E%3Cpath fill='none' d='M2 2h12v12H2z'/%3E%3C/g%3E%3C/svg%3E")}.tensorsite-icon--external span::after,.tensorsite-icon--newsletter span::after{background-image:url("data:image/svg+xml;utf8,%3Csvg width='16' height='16' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath d='M10 1H2c-.6 0-1 .4-1 1s.4 1 1 1h5.6L1.3 9.3c-.4.4-.4 1 0 1.4.4.4 1 .4 1.4 0L9 4.4V10c0 .6.4 1 1 1s1-.4 1-1V2c0-.6-.4-1-1-1z' id='a'/%3E%3C/defs%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg transform='translate(2 2)'%3E%3Cmask id='b' fill='%23425066'%3E%3Cuse xlink:href='%23a'/%3E%3C/mask%3E%3Cuse fill='%23425066' xlink:href='%23a'/%3E%3Cpath fill='%23425066' fill-rule='nonzero' mask='url(%23b)' d='M0 0h12v12H0z'/%3E%3C/g%3E%3Cpath fill='none' d='M2 2h12v12H2z'/%3E%3C/g%3E%3C/svg%3E")}.tensorsite-icon--github span::after{background-image:url("data:image/svg+xml;utf8,%3Csvg width='32' height='32' viewBox='0 0 22 22' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath d='M12 1C5.924 1 1 5.925 1 12c0 4.86 3.151 8.982 7.523 10.438.55.1.751-.24.751-.531 0-.26-.01-.953-.015-1.87-3.06.664-3.705-1.475-3.705-1.475-.5-1.271-1.222-1.609-1.222-1.609-.998-.683.076-.67.076-.67 1.104.08 1.685 1.135 1.685 1.135.981 1.68 2.574 1.195 3.201.914.1-.711.384-1.196.698-1.47-2.442-.278-5.01-1.222-5.01-5.437 0-1.2.429-2.183 1.132-2.952-.113-.278-.49-1.396.108-2.91 0 0 .924-.297 3.025 1.127a10.536 10.536 0 0 1 2.754-.371c.934.005 1.875.126 2.753.37 2.1-1.423 3.022-1.127 3.022-1.127.6 1.515.223 2.633.11 2.911.705.77 1.13 1.751 1.13 2.952 0 4.225-2.571 5.155-5.022 5.427.395.34.747 1.011.747 2.038 0 1.47-.014 2.656-.014 3.017 0 .294.198.637.757.53C19.85 20.977 23 16.858 23 12 23 5.925 18.075 1 12 1' id='a'/%3E%3C/defs%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg transform='translate(-1 -1)'%3E%3Cmask id='b' fill='%23425066'%3E%3Cuse xlink:href='%23a'/%3E%3C/mask%3E%3Cuse fill='%23425066' xlink:href='%23a'/%3E%3Cpath fill='%23425066' fill-rule='nonzero' mask='url(%23b)' d='M0 0h24v24H0z'/%3E%3C/g%3E%3Cpath d='M-1-1h24v24H-1z'/%3E%3C/g%3E%3C/svg%3E")}.tensorsite-icon--codepen span::after{background-image:url("data:image/svg+xml,%3Csvg enable-background='new 0 0 500 500' height='500' viewBox='0 0 500 500' width='500' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m250.001 0c-138.074 0-250.001 111.927-250.001 250.001 0 138.076 111.927 249.999 250.001 249.999 138.072 0 249.999-111.923 249.999-249.999 0-138.074-111.927-250.001-249.999-250.001zm0 458.943c-115.212 0-208.941-93.733-208.941-208.942 0-115.208 93.729-208.941 208.941-208.941 115.208 0 208.938 93.733 208.938 208.941 0 115.209-93.729 208.942-208.938 208.942z'/%3E%3Cpath d='m404.462 201.172c-.028-.195-.076-.382-.109-.577-.065-.374-.135-.748-.232-1.114-.057-.22-.138-.431-.206-.642-.106-.326-.212-.651-.342-.968-.091-.22-.196-.439-.297-.651-.14-.3-.285-.593-.452-.877-.122-.212-.251-.416-.377-.618-.18-.277-.362-.546-.562-.806-.146-.194-.3-.39-.454-.577-.212-.243-.432-.487-.664-.716-.174-.178-.346-.357-.528-.521-.244-.219-.496-.431-.752-.633-.198-.155-.395-.31-.602-.456-.078-.049-.146-.114-.22-.163l-141.296-94.197c-4.464-2.976-10.274-2.976-14.738 0l-141.295 94.196c-.073.049-.142.114-.219.163-.208.146-.403.301-.598.456-.26.203-.512.415-.752.633-.187.164-.357.342-.533.521-.231.229-.451.473-.658.716-.159.188-.313.383-.459.577-.195.26-.383.529-.557.806-.134.203-.26.406-.382.618-.163.284-.309.577-.451.877-.102.211-.208.431-.297.651-.13.317-.236.642-.341.968-.07.211-.146.422-.208.642-.097.366-.162.74-.231 1.114-.032.195-.081.382-.106.577-.077.569-.122 1.146-.122 1.732v94.197c0 .585.044 1.162.122 1.74.025.188.074.382.106.568.069.374.134.748.231 1.114.062.22.138.432.208.643.105.324.211.65.341.975.089.222.195.433.297.645.143.3.289.592.451.885.122.204.248.406.382.61.174.276.362.545.557.806.146.203.301.391.459.577.208.243.427.488.658.716.175.178.346.357.533.52.24.221.492.432.752.635.195.155.391.31.598.454.077.05.146.115.219.163l141.295 94.197c2.231 1.487 4.802 2.236 7.371 2.236 2.566 0 5.135-.749 7.368-2.236l141.295-94.197c.074-.048.142-.113.22-.163.207-.145.403-.299.602-.454.256-.203.508-.414.752-.635.183-.162.354-.342.528-.52.232-.228.452-.473.664-.716.154-.187.308-.374.454-.577.2-.261.383-.529.562-.806.126-.204.255-.406.377-.61.167-.293.312-.585.452-.885.101-.212.206-.423.297-.645.13-.324.235-.65.342-.975.068-.211.149-.423.206-.643.098-.366.167-.74.232-1.114.033-.187.081-.381.109-.568.073-.578.119-1.155.119-1.74v-94.197c0-.585-.046-1.162-.119-1.731zm-141.176-67.639 104.088 69.387-46.493 31.103-57.595-38.527zm-26.571 0v61.963l-57.592 38.527-46.497-31.103zm-114.725 94.238 33.238 22.231-33.238 22.233zm114.725 138.7-104.088-69.388 46.497-31.094 57.592 38.52v61.962zm13.286-85.04-46.988-31.429 46.988-31.428 46.985 31.428zm13.285 85.04v-61.962l57.595-38.52 46.493 31.094zm114.724-94.237-33.233-22.233 33.233-22.231z'/%3E%3C/svg%3E")}.tensorsite-icon--glitch span::after{background-image:url("data:image/svg+xml,%3Csvg width='310' height='310' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath d='M80.2 153.3c-10.37 1.94-16.1 1.71-24.3 1.71-8.56 0-42.4-13.03-53.32-27 0 0 16.94-4.18 16.94-7.73 0-3.54-19.35-10.09-19.35-10.09s-2.93-16.34 17.8-32.66c20.74-16.31 36.26-24.06 53.7-24.97 17.43-.9 23.28-.9 23.28-.9s15.18-20.77 23.15-20.77c3.99 0 62.4 12.58 67.45 20.77 5.06 8.19 7.52 7.6 10.1 9.56 2.6 1.96.96.39 12.68 3.04 29.3 6.64 25.3 9.24 47.08 13.27 8.81 1.64 49.2-18.48 53-16.53 1.78.91 3.17 18.21-3.76 29.56-6.93 11.34 5.56 20.71-.05 34.92-5.61 14.2 6.43 24.72 3.82 29.53-2.62 4.81-45.5-15.74-53-14.25-7.52 1.49-30.47 12.67-77 19.73-16.74 2.54-33.85 2.16-48.94.68 3.96 7.66 3.1 15.34 3.1 15.34s-9.63 2.94-27.02-.8c-16.5-3.55-24.58-20.67-25.36-22.4z' fill='%23000'/%3E%3Cpath d='M80.62 75.1a43.7 43.7 0 011.4 1.85 53.93 53.93 0 013.2 5.08c2.41 4.36 4 8.68 4.39 12.62.21 2.16.06 4.78-.42 7.75a71.28 71.28 0 01-2.38 9.75 97.99 97.99 0 01-2.94 8.08c-.8 1.86-.14 4.1 1.5 5.03 1.64.91 3.62.15 4.43-1.71a106.06 106.06 0 003.24-8.88 79.35 79.35 0 002.66-10.9c.59-3.65.78-6.98.48-9.96-.52-5.24-2.47-10.55-5.36-15.77a61.43 61.43 0 00-5.38-8.09 3.04 3.04 0 00-4.67-.16 4.12 4.12 0 00-.15 5.3zM111.24 74.44a3697.76 3697.76 0 0120.5 1.13c4.46.26 8.21.5 11.09.7 10.83.76 27.52 3.3 40.27 5.88 19.54 3.95 35.49 9.8 60.82 21.18l8.72 3.94c1.7.76 3.62-.18 4.3-2.1.67-1.93-.16-4.11-1.86-4.88l-8.73-3.94c-25.7-11.54-42.02-17.53-62.1-21.59-12.97-2.62-29.9-5.2-41.01-5.99a999.18 999.18 0 00-16.13-.99 3703.41 3703.41 0 00-22.13-1.17l-.5-.03c-2.55-.13-4.26 2.92-3.08 5.48l.27.62c.23.54.5 1.15.77 1.84.81 1.98 1.62 4.13 2.37 6.4a75.27 75.27 0 012.7 10.27c.23 1.2.4 2.36.5 3.46.32 3.2-.4 8.7-1.94 15.67-.54 2.46-1.18 5.05-1.89 7.72a266.87 266.87 0 01-3.97 13.48c-.64 1.94.22 4.1 1.93 4.84 1.71.73 3.62-.25 4.26-2.2a70 70 0 00.36-1.1c.28-.89.6-1.89.93-2.99.96-3.14 1.93-6.47 2.82-9.86.74-2.78 1.4-5.48 1.98-8.06 1.72-7.8 2.52-14 2.1-18.34-.14-1.33-.34-2.7-.6-4.13-.65-3.65-1.69-7.5-3-11.42-.44-1.34-.9-2.65-1.38-3.9l1.63.08z' fill='%23FFF' fill-rule='nonzero'/%3E%3Cg transform='matrix(-1 0 0 1 58.34 81.29)'%3E%3Cellipse fill='%23000' cx='14.48' cy='16.43' rx='14.48' ry='16.43'/%3E%3Cpath d='M28.96 16.62v-.19C28.96 7.36 22.48 0 14.48 0S0 7.36 0 16.43c0 9.08 6.48 16.44 14.48 16.44 7.17 0 13.12-5.9 14.28-13.66-1 5.83-5.53 10.24-10.96 10.24-6.16 0-11.16-5.68-11.16-12.67 0-7 5-12.67 11.16-12.67 6.12 0 11.09 5.58 11.16 12.5z' fill='%23FFF'/%3E%3Cellipse fill='%23FFF' cx='21.12' cy='20.54' rx='3.02' ry='3.42'/%3E%3C/g%3E%3Cg%3E%3Cpath d='M80.2 254.62c-10.37 1.94-16.1 1.71-24.3 1.71-8.56 0-42.4-13.03-53.32-27 0 0 16.94-4.19 16.94-7.73S.17 211.51.17 211.51s-2.93-16.34 17.8-32.66c20.74-16.32 36.26-24.06 53.7-24.97 17.43-.9 23.28-.9 23.28-.9s15.18-20.78 23.15-20.78c3.99 0 62.4 12.59 67.45 20.78 5.06 8.19 7.52 7.59 10.1 9.55 2.6 1.97.96.4 12.68 3.05 29.3 6.64 25.3 9.24 47.08 13.27 8.81 1.63 49.2-18.48 53-16.53 1.78.91 3.17 18.21-3.76 29.56-6.93 11.34 5.56 20.7-.05 34.91-5.61 14.2 6.43 24.73 3.82 29.54-2.62 4.8-45.5-15.74-53-14.25-7.52 1.48-30.47 12.67-77 19.73-16.74 2.54-33.85 2.16-48.94.68 3.96 7.66 3.1 15.34 3.1 15.34s-9.63 2.93-27.02-.8c-16.5-3.55-24.58-20.68-25.36-22.41z' fill='%23000'/%3E%3Cpath d='M80.62 176.4c.05.07.18.22.35.46a53.93 53.93 0 014.25 6.5c2.41 4.34 4 8.67 4.39 12.61.21 2.16.06 4.78-.42 7.75a71.28 71.28 0 01-2.38 9.75 97.99 97.99 0 01-2.94 8.08c-.8 1.86-.14 4.1 1.5 5.02 1.64.92 3.62.15 4.43-1.7a106.06 106.06 0 003.24-8.88 79.35 79.35 0 002.66-10.91c.59-3.64.78-6.98.48-9.95-.52-5.24-2.47-10.55-5.36-15.77a61.43 61.43 0 00-5.38-8.1 3.04 3.04 0 00-4.67-.16 4.12 4.12 0 00-.15 5.3zM111.24 175.76a3697.76 3697.76 0 0120.5 1.12c4.46.27 8.21.5 11.09.7 10.83.77 27.52 3.3 40.27 5.89 19.54 3.95 35.49 9.8 60.82 21.18l8.72 3.93c1.7.77 3.62-.17 4.3-2.1.67-1.92-.16-4.1-1.86-4.87l-8.73-3.94c-25.7-11.55-42.02-17.53-62.1-21.6-12.97-2.62-29.9-5.2-41.01-5.98a999.18 999.18 0 00-16.13-.99 3703.41 3703.41 0 00-22.13-1.18l-.5-.02c-2.55-.13-4.26 2.92-3.08 5.48l.27.62c.23.53.5 1.15.77 1.84.81 1.98 1.62 4.13 2.37 6.39a75.27 75.27 0 012.7 10.28c.23 1.2.4 2.36.5 3.46.32 3.2-.4 8.7-1.94 15.66-.54 2.46-1.18 5.06-1.89 7.73a266.87 266.87 0 01-3.97 13.48c-.64 1.94.22 4.1 1.93 4.84 1.71.73 3.62-.26 4.26-2.2a70 70 0 00.36-1.1c.28-.89.6-1.89.93-2.99.96-3.14 1.93-6.48 2.82-9.86.74-2.79 1.4-5.49 1.98-8.07 1.72-7.79 2.52-13.99 2.1-18.33-.14-1.33-.34-2.71-.6-4.13-.65-3.65-1.69-7.5-3-11.43-.44-1.33-.9-2.64-1.38-3.9l1.63.09z' fill='%23FFF' fill-rule='nonzero'/%3E%3Cg transform='matrix(-1 0 0 1 58.34 182.6)'%3E%3Cellipse fill='%23000' cx='14.48' cy='16.43' rx='14.48' ry='16.43'/%3E%3Cpath d='M28.96 16.62v-.19C28.96 7.36 22.48 0 14.48 0S0 7.36 0 16.43c0 9.08 6.48 16.44 14.48 16.44 7.17 0 13.12-5.9 14.28-13.66-1 5.83-5.53 10.24-10.96 10.24-6.16 0-11.16-5.68-11.16-12.67 0-7 5-12.67 11.16-12.67 6.12 0 11.09 5.58 11.16 12.5z' fill='%23FFF'/%3E%3Cellipse fill='%23FFF' cx='21.12' cy='20.54' rx='3.02' ry='3.42'/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}.tensorsite-icon--github--orange span::after{background-image:url("data:image/svg+xml;utf8,%3Csvg width='32' height='32' viewBox='0 0 22 22' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath d='M12 1C5.924 1 1 5.925 1 12c0 4.86 3.151 8.982 7.523 10.438.55.1.751-.24.751-.531 0-.26-.01-.953-.015-1.87-3.06.664-3.705-1.475-3.705-1.475-.5-1.271-1.222-1.609-1.222-1.609-.998-.683.076-.67.076-.67 1.104.08 1.685 1.135 1.685 1.135.981 1.68 2.574 1.195 3.201.914.1-.711.384-1.196.698-1.47-2.442-.278-5.01-1.222-5.01-5.437 0-1.2.429-2.183 1.132-2.952-.113-.278-.49-1.396.108-2.91 0 0 .924-.297 3.025 1.127a10.536 10.536 0 0 1 2.754-.371c.934.005 1.875.126 2.753.37 2.1-1.423 3.022-1.127 3.022-1.127.6 1.515.223 2.633.11 2.911.705.77 1.13 1.751 1.13 2.952 0 4.225-2.571 5.155-5.022 5.427.395.34.747 1.011.747 2.038 0 1.47-.014 2.656-.014 3.017 0 .294.198.637.757.53C19.85 20.977 23 16.858 23 12 23 5.925 18.075 1 12 1' id='a'/%3E%3C/defs%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg transform='translate(-1 -1)'%3E%3Cmask id='b' fill='%23ff6f00'%3E%3Cuse xlink:href='%23a'/%3E%3C/mask%3E%3Cuse fill='%23ff6f00' xlink:href='%23a'/%3E%3Cpath fill='%23ff6f00' fill-rule='nonzero' mask='url(%23b)' d='M0 0h24v24H0z'/%3E%3C/g%3E%3Cpath d='M-1-1h24v24H-1z'/%3E%3C/g%3E%3C/svg%3E")}.tensorsite-icon--github--slate span::after{background-image:url("data:image/svg+xml;utf8,%3Csvg width='32' height='32' viewBox='0 0 22 22' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath d='M12 1C5.924 1 1 5.925 1 12c0 4.86 3.151 8.982 7.523 10.438.55.1.751-.24.751-.531 0-.26-.01-.953-.015-1.87-3.06.664-3.705-1.475-3.705-1.475-.5-1.271-1.222-1.609-1.222-1.609-.998-.683.076-.67.076-.67 1.104.08 1.685 1.135 1.685 1.135.981 1.68 2.574 1.195 3.201.914.1-.711.384-1.196.698-1.47-2.442-.278-5.01-1.222-5.01-5.437 0-1.2.429-2.183 1.132-2.952-.113-.278-.49-1.396.108-2.91 0 0 .924-.297 3.025 1.127a10.536 10.536 0 0 1 2.754-.371c.934.005 1.875.126 2.753.37 2.1-1.423 3.022-1.127 3.022-1.127.6 1.515.223 2.633.11 2.911.705.77 1.13 1.751 1.13 2.952 0 4.225-2.571 5.155-5.022 5.427.395.34.747 1.011.747 2.038 0 1.47-.014 2.656-.014 3.017 0 .294.198.637.757.53C19.85 20.977 23 16.858 23 12 23 5.925 18.075 1 12 1' id='a'/%3E%3C/defs%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg transform='translate(-1 -1)'%3E%3Cmask id='b' fill='%23425066'%3E%3Cuse xlink:href='%23a'/%3E%3C/mask%3E%3Cuse fill='%23425066' xlink:href='%23a'/%3E%3Cpath fill='%23425066' fill-rule='nonzero' mask='url(%23b)' d='M0 0h24v24H0z'/%3E%3C/g%3E%3Cpath d='M-1-1h24v24H-1z'/%3E%3C/g%3E%3C/svg%3E")}.tensorsite-icon--github--white span::after{background-image:url("data:image/svg+xml;utf8,%3Csvg width='32' height='32' viewBox='0 0 22 22' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath d='M12 1C5.924 1 1 5.925 1 12c0 4.86 3.151 8.982 7.523 10.438.55.1.751-.24.751-.531 0-.26-.01-.953-.015-1.87-3.06.664-3.705-1.475-3.705-1.475-.5-1.271-1.222-1.609-1.222-1.609-.998-.683.076-.67.076-.67 1.104.08 1.685 1.135 1.685 1.135.981 1.68 2.574 1.195 3.201.914.1-.711.384-1.196.698-1.47-2.442-.278-5.01-1.222-5.01-5.437 0-1.2.429-2.183 1.132-2.952-.113-.278-.49-1.396.108-2.91 0 0 .924-.297 3.025 1.127a10.536 10.536 0 0 1 2.754-.371c.934.005 1.875.126 2.753.37 2.1-1.423 3.022-1.127 3.022-1.127.6 1.515.223 2.633.11 2.911.705.77 1.13 1.751 1.13 2.952 0 4.225-2.571 5.155-5.022 5.427.395.34.747 1.011.747 2.038 0 1.47-.014 2.656-.014 3.017 0 .294.198.637.757.53C19.85 20.977 23 16.858 23 12 23 5.925 18.075 1 12 1' id='a'/%3E%3C/defs%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg transform='translate(-1 -1)'%3E%3Cmask id='b' fill='%23ffffff%0A'%3E%3Cuse xlink:href='%23a'/%3E%3C/mask%3E%3Cuse fill='%23ffffff%0A' xlink:href='%23a'/%3E%3Cpath fill='%23ffffff%0A' fill-rule='nonzero' mask='url(%23b)' d='M0 0h24v24H0z'/%3E%3C/g%3E%3Cpath d='M-1-1h24v24H-1z'/%3E%3C/g%3E%3C/svg%3E")}.tensorsite-icon--google-ai span::after{background-image:url("data:image/svg+xml;utf8,%3Csvg width='24' height='22' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath d='M3.036 6.413c-.574 0-1.024.424-1.035.98-.013.564.465 1.035 1.042 1.027a1.015 1.015 0 0 0 1.012-1.014c.002-.554-.448-.993-1.019-.993m-.028 10.15c-.55.012-1.02.493-1.007 1.029a1.044 1.044 0 0 0 1.03 1.007 1.033 1.033 0 0 0 1.024-1.05 1.038 1.038 0 0 0-1.047-.987m.01-3.056a1.015 1.015 0 0 0 1.037-.99c.016-.559-.467-1.046-1.035-1.041A1.042 1.042 0 0 0 2 12.493a1.021 1.021 0 0 0 1.017 1.013m4.42 5.38c-.698-.007-1.22.498-1.226 1.184a1.19 1.19 0 0 0 1.196 1.223c.68.008 1.22-.517 1.227-1.193.007-.689-.505-1.21-1.197-1.215m-.04-12.769a1.192 1.192 0 0 0 1.237-1.184 1.174 1.174 0 0 0-1.186-1.227c-.702-.008-1.226.49-1.237 1.175a1.192 1.192 0 0 0 1.186 1.236m.049 7.723a1.206 1.206 0 0 0-1.235 1.223 1.214 1.214 0 0 0 1.208 1.217 1.214 1.214 0 0 0 1.216-1.21 1.205 1.205 0 0 0-1.189-1.23M7.422 8.72a1.186 1.186 0 0 0-1.21 1.209c0 .692.515 1.202 1.21 1.202.697 0 1.215-.514 1.213-1.203A1.187 1.187 0 0 0 7.422 8.72m4.41.123c.782-.005 1.43-.654 1.412-1.414a1.43 1.43 0 0 0-1.447-1.391 1.418 1.418 0 0 0-1.404 1.427c.012.79.63 1.383 1.44 1.378m1.41 8.698c.007-.769-.64-1.407-1.426-1.408-.785-.001-1.427.632-1.424 1.405a1.414 1.414 0 0 0 1.42 1.409 1.424 1.424 0 0 0 1.43-1.406M11.8 11.089a1.414 1.414 0 0 0-1.406 1.423 1.419 1.419 0 0 0 1.438 1.393 1.425 1.425 0 0 0 1.413-1.423c-.007-.77-.66-1.399-1.445-1.393m.033 10.08a1.436 1.436 0 0 0-1.439 1.402c-.012.77.627 1.42 1.405 1.429.777.009 1.43-.62 1.446-1.396.015-.752-.645-1.422-1.412-1.436M11.81 1c-.787 0-1.42.63-1.418 1.408A1.41 1.41 0 0 0 11.82 3.81c.793-.004 1.43-.635 1.425-1.412A1.416 1.416 0 0 0 11.811 1m4.349 17.487a1.624 1.624 0 0 0-1.658 1.62c-.008.957.692 1.673 1.637 1.676a1.648 1.648 0 0 0 1.675-1.656 1.651 1.651 0 0 0-1.654-1.64m.013-15.26c-.94-.008-1.655.679-1.671 1.602-.016.956.683 1.681 1.625 1.687.945.006 1.686-.715 1.687-1.642a1.64 1.64 0 0 0-1.641-1.647m-.013 10.2c-.94-.001-1.66.72-1.658 1.666.003.93.704 1.628 1.638 1.631.943.003 1.678-.723 1.674-1.654a1.663 1.663 0 0 0-1.654-1.642m1.654-3.486a1.673 1.673 0 0 0-1.669-1.675 1.635 1.635 0 0 0-1.643 1.644c-.005.945.718 1.679 1.652 1.673a1.667 1.667 0 0 0 1.66-1.642m2.666-.624c1.082.001 1.9-.805 1.901-1.875a1.88 1.88 0 0 0-1.897-1.895 1.873 1.873 0 0 0-1.899 1.89c-.006 1.069.81 1.878 1.895 1.88m.023 6.389c-1.088-.007-1.907.787-1.918 1.86a1.867 1.867 0 0 0 1.878 1.909c1.073.004 1.91-.81 1.918-1.868.01-1.069-.806-1.895-1.878-1.901m-1.918-3.19c-.003-1.068.818-1.886 1.894-1.887 1.075 0 1.902.817 1.902 1.882.001 1.066-.819 1.88-1.896 1.882-1.08.001-1.896-.806-1.9-1.877' id='a'/%3E%3C/defs%3E%3Cg transform='translate(0 -.5)' fill='none' fill-rule='evenodd'%3E%3Cpath d='M0 .5h24v24H0z'/%3E%3Cmask id='b' fill='%23C6CAD1'%3E%3Cuse xlink:href='%23a'/%3E%3C/mask%3E%3Cuse fill='%23C6CAD1' xlink:href='%23a'/%3E%3Cpath fill='%23C6CAD1' fill-rule='nonzero' mask='url(%23b)' d='M0 .5h24v24H0z'/%3E%3C/g%3E%3C/svg%3E")}.tensorsite-icon--google-ai.tensorsite-content__subtitle-icon span::after{top:-3px}.tensorsite-icon--group span::after{background-image:url("data:image/svg+xml;utf8,%3Csvg width='22' height='14' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath d='M16 11c1.66 0 2.99-1.34 2.99-3S17.66 5 16 5c-1.66 0-3 1.34-3 3s1.34 3 3 3zm-8 0c1.66 0 2.99-1.34 2.99-3S9.66 5 8 5C6.34 5 5 6.34 5 8s1.34 3 3 3zm0 2c-2.33 0-7 1.17-7 3.5V18c0 .55.45 1 1 1h12c.55 0 1-.45 1-1v-1.5c0-2.33-4.67-3.5-7-3.5zm8 0c-.29 0-.62.02-.97.05.02.01.03.03.04.04 1.14.83 1.93 1.94 1.93 3.41V18c0 .35-.07.69-.18 1H22c.55 0 1-.45 1-1v-1.5c0-2.33-4.67-3.5-7-3.5z' id='a'/%3E%3C/defs%3E%3Cg stroke-width='0' fill='none' fill-rule='evenodd'%3E%3Cg transform='translate(-1 -5)'%3E%3Cmask id='b' fill='%23425066'%3E%3Cuse xlink:href='%23a'/%3E%3C/mask%3E%3Cuse fill='%23425066' fill-rule='nonzero' xlink:href='%23a'/%3E%3Cpath fill='%23425066' fill-rule='nonzero' mask='url(%23b)' d='M0 0h24v24H0z'/%3E%3C/g%3E%3Cpath d='M-1-5h24v24H-1z'/%3E%3C/g%3E%3C/svg%3E")}.tensorsite-icon--internal span::before{background-image:url("data:image/svg+xml;utf8,%3Csvg width='16' height='16' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath d='M11.7 5.3l-5-5c-.4-.4-1-.4-1.4 0-.4.4-.4 1 0 1.4L8.6 5H1c-.6 0-1 .4-1 1s.4 1 1 1h7.6l-3.3 3.3c-.4.4-.4 1 0 1.4.4.4 1 .4 1.4 0l5-5c.4-.4.4-1 0-1.4z' id='a'/%3E%3C/defs%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg transform='translate(2 2)'%3E%3Cmask id='b' fill='%23ff6f00'%3E%3Cuse xlink:href='%23a'/%3E%3C/mask%3E%3Cuse fill='%23ff6f00' xlink:href='%23a'/%3E%3Cpath fill='%23ff6f00' fill-rule='nonzero' mask='url(%23b)' d='M0 0h12v12H0z'/%3E%3C/g%3E%3Cpath fill='none' d='M2 2h12v12H2z'/%3E%3C/g%3E%3C/svg%3E")}.tensorsite-icon--internal span::after{background-image:url("data:image/svg+xml;utf8,%3Csvg width='16' height='16' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath d='M11.7 5.3l-5-5c-.4-.4-1-.4-1.4 0-.4.4-.4 1 0 1.4L8.6 5H1c-.6 0-1 .4-1 1s.4 1 1 1h7.6l-3.3 3.3c-.4.4-.4 1 0 1.4.4.4 1 .4 1.4 0l5-5c.4-.4.4-1 0-1.4z' id='a'/%3E%3C/defs%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg transform='translate(2 2)'%3E%3Cmask id='b' fill='%23425066'%3E%3Cuse xlink:href='%23a'/%3E%3C/mask%3E%3Cuse fill='%23425066' xlink:href='%23a'/%3E%3Cpath fill='%23425066' fill-rule='nonzero' mask='url(%23b)' d='M0 0h12v12H0z'/%3E%3C/g%3E%3Cpath fill='none' d='M2 2h12v12H2z'/%3E%3C/g%3E%3C/svg%3E")}.tensorsite-icon--mailbox span::after{background-image:url("data:image/svg+xml;utf8,%3Csvg width='20' height='16' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath d='M18 0H2C.9 0 0 .9 0 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V2c0-1.1-.9-2-2-2zm-.4 4.25l-6.54 4.09c-.65.41-1.47.41-2.12 0L2.4 4.25a.85.85 0 1 1 .9-1.44L10 7l6.7-4.19a.85.85 0 1 1 .9 1.44z' id='a'/%3E%3C/defs%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cmask id='b' fill='%23425066'%3E%3Cuse xlink:href='%23a'/%3E%3C/mask%3E%3Cuse fill='%23425066' fill-rule='nonzero' xlink:href='%23a'/%3E%3Cpath fill='%23425066' fill-rule='nonzero' mask='url(%23b)' d='M-2-4h24v24H-2z'/%3E%3C/g%3E%3C/svg%3E")}.tensorsite-icon--math span::before{background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.75 7.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0m.75 2.75a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5m2-1.5h-4a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1M4.444 7.556a.499.499 0 0 0-.707 0L2.5 8.793 1.263 7.556a.499.499 0 0 0-.707 0 .499.499 0 0 0 0 .707L1.793 9.5.556 10.737a.499.499 0 0 0 0 .707.499.499 0 0 0 .707 0L2.5 10.207l1.237 1.237a.499.499 0 0 0 .707 0 .499.499 0 0 0 0-.707L3.207 9.5l1.237-1.237a.499.499 0 0 0 0-.707M7.5 3h4a.5.5 0 0 0 0-1h-4a.5.5 0 0 0 0 1M5 2.5a.5.5 0 0 1-.5.5H3v1.5a.5.5 0 0 1-1 0V3H.5a.5.5 0 0 1 0-1H2V.5a.5.5 0 0 1 1 0V2h1.5a.5.5 0 0 1 .5.5' fill='%23425066' fill-rule='evenodd'/%3E%3C/svg%3E")}.tensorsite-icon--math span::after{background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.75 7.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0m.75 2.75a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5m2-1.5h-4a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1M4.444 7.556a.499.499 0 0 0-.707 0L2.5 8.793 1.263 7.556a.499.499 0 0 0-.707 0 .499.499 0 0 0 0 .707L1.793 9.5.556 10.737a.499.499 0 0 0 0 .707.499.499 0 0 0 .707 0L2.5 10.207l1.237 1.237a.499.499 0 0 0 .707 0 .499.499 0 0 0 0-.707L3.207 9.5l1.237-1.237a.499.499 0 0 0 0-.707M7.5 3h4a.5.5 0 0 0 0-1h-4a.5.5 0 0 0 0 1M5 2.5a.5.5 0 0 1-.5.5H3v1.5a.5.5 0 0 1-1 0V3H.5a.5.5 0 0 1 0-1H2V.5a.5.5 0 0 1 1 0V2h1.5a.5.5 0 0 1 .5.5' fill='%23ffffff%0A' fill-rule='evenodd'/%3E%3C/svg%3E")}.tensorsite-icon--blog span::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpolygon points='0 0 24 0 24 24 0 24'/%3E%3Cpath fill='%23425066' fill-rule='nonzero' d='M21,11.01 L3,11 L3,13 L21,13 L21,11.01 Z M3,16 L15,16 L15,18 L3,18 L3,16 Z M21,6 L3,6 L3,8.01 L21,8 L21,6 Z'/%3E%3C/g%3E%3C/svg%3E%0A")}.tensorsite-icon--next span::before{background-image:url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.418 7.01h11.17l-4.88-4.88c-.39-.39-.39-1.03 0-1.42a.996.996 0 0 1 1.41 0l6.59 6.59c.39.39.39 1.02 0 1.41l-6.59 6.59a.996.996 0 1 1-1.41-1.41l4.88-4.88H1.417c-.55 0-1-.45-1-1s.45-1 1-1z' fill='%23ff6f00' fill-rule='nonzero'/%3E%3C/svg%3E")}.tensorsite-icon--next span::after{background-image:url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.418 7.01h11.17l-4.88-4.88c-.39-.39-.39-1.03 0-1.42a.996.996 0 0 1 1.41 0l6.59 6.59c.39.39.39 1.02 0 1.41l-6.59 6.59a.996.996 0 1 1-1.41-1.41l4.88-4.88H1.417c-.55 0-1-.45-1-1s.45-1 1-1z' fill='%23425066' fill-rule='nonzero'/%3E%3C/svg%3E")}.tensorsite-icon--newsletter::before{background:center/contain no-repeat url("data:image/svg+xml;utf8,%3Csvg width='20' height='16' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath d='M18 0H2C.9 0 0 .9 0 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V2c0-1.1-.9-2-2-2zm-.4 4.25l-6.54 4.09c-.65.41-1.47.41-2.12 0L2.4 4.25a.85.85 0 1 1 .9-1.44L10 7l6.7-4.19a.85.85 0 1 1 .9 1.44z' id='a'/%3E%3C/defs%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cmask id='b' fill='%23ff6f00'%3E%3Cuse xlink:href='%23a'/%3E%3C/mask%3E%3Cuse fill='%23ff6f00' fill-rule='nonzero' xlink:href='%23a'/%3E%3Cpath fill='%23ff6f00' fill-rule='nonzero' mask='url(%23b)' d='M-2-4h24v24H-2z'/%3E%3C/g%3E%3C/svg%3E");content:'\00a0';display:inline-block;height:20px;margin-right:7px;width:20px}.tensorsite-icon--previous span::before{background-image:url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath d='M15 7H3.83l4.88-4.88c.39-.39.39-1.03 0-1.42A.996.996 0 0 0 7.3.7L.71 7.29a.996.996 0 0 0 0 1.41l6.59 6.59a.996.996 0 1 0 1.41-1.41L3.83 9H15c.55 0 1-.45 1-1s-.45-1-1-1z' id='a'/%3E%3C/defs%3E%3Cuse fill='%23ff6f00' transform='matrix(1 0 0 -1 -.417 15.99)' xlink:href='%23a' fill-rule='evenodd'/%3E%3C/svg%3E")}.tensorsite-icon--previous span::after{background-image:url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath d='M15 7H3.83l4.88-4.88c.39-.39.39-1.03 0-1.42A.996.996 0 0 0 7.3.7L.71 7.29a.996.996 0 0 0 0 1.41l6.59 6.59a.996.996 0 1 0 1.41-1.41L3.83 9H15c.55 0 1-.45 1-1s-.45-1-1-1z' id='a'/%3E%3C/defs%3E%3Cuse fill='%23425066' transform='matrix(1 0 0 -1 -.417 15.99)' xlink:href='%23a' fill-rule='evenodd'/%3E%3C/svg%3E")}.tensorsite-icon--product-hub span::after{background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 385.34 385.34' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3ClinearGradient id='a' gradientTransform='matrix(1 0 0 -1 -107.33 494.67)' gradientUnits='userSpaceOnUse' x1='144.09' x2='431.73' y1='302' y2='302'%3E%3Cstop offset='0' stop-color='%23425066'/%3E%3Cstop offset='1' stop-color='%23425066'/%3E%3C/linearGradient%3E%3Ccircle cx='192.67' cy='192.67' fill='url(%23a)' r='192.67'/%3E%3Cg fill='%23fff'%3E%3Cpath d='m285.6 234.34-40.94-23.64-10.09 17.48 41.2 23.78v19.6l27.33 15.78 27.32-15.78v-31.55l-27.32-15.78z'/%3E%3Cpath d='m203.39 247.18h-20.18v46.51l-17.24 9.95v31.55l27.33 15.78 27.33-15.78v-31.55l-17.24-9.95z'/%3E%3Cpath d='m101.53 233.96-17.65-10.19-27.33 15.78v31.55l27.33 15.77 27.33-15.77v-19.42l40.74-23.53-10.09-17.47z'/%3E%3Cpath d='m220.61 51.01v31.56l-17.2 9.99v40.74l-10.13-5.85-10.07 5.78v-40.67l-17.2-9.99v-31.56l27.27-15.77z'/%3E%3Cpath d='m149.48 165.6-5.85 10.06-16.32-9.45-25.7-14.83-17.14 9.93-27.33-15.77v-31.56l27.33-15.77 27.34 15.77v20l23.6 13.6 11.42 6.66-8.5 4.9z'/%3E%3Cpath d='m330.44 114.12v31.55l-27.34 15.78-17.82-10.27-26.11 15.1h-.07l-16.18 9.38-5.85-10.06-.14-.28 11.02-6.32-8.3-4.76 11.43-6.66 24.68-14.22v-19.24l27.34-15.78z'/%3E%3Cpath d='m358.41 254.91-47.67-27.48-10.2-5.91-10 5.78-47.81 27.61-8.09 4.69v76.09l12.11 7 43.79 25.31 10 5.78 10.2-5.91 43.65-25.16 12.11-7v-76.11zm-14.15 17.75-43.72 25.22v.28l-43.73-25.23-11.15-6.46 8.5-4.9 36.38-21 10.07-5.78 10.13 5.85 36.26 20.93 8.3 4.76z' transform='translate(-107.33 -107.33)'/%3E%3C/g%3E%3C/svg%3E")}.tensorsite-icon--phone::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath d='M-2-2h16v16H-2z'/%3E%3Cpath fill='%23425066' fill-rule='nonzero' d='M2.4133 5.1933C3.3733 7.08 4.92 8.62 6.8067 9.5867L8.2733 8.12c.18-.18.4467-.24.68-.16.7467.2467 1.5534.38 2.38.38.3667 0 .6667.3.6667.6667v2.3266c0 .3667-.3.6667-.6667.6667C5.0733 12 0 6.9267 0 .6667 0 .3.3 0 .6667 0H3c.3667 0 .6667.3.6667.6667 0 .8333.1333 1.6333.38 2.38.0733.2333.02.4933-.1667.68L2.4133 5.1933z'/%3E%3C/g%3E%3C/svg%3E")}.tensorsite-icon--puzzle-build::before{background-image:url("data:image/svg+xml,%3Csvg width='36' height='36' viewBox='0 0 36 36' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath d='M0 36h36V0H0z'/%3E%3Cpath d='M34.935 18.52a1.98 1.98 0 0 1-1.337 1.39 1.979 1.979 0 0 1-1.796-.32.5.5 0 0 0-.802.398V30.5a.5.5 0 0 1-.5.5h-20A5.506 5.506 0 0 1 5 25.5v-20c0-.276.224-.5.5-.5h9.677a3.021 3.021 0 0 0-.046 1.883 2.999 2.999 0 0 0 2.108 2.023 3.026 3.026 0 0 0 2.607-.542A2.982 2.982 0 0 0 20.826 5H30.5a.5.5 0 0 1 .5.5v10.513c0 .19.108.363.277.447.17.085.373.067.524-.049.866-.656 2.128-.469 2.776.358.382.49.513 1.128.358 1.752zm.43-2.366c-.785-1.005-2.181-1.406-3.366-.98V5.5c0-.826-.671-1.5-1.5-1.5H19.99a.503.503 0 0 0-.45.278.504.504 0 0 0 .05.524c.27.356.41.77.41 1.199 0 .62-.28 1.194-.768 1.577a2.02 2.02 0 0 1-1.75.359 1.978 1.978 0 0 1-1.392-1.338 1.976 1.976 0 0 1 .322-1.796.497.497 0 0 0 .047-.524.499.499 0 0 0-.446-.278H5.5C4.673 4 4 4.672 4 5.5v20c0 3.584 2.915 6.5 6.5 6.5h20a1.5 1.5 0 0 0 1.5-1.5v-9.677a3.028 3.028 0 0 0 1.883.046 2.997 2.997 0 0 0 2.023-2.108 3.022 3.022 0 0 0-.541-2.607zM16.998 18h1v-1h-1v1zm1-2h-1a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1zm3-2h1v-1h-1v1zm1-2h-1a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1zm-1 6h1v-1h-1v1zm1-2h-1a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1zm-1 6h1v-1h-1v1zm1-2h-1a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1zm-9 2h1v-1h-1v1zm1-2h-1a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1zm3 2h1v-1h-1v1zm1-2h-1a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1z' fill='%23425066'/%3E%3C/g%3E%3C/svg%3E")}.tensorsite-icon--puzzle-code::before{background-image:url("data:image/svg+xml,%3Csvg width='36' height='36' viewBox='0 0 36 36' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath d='M0 36h36V0H0z'/%3E%3Cpath d='M27.094 17.24a2.996 2.996 0 0 1 2.022-2.109 2.983 2.983 0 0 1 1.884.043V5.5a.5.5 0 0 0-.5-.5h-20A5.506 5.506 0 0 0 5 10.5v20a.5.5 0 0 0 .5.5h10.511a.5.5 0 0 1 .4.802 1.97 1.97 0 0 0-.32 1.796 1.973 1.973 0 0 0 1.39 1.337 2.026 2.026 0 0 0 1.75-.359c.488-.382.77-.957.77-1.576 0-.429-.143-.844-.41-1.198a.5.5 0 0 1 .398-.802H30.5a.5.5 0 0 0 .5-.5v-9.675c-1.18.427-2.579.026-3.364-.979a3.02 3.02 0 0 1-.542-2.607zm.971.24a2.028 2.028 0 0 0 .358 1.75c.647.83 1.91 1.016 2.775.36a.5.5 0 0 1 .802.398V30.5c0 .827-.673 1.5-1.5 1.5h-9.676a2.987 2.987 0 0 1-.977 3.364 2.993 2.993 0 0 1-1.85.635c-.252 0-.506-.03-.758-.093A2.992 2.992 0 0 1 15.177 32H5.5c-.827 0-1.5-.673-1.5-1.5v-20C4 6.916 6.916 4 10.5 4h20c.827 0 1.5.673 1.5 1.5v10.511a.5.5 0 0 1-.802.4 1.979 1.979 0 0 0-1.797-.32 1.974 1.974 0 0 0-1.336 1.388zm-8.19-4.312a.5.5 0 0 0-.749.664L22.831 18l-3.705 4.168a.5.5 0 1 0 .748.664l4-4.5a.5.5 0 0 0 0-.664l-4-4.5zm-3 .664L13.168 18l3.705 4.168a.501.501 0 0 1-.748.664l-4-4.5a.5.5 0 0 1 0-.664l4-4.5a.5.5 0 1 1 .748.664z' fill='%23425066'/%3E%3C/g%3E%3C/svg%3E")}.tensorsite-icon--puzzle-math::before{background-image:url("data:image/svg+xml,%3Csvg width='36' height='36' viewBox='0 0 36 36' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath d='M0 36h36V0H0z'/%3E%3Cpath d='M31 10.5C31 7.468 28.532 5 25.5 5h-20c-.275 0-.5.225-.5.5v10.512a.499.499 0 0 1-.802.398 1.982 1.982 0 0 0-1.797-.32 1.979 1.979 0 0 0-1.337 1.389 2.031 2.031 0 0 0 .36 1.752c.646.829 1.909 1.014 2.774.359a.5.5 0 0 1 .802.398V30.5c0 .275.225.5.5.5h9.675a2.983 2.983 0 0 1 .978-3.364 3.02 3.02 0 0 1 2.608-.542 3 3 0 0 1 2.108 2.022A3.014 3.014 0 0 1 20.823 31H30.5c.275 0 .5-.225.5-.5v-20zm1 0v20c0 .827-.673 1.5-1.5 1.5H19.988a.499.499 0 0 1-.398-.802c.395-.522.51-1.161.32-1.797a1.978 1.978 0 0 0-1.39-1.337 2.025 2.025 0 0 0-1.75.36c-.49.382-.77.957-.77 1.576 0 .43.142.844.41 1.198a.501.501 0 0 1-.398.802H5.5c-.827 0-1.5-.673-1.5-1.5v-9.675c-1.184.427-2.58.027-3.364-.978a3.021 3.021 0 0 1-.542-2.608 2.996 2.996 0 0 1 2.022-2.108A3.021 3.021 0 0 1 4 15.177V5.5C4 4.673 4.673 4 5.5 4h20c3.584 0 6.5 2.916 6.5 6.5zm-9.75 9.25a.75.75 0 1 0-1.501 0 .75.75 0 0 0 1.5 0zM23.5 21h-4a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1zm0-7h-4a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1zm-7.056 5.556a.499.499 0 0 0-.707 0L14.5 20.793l-1.237-1.237a.499.499 0 0 0-.707 0 .499.499 0 0 0 0 .707l1.237 1.237-1.237 1.237a.499.499 0 0 0 0 .707.499.499 0 0 0 .707 0l1.237-1.237 1.237 1.237a.499.499 0 0 0 .707 0 .499.499 0 0 0 0-.707L15.207 21.5l1.237-1.237a.499.499 0 0 0 0-.707zM21.5 22.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5zm-4.5-8a.5.5 0 0 1-.5.5H15v1.5a.5.5 0 0 1-1 0V15h-1.5a.5.5 0 0 1 0-1H14v-1.5a.5.5 0 0 1 1 0V14h1.5a.5.5 0 0 1 .5.5z' fill='%23425066'/%3E%3C/g%3E%3C/svg%3E")}.tensorsite-icon--puzzle-theory::before{background-image:url("data:image/svg+xml,%3Csvg width='36' height='36' viewBox='0 0 36 36' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath d='M0 36h36V0H0z'/%3E%3Cpath d='M31 5.5c0-.275-.225-.5-.5-.5H19.988a.499.499 0 0 1-.398-.802c.395-.522.51-1.161.32-1.797a1.979 1.979 0 0 0-1.389-1.337 2.023 2.023 0 0 0-1.752.36A1.988 1.988 0 0 0 16 3c0 .43.142.844.41 1.198a.501.501 0 0 1-.398.802H5.5c-.275 0-.5.225-.5.5v9.675c1.183-.427 2.579-.027 3.364.978.574.734.772 1.684.542 2.608a3 3 0 0 1-2.022 2.108A3.02 3.02 0 0 1 5 20.823V30.5c0 .275.225.5.5.5h20c3.032 0 5.5-2.468 5.5-5.5v-20zm1 0v20c0 3.584-2.916 6.5-6.5 6.5h-20c-.827 0-1.5-.673-1.5-1.5V19.988a.499.499 0 0 1 .802-.398 1.978 1.978 0 0 0 1.797.32 1.978 1.978 0 0 0 1.337-1.39 2.028 2.028 0 0 0-.36-1.75c-.646-.83-1.909-1.016-2.774-.36A.501.501 0 0 1 4 16.012V5.5C4 4.673 4.673 4 5.5 4h9.675a2.981 2.981 0 0 1 .978-3.364 3.025 3.025 0 0 1 2.608-.542 2.996 2.996 0 0 1 2.108 2.022A3.014 3.014 0 0 1 20.823 4H30.5c.827 0 1.5.673 1.5 1.5zM23.5 13h-11a.5.5 0 0 0 0 1h11a.5.5 0 0 0 0-1zm0 6h-11a.5.5 0 0 0 0 1h11a.5.5 0 0 0 0-1zm-6 3h-5a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1zm6.5-5.5a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1 0-1h11a.5.5 0 0 1 .5.5z' fill='%23425066'/%3E%3C/g%3E%3C/svg%3E")}.tensorsite-icon--wechat span::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' x='0' y='0' viewBox='0 0 24 24' xml:space='preserve'%3E%3Cg%3E%3Cpath fill='none' d='M0 0h24v24H0z'/%3E%3Cg%3E%3Cpath fill='%23425066' d='M9.09 3.02c.01 0 .03.01.04.01.21.01.41.02.62.04.25.03.5.07.75.11.32.05.63.13.93.22.36.11.71.23 1.05.38.13.06.26.11.38.18.49.24.95.53 1.37.86.16.13.32.26.48.4.13.11.25.23.37.36.22.23.42.47.6.73.12.18.24.35.34.54.17.29.31.6.42.92.08.23.15.46.2.7v.03c-.06-.01-.12-.01-.18-.02-.29-.03-.58-.04-.87-.02-.49.02-.97.09-1.45.21-.4.1-.78.23-1.15.4-.51.23-.98.52-1.41.86-.25.2-.48.41-.69.65-.3.32-.56.67-.78 1.04-.2.33-.36.68-.49 1.05-.12.34-.21.69-.26 1.05-.03.2-.06.39-.06.58 0 .19-.02.38-.01.56.01.24.03.48.08.71.04.2.09.41.14.61 0 .02.01.03.01.05v.02c-.04 0-.07.01-.11.01-.07 0-.15.01-.22.01-.15 0-.3.01-.45.01-.22 0-.44-.01-.66-.04-.2-.02-.4-.05-.6-.08-.25-.04-.5-.09-.75-.14l-.6-.12c-.03-.01-.06 0-.09.01l-1.62.81c-.22.11-.45.22-.67.34-.11.06-.23.12-.34.17-.01.01-.02.01-.03.02h-.01v-.01-.02c.25-.77.51-1.53.76-2.3v-.01c-.08-.06-.16-.11-.23-.17-.17-.14-.34-.27-.51-.41-.25-.2-.48-.43-.71-.67-.27-.28-.51-.59-.72-.92-.1-.15-.19-.31-.28-.47-.16-.28-.28-.58-.38-.89-.09-.28-.16-.57-.2-.86-.02-.14-.03-.28-.05-.42-.01-.05-.01-.11-.02-.16 0-.01-.01-.02-.01-.03C1 9.74 1 9.57 1 9.4c.01 0 .02-.01.02-.02 0-.06.01-.12.01-.18.01-.12.02-.23.04-.35.04-.34.12-.68.23-1.01.13-.4.31-.79.52-1.15.28-.48.62-.92 1.01-1.31.14-.14.3-.28.45-.41.17-.14.34-.27.51-.4.29-.22.6-.41.92-.57.38-.2.76-.36 1.16-.5.36-.12.73-.22 1.1-.3.29-.06.59-.1.88-.13.2-.02.41-.03.62-.04.02 0 .03-.01.04-.01h.58zm2.57 3.32c-.3.01-.63.12-.88.4-.19.2-.26.44-.21.71.04.24.18.43.37.58.27.2.58.28.92.24.39-.05.66-.25.78-.63.07-.22.07-.45 0-.67-.07-.22-.2-.39-.4-.5-.16-.09-.34-.13-.58-.13zm-5.43 0c-.05.01-.14.01-.22.03-.29.06-.54.19-.72.42-.17.21-.23.46-.16.72.06.26.22.44.44.58.26.15.53.22.83.18.34-.03.6-.2.75-.51.13-.29.13-.58.01-.88-.05-.12-.12-.22-.22-.3-.19-.17-.42-.23-.71-.24z'/%3E%3Cpath fill='%23425066' d='M20.86 20.98c-.04-.03-.08-.05-.12-.08-.25-.14-.51-.28-.76-.42-.24-.13-.48-.26-.73-.4-.16-.09-.31-.17-.47-.26-.04-.02-.07-.02-.11-.01-.28.07-.55.14-.83.2-.28.06-.56.11-.84.14-.2.02-.4.03-.6.03-.21-.01-.43 0-.64-.02-.39-.03-.77-.08-1.14-.18-.22-.05-.43-.11-.65-.18-.23-.08-.46-.17-.68-.26-.26-.11-.5-.24-.74-.39-.26-.16-.51-.33-.75-.53-.22-.18-.43-.38-.62-.59-.3-.32-.56-.68-.78-1.07-.2-.37-.36-.76-.47-1.17-.06-.24-.11-.51-.14-.79-.02-.22-.03-.44-.02-.66.02-.35.06-.7.15-1.04.08-.3.18-.58.3-.86.19-.41.43-.79.71-1.14.1-.12.2-.24.31-.35.13-.13.25-.26.39-.38.22-.2.45-.37.7-.53.26-.18.54-.33.82-.47.36-.17.74-.31 1.12-.42.36-.1.72-.17 1.08-.22.14-.02.28-.03.42-.04.13-.01.25-.01.38-.02.09 0 .18-.01.27-.01l.54.03c.32.02.63.07.93.13.28.06.56.13.83.23.27.09.54.2.8.33.45.21.87.47 1.26.77.16.12.3.25.45.38.08.07.15.14.22.21.19.19.36.4.52.61.17.23.33.48.46.74.19.37.34.75.43 1.15.05.22.1.44.11.67 0 .01.01.02.01.03v.77c0 .01-.01.02-.01.03-.01.25-.07.49-.13.73-.1.37-.25.71-.44 1.04-.16.28-.34.55-.54.81-.16.2-.32.39-.5.57-.14.14-.28.27-.42.4l-.39.33c-.09.07-.18.14-.27.22.01.03.01.05.02.08.03.11.07.22.1.33l.24.81c.07.24.15.49.22.73.01-.01 0-.01 0-.01zM14.29 12c-.11 0-.2.02-.28.05-.17.07-.3.18-.4.33-.11.17-.16.35-.11.54.08.28.26.47.53.58.12.05.24.05.36.03.29-.04.53-.15.7-.39.13-.18.16-.39.08-.6-.06-.14-.15-.26-.27-.35-.18-.13-.4-.18-.61-.19zm4.31 1.55c.05-.01.15-.02.25-.05.23-.06.42-.19.55-.4.08-.13.11-.27.09-.42-.04-.25-.2-.42-.41-.55-.14-.08-.3-.12-.46-.14-.13-.01-.25.01-.37.07-.18.09-.31.22-.4.38-.09.15-.11.32-.06.49.05.18.15.31.29.43.13.12.29.19.52.19z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}.tensorsite-icon--share span::after{background-image:url("data:image/svg+xml;utf8,%3Csvg width='24' height='24' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath d='M18 19H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h5c.55 0 1-.45 1-1s-.45-1-1-1H5a2 2 0 0 0-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-6c0-.55-.45-1-1-1s-1 .45-1 1v5c0 .55-.45 1-1 1zM14 4c0 .55.45 1 1 1h2.59l-9.13 9.13a.996.996 0 1 0 1.41 1.41L19 6.41V9c0 .55.45 1 1 1s1-.45 1-1V4c0-.55-.45-1-1-1h-5c-.55 0-1 .45-1 1z' id='a'/%3E%3C/defs%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cmask id='b' fill='%23fff'%3E%3Cuse xlink:href='%23a'/%3E%3C/mask%3E%3Cuse fill-rule='nonzero' xlink:href='%23a'/%3E%3Cpath fill='%23425066' fill-rule='nonzero' mask='url(%23b)' d='M0 0h24v24H0z'/%3E%3Cpath d='M0 0h24v24H0z'/%3E%3C/g%3E%3C/svg%3E%0A")}.tensorsite-icon--stackoverflow span::after{background-image:url("data:image/svg+xml;utf8,%3Csvg width='24' height='24' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath d='M6.715 14.673l10.154 2.167.43-2.085L7.145 12.59l-.43 2.084zm1.343-4.937l9.402 4.47.86-1.92L8.918 7.79l-.86 1.947zm2.606-4.717l7.978 6.774 1.316-1.618-7.978-6.774-1.316 1.618zM15.82 0l-1.665 1.262 6.178 8.502L22 8.502 15.821 0zM6.5 19.5v-2.112h10.37V19.5H6.5zm12.395 2.382V15.5H21V24H2v-8.5h2.105v6.382h14.79z' id='a'/%3E%3C/defs%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg transform='translate(-2)'%3E%3Cmask id='b' fill='%23fff'%3E%3Cuse xlink:href='%23a'/%3E%3C/mask%3E%3Cuse fill-rule='nonzero' xlink:href='%23a'/%3E%3Cpath fill='%23425066' fill-rule='nonzero' mask='url(%23b)' d='M0 0h24v24H0z'/%3E%3C/g%3E%3Cpath d='M-2 0h24v24H-2z'/%3E%3C/g%3E%3C/svg%3E%0A")}.tensorsite-icon--theory span::before{background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath d='M0 12h12V0H0z'/%3E%3Cpath d='M.5 11h5a.5.5 0 0 0 0-1h-5a.5.5 0 0 0 0 1m0-3h11a.5.5 0 0 0 0-1H.5a.5.5 0 0 0 0 1m0-3h11a.5.5 0 0 0 0-1H.5a.5.5 0 0 0 0 1M0 1.5A.5.5 0 0 1 .5 1h11a.5.5 0 0 1 0 1H.5a.5.5 0 0 1-.5-.5' fill='%23425066'/%3E%3C/g%3E%3C/svg%3E")}.tensorsite-icon--theory span::after{background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath d='M0 12h12V0H0z'/%3E%3Cpath d='M.5 11h5a.5.5 0 0 0 0-1h-5a.5.5 0 0 0 0 1m0-3h11a.5.5 0 0 0 0-1H.5a.5.5 0 0 0 0 1m0-3h11a.5.5 0 0 0 0-1H.5a.5.5 0 0 0 0 1M0 1.5A.5.5 0 0 1 .5 1h11a.5.5 0 0 1 0 1H.5a.5.5 0 0 1-.5-.5' fill='%23ffffff%0A'/%3E%3C/g%3E%3C/svg%3E")}.tensorsite-icon--twitter span::after{background-image:url("data:image/svg+xml;utf8,%3Csvg width='22' height='18' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath d='M22.208 3.333a8.848 8.848 0 0 1-2.843 1.1A4.433 4.433 0 0 0 16.099 3c-2.47 0-4.473 2.035-4.473 4.544 0 .356.039.702.115 1.035-3.718-.19-7.015-1.997-9.223-4.75a4.592 4.592 0 0 0-.606 2.288 4.56 4.56 0 0 0 1.991 3.781 4.425 4.425 0 0 1-2.028-.566v.055c0 2.203 1.543 4.04 3.591 4.456a4.401 4.401 0 0 1-2.021.08c.57 1.804 2.221 3.118 4.18 3.154a8.89 8.89 0 0 1-5.558 1.945c-.36 0-.718-.02-1.067-.062A12.542 12.542 0 0 0 7.86 21c8.23 0 12.73-6.923 12.73-12.928 0-.198-.004-.395-.011-.59a9.127 9.127 0 0 0 2.23-2.351 8.83 8.83 0 0 1-2.569.715 4.542 4.542 0 0 0 1.968-2.513' id='a'/%3E%3C/defs%3E%3Cg transform='translate(-1 -3)' fill='none' fill-rule='evenodd'%3E%3Cmask id='b' fill='%23425066'%3E%3Cuse xlink:href='%23a'/%3E%3C/mask%3E%3Cuse fill='%23425066' xlink:href='%23a'/%3E%3Cpath fill='%23425066' fill-rule='nonzero' mask='url(%23b)' d='M0 0h24v24H0z'/%3E%3C/g%3E%3C/svg%3E")}.tensorsite-icon--website::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath d='M-1-1h16v16H-1z'/%3E%3Cpath fill='%23425066' fill-rule='nonzero' d='M6.9933.3333C3.3133.3333.3333 3.32.3333 7c0 3.68 2.98 6.6667 6.66 6.6667 3.6867 0 6.6734-2.9867 6.6734-6.6667 0-3.68-2.9867-6.6667-6.6734-6.6667zm4.62 4H9.6467C9.4333 3.5 9.1267 2.7 8.7267 1.96c1.2266.42 2.2466 1.2733 2.8866 2.3733zM7 1.6933c.5533.8.9867 1.6867 1.2733 2.64H5.7267c.2866-.9533.72-1.84 1.2733-2.64zm-5.16 6.64C1.7333 7.9067 1.6667 7.46 1.6667 7c0-.46.0666-.9067.1733-1.3333h2.2533C4.04 6.1067 4 6.5467 4 7c0 .4533.04.8933.0933 1.3333H1.84zm.5467 1.3334h1.9666c.2134.8333.52 1.6333.92 2.3733a5.3245 5.3245 0 0 1-2.8866-2.3733zm1.9666-5.3334H2.3867A5.3245 5.3245 0 0 1 5.2733 1.96c-.4.74-.7066 1.54-.92 2.3733zM7 12.3067c-.5533-.8-.9867-1.6867-1.2733-2.64h2.5466c-.2866.9533-.72 1.84-1.2733 2.64zm1.56-3.9734H5.44c-.06-.44-.1067-.88-.1067-1.3333 0-.4533.0467-.9.1067-1.3333h3.12c.06.4333.1067.88.1067 1.3333 0 .4533-.0467.8933-.1067 1.3333zm.1667 3.7067c.4-.74.7066-1.54.92-2.3733h1.9666c-.64 1.1-1.66 1.9533-2.8866 2.3733zm1.18-3.7067C9.96 7.8933 10 7.4533 10 7c0-.4533-.04-.8933-.0933-1.3333H12.16c.1067.4266.1733.8733.1733 1.3333 0 .46-.0666.9067-.1733 1.3333H9.9067z'/%3E%3C/g%3E%3C/svg%3E")}.tensorsite-icon--video span::before{background-image:url("data:image/svg+xml;utf8,%3Csvg width='16' height='16' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath d='M6.8 4.1l4.7 3.5c.3.2.3.6 0 .8l-4.7 3.5c-.3.3-.8 0-.8-.4v-7c0-.4.5-.7.8-.4zM8 0c4.4 0 8 3.6 8 8s-3.6 8-8 8-8-3.6-8-8 3.6-8 8-8zm0 14c3.3 0 6-2.7 6-6s-2.7-6-6-6-6 2.7-6 6 2.7 6 6 6z' id='a'/%3E%3C/defs%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cmask id='b' fill='%23ff6f00'%3E%3Cuse xlink:href='%23a'/%3E%3C/mask%3E%3Cuse fill='%23ff6f00' xlink:href='%23a'/%3E%3Cpath fill='%23ff6f00' fill-rule='nonzero' mask='url(%23b)' d='M0 0h16v16H0z'/%3E%3C/g%3E%3C/svg%3E")}.tensorsite-icon--video span::after{background-image:url("data:image/svg+xml;utf8,%3Csvg width='16' height='16' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath d='M6.8 4.1l4.7 3.5c.3.2.3.6 0 .8l-4.7 3.5c-.3.3-.8 0-.8-.4v-7c0-.4.5-.7.8-.4zM8 0c4.4 0 8 3.6 8 8s-3.6 8-8 8-8-3.6-8-8 3.6-8 8-8zm0 14c3.3 0 6-2.7 6-6s-2.7-6-6-6-6 2.7-6 6 2.7 6 6 6z' id='a'/%3E%3C/defs%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cmask id='b' fill='%23425066'%3E%3Cuse xlink:href='%23a'/%3E%3C/mask%3E%3Cuse fill='%23425066' xlink:href='%23a'/%3E%3Cpath fill='%23425066' fill-rule='nonzero' mask='url(%23b)' d='M0 0h16v16H0z'/%3E%3C/g%3E%3C/svg%3E")}.tensorsite-icon--youku span::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cg fill='%23425066' fill-rule='evenodd'%3E%3Cpath d='M12,24 C5.372583,24 0,18.627417 0,12 C0,5.372583 5.372583,0 12,0 C18.627417,0 24,5.372583 24,12 C24,18.627417 18.627417,24 12,24 Z M12,20.25 C16.5563492,20.25 20.25,16.5563492 20.25,12 C20.25,7.44365081 16.5563492,3.75 12,3.75 C7.44365081,3.75 3.75,7.44365081 3.75,12 C3.75,16.5563492 7.44365081,20.25 12,20.25 Z'/%3E%3Cpath d='M16.6557974,13.689665 L10.8450403,17.6090702 C9.98654383,18.1881334 8.82117141,17.9616079 8.2421082,17.1031114 C7.66304499,16.2446149 7.88957044,15.0792425 8.74806695,14.5001793 L12.3626201,12.0621324 L8.76409468,9.6348964 C7.90559817,9.05583318 7.67907272,7.89046077 8.25813593,7.03196425 C8.83719914,6.17346774 10.0025716,5.94694229 10.8610681,6.5260055 L16.7679608,10.5102549 C17.6264573,11.0893181 17.8529827,12.2546906 17.2739195,13.1131871 C17.1086958,13.3581413 16.8957391,13.551645 16.6557974,13.689665 Z'/%3E%3C/g%3E%3C/svg%3E")}.tensorsite-icon--youtube span::after{background-image:url("data:image/svg+xml;utf8,%3Csvg width='24' height='18' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath d='M23.5 3.14A3 3 0 0 0 21.38 1C19.51.5 12 .5 12 .5S4.49.5 2.62 1A3 3 0 0 0 .5 3.14 31.668 31.668 0 0 0 0 8.95c-.011 1.95.156 3.899.5 5.82a3 3 0 0 0 2.12 2.13c1.87.51 9.38.51 9.38.51s7.51 0 9.38-.51a3 3 0 0 0 2.12-2.13c.344-1.921.511-3.87.5-5.82a31.668 31.668 0 0 0-.5-5.81zM9.55 12.5V5.39l6.27 3.56-6.27 3.55z' id='a'/%3E%3C/defs%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg%3E%3Cmask id='b' fill='%23425066'%3E%3Cuse xlink:href='%23a'/%3E%3C/mask%3E%3Cuse fill='%23425066' fill-rule='nonzero' xlink:href='%23a'/%3E%3Cpath fill='%23425066' fill-rule='nonzero' mask='url(%23b)' d='M0-3h24v24H0z'/%3E%3C/g%3E%3Cpath d='M0-3h24v24H0z'/%3E%3C/g%3E%3C/svg%3E");position:relative;top:3px}.tensorsite-icon--youtube--white span::after{background-image:url("data:image/svg+xml;utf8,%3Csvg width='24' height='18' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath d='M23.5 3.14A3 3 0 0 0 21.38 1C19.51.5 12 .5 12 .5S4.49.5 2.62 1A3 3 0 0 0 .5 3.14 31.668 31.668 0 0 0 0 8.95c-.011 1.95.156 3.899.5 5.82a3 3 0 0 0 2.12 2.13c1.87.51 9.38.51 9.38.51s7.51 0 9.38-.51a3 3 0 0 0 2.12-2.13c.344-1.921.511-3.87.5-5.82a31.668 31.668 0 0 0-.5-5.81zM9.55 12.5V5.39l6.27 3.56-6.27 3.55z' id='a'/%3E%3C/defs%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg%3E%3Cmask id='b' fill='%23ffffff%0A'%3E%3Cuse xlink:href='%23a'/%3E%3C/mask%3E%3Cuse fill='%23ffffff%0A' fill-rule='nonzero' xlink:href='%23a'/%3E%3Cpath fill='%23ffffff%0A' fill-rule='nonzero' mask='url(%23b)' d='M0-3h24v24H0z'/%3E%3C/g%3E%3Cpath d='M0-3h24v24H0z'/%3E%3C/g%3E%3C/svg%3E");position:relative;top:3px}.tensorsite-icon--redesign-arrow span::before{background-image:url("data:image/svg+xml,%3Csvg width='12' height='24' viewBox='0 0 12 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 12L2.09852 24L-1.11005e-07 21.4605L7.83251 12L-9.38069e-07 2.53949L2.09852 -9.17293e-08L12 12Z' fill='%23FFFFFF'/%3E%3C/svg%3E%0A");position:relative}.tensorsite-icon--redesign-arrow span::after{background-image:url("data:image/svg+xml,%3Csvg width='12' height='24' viewBox='0 0 12 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 12L2.09852 24L-1.11005e-07 21.4605L7.83251 12L-9.38069e-07 2.53949L2.09852 -9.17293e-08L12 12Z' fill='%23FF6F00'/%3E%3C/svg%3E%0A");position:relative}.tensorsite-icon--redesign-arrow--small span::before{background-image:url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.5 4.5L6.4425 5.5575L9.8775 9L6.4425 12.4425L7.5 13.5L12 9L7.5 4.5Z' fill='%23FFFFFF'/%3E%3C/svg%3E%0A");position:relative;left:5px}.tensorsite-icon--redesign-arrow--small span::after{background-image:url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.5 4.5L6.4425 5.5575L9.8775 9L6.4425 12.4425L7.5 13.5L12 9L7.5 4.5Z' fill='%23FF6F00'/%3E%3C/svg%3E%0A");position:relative;left:5px}.tensorsite-icon--colab span::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' id='Layer_1' data-name='Layer 1' viewBox='0 0 600 600'%3E%3Cpath d='M112.83,236.3,53.89,177.11a173.82,173.82,0,0,0,0,245.56l59.19-59.19A90.06,90.06,0,0,1,112.83,236.3Z' style='fill:%23e8710a'/%3E%3Cpath d='M53.89,177.11l58.94,59.19a90.05,90.05,0,0,1,127.35-.07l.08.07,42.89-73.49h0l-2.51-2h0A173.83,173.83,0,0,0,53.89,177.11Z' style='fill:%23f9ab00'/%3E%3Cpath d='M283.4,437h0l-43.14-73.24a90,90,0,0,1-127.35.07l-.08-.07L53.89,422.92a173.82,173.82,0,0,0,225.75,16.31L282.4,437' style='fill:%23f9ab00'/%3E%3Cpath d='M300,177.11a173.84,173.84,0,0,0,0,245.56l59.2-59.19A90.1,90.1,0,0,1,486.57,236.05L546,177.11a173.83,173.83,0,0,0-245.83-.24Z' style='fill:%23f9ab00'/%3E%3Cpath d='M546,177.11,487.08,236.3A90.11,90.11,0,0,1,359.65,363.73h0L300,422.92A173.91,173.91,0,1,0,546,177.11Z' style='fill:%23e8710a'/%3E%3C/svg%3E");position:relative}.tensorsite-icon--colab:hover span::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' id='Layer_1' x='0px' y='0px' viewBox='0 0 600 600' style='enable-background:new 0 0 600 600;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23FFFFFF;%7D%0A%3C/style%3E%3Cg%3E%3Cpath class='st0' d='M113.1,363.5c-35.1-35.1-35.2-92-0.2-127.2c35.1-35.2,92.2-35.2,127.3-0.1l0,0l0.1,0.1l42.9-73.5l-2.5-2 c-69.2-51.6-165.7-44.7-226.8,16.3c-67.7,67.9-67.7,177.7,0,245.6L113.1,363.5z'/%3E%3Cpath class='st0' d='M240.3,363.8c-35.1,35.2-92.1,35.2-127.3,0.1c0,0,0,0-0.1-0.1l-0.1-0.1l-58.9,59.2 c60.9,60.4,156.8,67.3,225.8,16.3l2.8-2.2h1L240.3,363.8z'/%3E%3C/g%3E%3Cg%3E%3Cpath class='st0' d='M300.2,176.9l-0.2,0.2c-67.7,67.9-67.7,177.7,0,245.6l59.2-59.2c-34.6-35.8-33.5-92.8,2.3-127.4 c34.9-33.7,90.2-33.7,125.1,0l59.4-58.9C478.2,109.2,368.1,109.1,300.2,176.9z'/%3E%3Cpath class='st0' d='M550.5,181.6c-1.5-1.5-3-3-4.5-4.5l-58.9,59.2c34.9,35.5,34.4,92.5-1.1,127.4c-35.1,34.5-91.3,34.5-126.3,0 L300,422.9c66.6,69.2,176.7,71.2,245.9,4.6S617.1,250.8,550.5,181.6z'/%3E%3C/g%3E%3C/svg%3E");position:relative}.tensorsite-icon--course span::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='48' width='48'%3E%3Cpath d='m23.95 42-14.5-7.95v-12L2 18 23.95 6 46 18v15.85h-3v-14.1l-4.55 2.3v12Zm0-15.4L39.7 18 23.95 9.55 8.3 18Zm0 12 11.5-6.35v-8.4L23.95 30l-11.5-6.25v8.5Zm.05-12Zm-.05 3.7Zm0 0Z'/%3E%3C/svg%3E");position:relative}.tensorsite-icon--video-series span::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='48' width='48'%3E%3Cpath d='M5 31.5v-3h15.3v3Zm0-8.25v-3h23.65v3ZM5 15v-3h23.65v3Zm27.1 27V25.9L43 33.95Z'/%3E%3C/svg%3E");position:relative}.tensorsite-icon--codelab span::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='48' width='48'%3E%3Cpath d='m18.95 30.85 2.2-2.2L16.5 24l4.6-4.6-2.2-2.2-6.8 6.8Zm10.1 0L35.9 24l-6.85-6.85-2.2 2.2L31.5 24l-4.65 4.65ZM9 42q-1.2 0-2.1-.9Q6 40.2 6 39V9q0-1.2.9-2.1Q7.8 6 9 6h30q1.2 0 2.1.9.9.9.9 2.1v30q0 1.2-.9 2.1-.9.9-2.1.9Zm0-3h30V9H9v30ZM9 9v30V9Z'/%3E%3C/svg%3E");position:relative}.tensorsite-icon--codelab--white span::after{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 -960 960 960" width="24" style="&%2310;"><path d="m384-336 56-57-87-87 87-87-56-57-144 144 144 144Zm192 0 144-144-144-144-56 57 87 87-87 87 56 57ZM200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Zm0-80h560v-560H200v560Zm0-560v560-560Z" style="&%2310; fill: %23fff;&%2310;"/></svg>');position:relative}.tensorsite-icon--group span::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='48' width='48'%3E%3Cpath d='M1.9 40v-4.7q0-1.75.9-3.175Q3.7 30.7 5.3 30q3.65-1.6 6.575-2.3Q14.8 27 17.9 27q3.1 0 6 .7t6.55 2.3q1.6.7 2.525 2.125.925 1.425.925 3.175V40Zm35 0v-4.7q0-3.15-1.6-5.175t-4.2-3.275q3.45.4 6.5 1.175t4.95 1.775q1.65.95 2.6 2.35.95 1.4.95 3.15V40Zm-19-16.05q-3.3 0-5.4-2.1-2.1-2.1-2.1-5.4 0-3.3 2.1-5.4 2.1-2.1 5.4-2.1 3.3 0 5.4 2.1 2.1 2.1 2.1 5.4 0 3.3-2.1 5.4-2.1 2.1-5.4 2.1Zm18-7.5q0 3.3-2.1 5.4-2.1 2.1-5.4 2.1-.55 0-1.225-.075T25.95 23.6q1.2-1.25 1.825-3.075.625-1.825.625-4.075t-.625-3.975Q27.15 10.75 25.95 9.3q.55-.15 1.225-.25t1.225-.1q3.3 0 5.4 2.1 2.1 2.1 2.1 5.4ZM4.9 37h26v-1.7q0-.8-.475-1.55T29.25 32.7q-3.6-1.6-6.05-2.15-2.45-.55-5.3-.55-2.85 0-5.325.55T6.5 32.7q-.7.3-1.15 1.05-.45.75-.45 1.55Zm13-16.05q1.95 0 3.225-1.275Q22.4 18.4 22.4 16.45q0-1.95-1.275-3.225Q19.85 11.95 17.9 11.95q-1.95 0-3.225 1.275Q13.4 14.5 13.4 16.45q0 1.95 1.275 3.225Q15.95 20.95 17.9 20.95Zm0 16.05Zm0-20.55Z'/%3E%3C/svg%3E");position:relative}.tensorsite-icon--community span::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36' fill='none'%3E%3Cg clip-path='url(%23clip0_163_1111)'%3E%3Ccircle cx='18' cy='18' r='17.5' stroke='%23425066'/%3E%3Ccircle cx='18.0543' cy='11.0837' r='3.58371' fill='%23425066'/%3E%3Ccircle cx='25.4118' cy='12.9027' r='2.47059' fill='%23425066'/%3E%3Ccircle cx='11.2941' cy='12.9027' r='2.47059' fill='%23425066'/%3E%3Cpath d='M11.6471 18.0792C11.6471 16.9746 12.5425 16.0792 13.6471 16.0792H22.3529C23.4575 16.0792 24.3529 16.9746 24.3529 18.0792V25.4615C24.3529 25.7377 24.1291 25.9615 23.8529 25.9615H12.1471C11.8709 25.9615 11.6471 25.7377 11.6471 25.4615V18.0792Z' fill='%23425066'/%3E%3Cpath d='M6 18.0792C6 16.9746 6.89543 16.0792 8 16.0792H13.0588L12.3917 16.2698C11.5331 16.5151 10.9412 17.2998 10.9412 18.1928V18.4993V24.0498C10.9412 24.3259 10.7173 24.5498 10.4412 24.5498H6.5C6.22386 24.5498 6 24.3259 6 24.0498V18.0792Z' fill='%23425066'/%3E%3Cpath d='M30 18.0792C30 16.9746 29.1046 16.0792 28 16.0792H22.9412L23.6083 16.2698C24.4669 16.5151 25.0588 17.2998 25.0588 18.1928V18.4993V24.0498C25.0588 24.3259 25.2827 24.5498 25.5588 24.5498H29.5C29.7761 24.5498 30 24.3259 30 24.0498V18.0792Z' fill='%23425066'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_163_1111'%3E%3Crect width='36' height='36' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E");position:relative}[template=page] .devsite-article-body{margin-top:0px}.wrapper{overflow:clip}body{background:transparent;font-family:"Roboto",sans-serif;font-size:16px;line-height:28px;color:#616161;-webkit-font-smoothing:antialiased;margin:0}h1{font-family:"Google Sans",sans-serif;font-size:34px;font-weight:500;line-height:44px;margin:0}h2{font-family:"Google Sans",sans-serif;font-size:36px;font-weight:700;line-height:48px;margin:0}@media only screen and (max-width: 767px){h2{font-size:28px;line-height:36px;font-weight:700;letter-spacing:-0.25px}}@media only screen and (max-width: 1279px){h2{font-size:28px;line-height:36px;font-weight:700;letter-spacing:-0.25px}}h3{font-family:"Google Sans",sans-serif;font-size:24px;font-weight:700;line-height:32px;margin:0}h4{font-family:"Google Sans",sans-serif;font-size:20px;font-weight:500;line-height:26px;margin:0}h5{font-family:"Google Sans",sans-serif;font-size:16px;font-weight:700;line-height:26px;margin:0}h6{font-family:"Google Sans",sans-serif;font-size:14px;font-weight:700;line-height:22px;margin:0}.hidden-text{height:1px;overflow:hidden;pointer-events:none;position:absolute;top:-10px;width:1px}img,video{border:0;height:auto;max-width:100%}.desktop-only{display:block}@media only screen and (max-width: 1279px){.desktop-only{display:none}}.tablet-only{display:none}@media only screen and (max-width: 1279px){.tablet-only{display:block}}.tensorsite-container{margin:80px auto;max-width:1420px;padding:0 40px;width:100%}@media only screen and (max-width: 767px){.tensorsite-container{margin:50px auto;padding:0 20px}}.tensorsite-container--no-margin-top{margin-top:0}.tensorsite-container--narrow{max-width:1160px}.tensorsite-container--narrower{max-width:860px}.tensorsite-container--half-margin{margin:40px auto}.tensorsite-container--redesign-margin{margin:120px auto}@media only screen and (max-width: 767px){.tensorsite-container--redesign-margin{margin:48px auto}}body[theme="tensorflow-theme"][layout="full"] .devsite-main-content{max-width:none;padding:0}body[theme="tensorflow-theme"][layout="full"] .devsite-banner{margin:0}body[devsite-framebox]{margin:0;overflow:hidden}body[devsite-framebox] .tensorsite-container{margin:0 auto}body[ready] .devsite-wrapper{overflow:clip !important}.tensorsite-block{display:flex;flex-basis:calc(100% / 3 - 30px);flex-direction:column;flex-grow:0;flex-shrink:1;margin:15px}.tensorsite-block:not(.tensorsite-block--code-block) .tensorsite-content{padding-bottom:0}.tensorsite-block .tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:20px;font-weight:500;line-height:26px}.tensorsite-block .tensorsite-content__description{font-family:"Roboto",sans-serif;font-size:16px;line-height:28px}.tensorsite-block .tensorsite-content__description p:last-of-type{margin-bottom:0}.tensorsite-block__image-wrapper{margin:auto;position:relative;width:30%}.tensorsite-block__image{height:auto;max-width:100%;width:auto}@media only screen and (min-width: 768px){.tensorsite-block__image:focus{outline:2px solid #425066;outline-offset:2px}}.tensorsite-block--action .tensorsite-content__subtitle{padding:0}.tensorsite-block--plain,.tensorsite-block--plain-links{margin:15px;text-align:center}@media only screen and (max-width: 1000px){.tensorsite-block--plain,.tensorsite-block--plain-links{margin-bottom:20px;margin-top:20px}}@media only screen and (-ms-high-contrast: none), (-ms-high-contrast: active){.tensorsite-block--plain,.tensorsite-block--plain-links{display:block}}.tensorsite-block--plain .tensorsite-content__cta,.tensorsite-block--plain-links .tensorsite-content__cta{align-self:center}.tensorsite-block--plain .tensorsite-content__cta-wrapper a,.tensorsite-block--plain-links .tensorsite-content__cta-wrapper a{align-self:center}.tensorsite-block--plain-links .tensorsite-content{padding-top:0}.tensorsite-block--code-block{overflow:hidden}.tensorsite-block--code-block .tensorsite-content{text-align:center}.tensorsite-block--code-block .tensorsite-content__description{flex-grow:0}.tensorsite-block--code-block .devsite-landing-row-item-code{flex-grow:1}.tensorsite-block--code-block .devsite-landing-row-item-code devsite-code,.tensorsite-block--code-block .devsite-landing-row-item-code devsite-code>pre{border-radius:8px 8px 0 0;box-shadow:none}.tensorsite-block--code-block .colab-callout-footer{background:#e3e4e7;border-radius:0 0 8px 8px;color:#37474f;padding:20px}.tensorsite-block--code-block .colab-callout-row devsite-code[dark-code]+.colab-callout-footer{background:#3f4f66}.tensorsite-block--code-block .colab-callout-footer>a>span{vertical-align:middle;color:#37474f;font-size:14px}.tensorsite-block--code-block .colab-callout-row devsite-code[dark-code]+.colab-callout-footer>a>span{color:#fff}.tensorsite-block--code-block .colab-callout-footer>a:focus{box-shadow:0 0 0 2px #fff}.tensorsite-block--code-block .colab-callout-footer>a>span{font-size:12px}.tensorsite-block--code-block .colab-callout-footer .button{background:linear-gradient(to top right, #ff6f00, #FFA800);border:0;color:#fff;position:relative;z-index:1}.tensorsite-block--code-block .colab-callout-footer .button::before{background:#ff6f00;bottom:0;content:'';left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .2s;z-index:-1}.tensorsite-block--code-block .colab-callout-footer .button:focus{outline:1px dotted #fff;outline:5px auto #fff}.tensorsite-block--code-block .colab-callout-footer .button:hover::before{opacity:1}.tensorsite-block--code-block devsite-code,.tensorsite-block--code-block devsite-code pre{height:100%}@media only screen and (max-width: 767px){.tensorsite-block--code-block devsite-code,.tensorsite-block--code-block devsite-code pre{height:auto}}.tensorsite-breadcrumb-link{color:#616161;font-size:12px;padding:10px 6px;transition:color .2s linear}.tensorsite-breadcrumb-link:hover{color:#ff6f00}.tensorsite-breadcrumb-link:first-of-type{padding-left:0}.tensorsite-breadcrumb-arrow:last-of-type{display:none}.tensorsite-button-tab{background:#fff;border-radius:10px;box-shadow:0 0 36px rgba(0,0,0,0.1);margin:auto;overflow:hidden;z-index:1}@media only screen and (max-width: 767px){.tensorsite-button-tab{border-radius:0}}.tensorsite-button-tab ::-webkit-scrollbar{background:transparent;display:none}.tensorsite-button-tab input[name='tabs']{left:-10000px;opacity:0;position:absolute}.tensorsite-button-tab input[name='tabs']#tab-1:checked ~ .tensorsite-button-tab__image-wrapper:nth-of-type(1){display:flex}.tensorsite-button-tab input[name='tabs']#tab-1:checked ~ .tensorsite-button-tab__content--info .tensorsite-button-tab__tabs label:nth-of-type(1){color:#fff}.tensorsite-button-tab input[name='tabs']#tab-1:checked ~ .tensorsite-button-tab__content--info .tensorsite-button-tab__tabs label:nth-of-type(1)::after{background:#425066}.tensorsite-button-tab input[name='tabs']#tab-1:checked ~ .tensorsite-button-tab__content--info .tensorsite-button-tab__content__text:nth-of-type(2){display:flex}.tensorsite-button-tab input[name='tabs']#tab-2:checked ~ .tensorsite-button-tab__image-wrapper:nth-of-type(2){display:flex}.tensorsite-button-tab input[name='tabs']#tab-2:checked ~ .tensorsite-button-tab__content--info .tensorsite-button-tab__tabs label:nth-of-type(2){color:#fff}.tensorsite-button-tab input[name='tabs']#tab-2:checked ~ .tensorsite-button-tab__content--info .tensorsite-button-tab__tabs label:nth-of-type(2)::after{background:#425066}.tensorsite-button-tab input[name='tabs']#tab-2:checked ~ .tensorsite-button-tab__content--info .tensorsite-button-tab__content__text:nth-of-type(3){display:flex}.tensorsite-button-tab input[name='tabs']#tab-3:checked ~ .tensorsite-button-tab__image-wrapper:nth-of-type(3){display:flex}.tensorsite-button-tab input[name='tabs']#tab-3:checked ~ .tensorsite-button-tab__content--info .tensorsite-button-tab__tabs label:nth-of-type(3){color:#fff}.tensorsite-button-tab input[name='tabs']#tab-3:checked ~ .tensorsite-button-tab__content--info .tensorsite-button-tab__tabs label:nth-of-type(3)::after{background:#425066}.tensorsite-button-tab input[name='tabs']#tab-3:checked ~ .tensorsite-button-tab__content--info .tensorsite-button-tab__content__text:nth-of-type(4){display:flex}.tensorsite-button-tab .tensorsite-button-tab__content{display:flex;padding:40px}@media only screen and (max-width: 1279px){.tensorsite-button-tab .tensorsite-button-tab__content{flex-direction:column}}@media only screen and (max-width: 767px){.tensorsite-button-tab .tensorsite-button-tab__content{padding:20px}}.tensorsite-button-tab__image-wrapper{display:none;flex:1;justify-content:center}@media only screen and (max-width: 1279px){.tensorsite-button-tab__image-wrapper{margin-right:0}}.tensorsite-button-tab__content--info{display:flex;flex:2;flex-direction:column;margin-top:40px;padding-left:60px;position:relative}@media only screen and (max-width: 1279px){.tensorsite-button-tab__content--info{align-items:center;padding-left:0}.tensorsite-button-tab__content--info::after{z-index:-1}}.tensorsite-button-tab__content--info::after{border-left:1px solid #e3e5e8;bottom:0;content:'';height:115%;left:0;position:absolute;top:0;-webkit-transform:translateY(-12%);transform:translateY(-12%)}.tensorsite-button-tab__content__text{-webkit-animation-duration:0.5s;animation-duration:0.5s;-webkit-animation-name:tensorsite-button-tab__content-fade;animation-name:tensorsite-button-tab__content-fade;display:none}label.tensorsite-button-tab__button:focus-within::after{opacity:.3}.tensorsite-button-tab__tabs{margin-bottom:32px}@media only screen and (max-width: 767px){.tensorsite-button-tab__tabs{align-items:center;display:flex;flex-direction:column}}.tensorsite-button-tab__tabs label{margin:6px 14px 6px 0}@-webkit-keyframes tensorsite-button-tab__content-fade{from{opacity:0}to{opacity:1}}@keyframes tensorsite-button-tab__content-fade{from{opacity:0}to{opacity:1}}.tensorsite-button{font-family:"Google Sans",sans-serif;font-size:16px;font-weight:700;line-height:20px;background:none;border:none;border-radius:8px;box-shadow:0 0 20px rgba(0,0,0,0);color:#425066;display:inline-block;height:auto;outline:none;padding:13px 18px;position:relative;text-transform:none;transition:box-shadow .2s linear,background .2s linear,color .2s linear;z-index:1}.tensorsite-button:active{box-shadow:none}.tensorsite-button:hover,.tensorsite-button:focus,.tensorsite-button.tensorsite-content__cta:hover,.tensorsite-button.tensorsite-content__cta:focus{color:#fff;outline:none}.tensorsite-button:hover::after,.tensorsite-button:focus::after,.tensorsite-button.tensorsite-content__cta:hover::after,.tensorsite-button.tensorsite-content__cta:focus::after{opacity:0}.tensorsite-button::before{background:linear-gradient(to top right, #ff6f00, #FFA800);border-radius:8px;content:'';height:100%;left:0;position:absolute;top:0;width:100%;z-index:-1}.tensorsite-button::after{background:#fff;border-radius:7px;content:'';height:calc(100% - 4px);left:2px;opacity:1;position:absolute;top:2px;transition:.3s opacity linear;width:calc(100% - 4px);z-index:-1}.tensorsite-button--white-text{color:#fff}.tensorsite-button--white{color:#425066;padding:13px 22px}.tensorsite-button--white::before{background:#425066}.tensorsite-button--white::after{height:100%;left:0;top:0;width:100%}.tensorsite-button--gray::after{background:#f5f6f7}.tensorsite-button--dark-gray{color:#425066}.tensorsite-button--dark-gray:hover{color:#fff}.tensorsite-button--dark-gray::before{background:#425066}.tensorsite-button--dark-gray::after{background:#e3e5e8;height:100%;left:0;top:0;width:100%}.tensorsite-arrow-button{font-family:"Google Sans",sans-serif;font-size:16px;font-weight:500;line-height:24px;color:#425066;background-color:#fff;border:1px solid #ccc;border-radius:4px;padding:8px 16px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;height:100%;transition:box-shadow .2s linear,background .2s linear,color .2s linear;font-weight:500 !important}.tensorsite-arrow-button:hover,.tensorsite-arrow-button:focus{color:#f5f5f5}.tensorsite-arrow-button:hover,.tensorsite-arrow-button:focus{background:linear-gradient(to top right, #ff6f00, #FFA800);border:1px solid #ff6f00;color:#fff}.tensorsite-arrow-button:hover ::before,.tensorsite-arrow-button:focus ::before{opacity:1}.tensorsite-arrow-button:hover ::after,.tensorsite-arrow-button:focus ::after{opacity:0}.tensorsite-arrow-button:hover span::after,.tensorsite-arrow-button:hover span::before,.tensorsite-arrow-button:focus span::after,.tensorsite-arrow-button:focus span::before{-webkit-transform:translateX(4px);transform:translateX(4px)}button.tensorsite-play-button,a.tensorsite-play-button{background:#fff center/contain no-repeat;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 96'%3E%3ClinearGradient id='a' gradientUnits='userSpaceOnUse' x1='-427.9393' y1='229.2344' x2='-428.1819' y2='228.8326' gradientTransform='matrix(20 0 0 -30 8610 6917)'%3E%3Cstop offset='0' stop-color='%23ff9100'/%3E%3Cstop offset='1' stop-color='%23ff6f00'/%3E%3C/linearGradient%3E%3Cpath d='M41 63V33l20 15-20 15z' fill='url(%23a)'/%3E%3C/svg%3E");border:0;border-radius:50%;bottom:0;box-shadow:0 0 20px rgba(0,0,0,0.08);height:96px;margin:auto;padding:0;top:0;transition:-webkit-transform .3s cubic-bezier(0.4, 0, 0.2, 1);transition:transform .3s cubic-bezier(0.4, 0, 0.2, 1);transition:transform .3s cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform .3s cubic-bezier(0.4, 0, 0.2, 1);width:96px}button.tensorsite-play-button:focus,button.tensorsite-play-button:hover,a.tensorsite-play-button:focus,a.tensorsite-play-button:hover{-webkit-transform:scale(1.2);transform:scale(1.2)}.tensorsite-version-button.button-row{flex-direction:row;justify-content:start;margin:auto;position:relative;text-align:center}.tensorsite-version-button.button-row .stars-number{color:#fff;background-color:#ff6f00;padding:4px 20px 4px 15px;border-radius:5px;margin-right:10px}.tensorsite-version-button.button-row .stars-number::before{content:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAxOCAxNyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEuNzAyNDEgNi4zNTcxNEg2Ljg5NTMzQzcuMTI0NzYgNi4zNTcxNCA3LjMyNDc1IDYuMjAwOTkgNy4zODA0IDUuOTc4NDFMOC41MTQ5MyAxLjQ0MDI5QzguNjQxMTcgMC45MzUzMDkgOS4zNTg4MyAwLjkzNTMxIDkuNDg1MDcgMS40NDAyOUwxMC42MTk2IDUuOTc4NDFDMTAuNjc1MiA2LjIwMDk5IDEwLjg3NTIgNi4zNTcxNCAxMS4xMDQ3IDYuMzU3MTRIMTYuMjk3NkMxNi43OTY2IDYuMzU3MTQgMTYuOTg3NyA3LjAwNzg4IDE2LjU2OCA3LjI3NzczTDEyLjM1MDcgOS45ODg4NEMxMi4xNDc2IDEwLjExOTQgMTIuMDY2OCAxMC4zNzY1IDEyLjE1ODcgMTAuNTk5OEwxNC4yMDc2IDE1LjU3NTZDMTQuNDA3NyAxNi4wNjE1IDEzLjgxODggMTYuNDg3NiAxMy40MTk5IDE2LjE0NTZMOS4zMjU0IDEyLjYzNjFDOS4xMzgxNSAxMi40NzU2IDguODYxODUgMTIuNDc1NiA4LjY3NDYgMTIuNjM2MUw0LjU4MDE0IDE2LjE0NTZDNC4xODExNyAxNi40ODc2IDMuNTkyMzMgMTYuMDYxNSAzLjc5MjQgMTUuNTc1Nkw1Ljg0MTI2IDEwLjU5OThDNS45MzMyIDEwLjM3NjUgNS44NTI0MiAxMC4xMTk0IDUuNjQ5MyA5Ljk4ODg0TDEuNDMyMDMgNy4yNzc3M0MxLjAxMjI2IDcuMDA3ODggMS4yMDMzOCA2LjM1NzE0IDEuNzAyNDEgNi4zNTcxNFoiIGZpbGw9IndoaXRlIiBzdHJva2U9IndoaXRlIi8+Cjwvc3ZnPg==");position:relative;top:2px;margin-right:5px}.tensorsite-version-button.button-row .tensorsite-content{padding:0}.tensorsite-version-button.button-row .tensorsite-content__cta-wrapper{flex-direction:row;align-self:center;align-self:flex-start}@media only screen and (max-width: 385px){.tensorsite-version-button.button-row .tensorsite-content__cta-wrapper{justify-content:center}}.tensorsite-version-button.button-row .tensorsite-content__cta{align-self:center;border:none;outline:none;width:unset}.tensorsite-version-button.button-row .tensorsite-content__cta:hover,.tensorsite-version-button.button-row .tensorsite-content__cta:focus{color:#ff6f00}.tensorsite-card{-webkit-backface-visibility:hidden;backface-visibility:hidden;background:linear-gradient(to top right, #ff6f00, #FFA800);border-radius:10px;box-shadow:0 0 36px rgba(0,0,0,0.1);display:flex;flex-basis:calc(100% / 3 - 30px);flex-direction:column;flex-grow:0;flex-shrink:1;margin:15px;position:relative;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);transition:box-shadow .2s linear,opacity .2s linear}.tensorsite-card::before{background:#fff;border-radius:10px;content:'';height:100%;left:0;pointer-events:none;position:absolute;top:0;transition:opacity .2s linear;width:100%}.tensorsite-card .tensorsite-content{border-radius:0 0 10px 10px;position:static}@media only screen and (max-width: 767px){.tensorsite-card .tensorsite-content{padding-left:30px;padding-right:30px}}.tensorsite-card .tensorsite-content--under-image::before{top:-1px}.tensorsite-card .tensorsite-content .tensorsite-content__subtitle,.tensorsite-card .tensorsite-content .tensorsite-content__description,.tensorsite-card .tensorsite-content .tensorsite-content__cta-wrapper,.tensorsite-card .tensorsite-content ul{position:relative}.tensorsite-card .tensorsite-content .tensorsite-content__cta-wrapper--shorter{padding-right:70px}.tensorsite-card .tensorsite-content__image-wrapper{border-bottom:solid 1px #dadada;border-radius:10px 10px 0 0;overflow:hidden;position:relative;transition:border-color .2s linear;z-index:1}.tensorsite-card .tensorsite-content__image-wrapper img{background-color:#fbfcfc;-webkit-transform:scale(1.01);transform:scale(1.01);transition:-webkit-transform .5s cubic-bezier(0.25, 0.1, 0.25, 1);transition:transform .5s cubic-bezier(0.25, 0.1, 0.25, 1);transition:transform .5s cubic-bezier(0.25, 0.1, 0.25, 1), -webkit-transform .5s cubic-bezier(0.25, 0.1, 0.25, 1);will-change:transform}.tensorsite-card .tensorsite-content__image-wrapper .tensorsite-content__image__play-button{bottom:0;left:0;margin:auto;overflow:visible;position:absolute;right:0;top:0}.tensorsite-card .tensorsite-price-tag__inner{transition:background-color .2s linear,color .2s linear}.tensorsite-card .tensorsite-content__categories{display:flex;flex-wrap:wrap;margin-bottom:-8px;margin-top:30px;padding-top:18px;position:relative;z-index:1}.tensorsite-card .tensorsite-content__categories::before{border-top:1px solid #dadada;content:'';left:-30px;position:absolute;top:0;width:calc(100% + 60px)}.tensorsite-card .tensorsite-content__categories .tensorsite-content__category{padding-right:18px}.tensorsite-card .tensorsite-content__categories .tensorsite-content__category:last-child{padding-right:0}.tensorsite-card .tensorsite-content__categories .tensorsite-content__category-text{font-size:12px;line-height:18px;color:#425066;padding-left:16px;position:relative;text-transform:capitalize;transition:color .2s linear}.tensorsite-card .tensorsite-content__categories .tensorsite-content__category-text::before,.tensorsite-card .tensorsite-content__categories .tensorsite-content__category-text::after{background-position:center center;background-repeat:no-repeat;bottom:0;content:'';height:12px;left:0;margin:auto;position:absolute;top:0;width:12px}.tensorsite-card .tensorsite-content__categories .tensorsite-content__category-text::before{transition:opacity .2s linear;z-index:1}.tensorsite-card .tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:20px;font-weight:500;line-height:26px;align-items:center;display:flex;justify-content:space-between;z-index:1}.tensorsite-card .tensorsite-content__title:before{bottom:0;content:'';left:0;position:absolute;right:0;top:0}.tensorsite-card .tensorsite-content__subtitle{font-family:"Google Sans",sans-serif;font-size:14px;font-weight:700;line-height:18px}.tensorsite-card .tensorsite-content__subtitle--thin{font-family:"Roboto",sans-serif;font-weight:400}.tensorsite-card .tensorsite-content__subtitle--thin.tensorsite-content__subtitle--under-title{margin-bottom:18px;margin-top:0px}.tensorsite-card .tensorsite-content__description{font-size:14px;line-height:22px}.tensorsite-card .tensorsite-content__description strong:first-child:last-child{font-family:"Google Sans",sans-serif;font-size:16px;font-weight:700;line-height:26px;color:#425066;display:inline-block;margin-top:8px;transition:color .2s linear}.tensorsite-card .tensorsite-content__cta{color:#425066;z-index:3}.tensorsite-card:hover:not(.no-link){box-shadow:0 0 64px rgba(0,0,0,0.22);cursor:pointer}.tensorsite-card.no-link .tensorsite-content__title::before{content:none}.tensorsite-card.font-size-body .tensorsite-content__description{font-family:"Roboto",sans-serif;font-size:16px;line-height:28px}.tensorsite-card--double{flex-grow:0;flex-shrink:1}.tensorsite-card__href{height:100%;left:0;opacity:0;position:absolute;top:0;width:100%;z-index:2}.tensorsite-card--hero .tensorsite-content__cta:hover{color:#425066}.tensorsite-card--hero-whitecta .tensorsite-content__cta{color:#fff}.tensorsite-card--hero-whitecta a span::after{-webkit-filter:grayscale(100%) invert(1) brightness(2);filter:grayscale(100%) invert(1) brightness(2)}.tensorsite-card--hero-whitecta .tensorsite-content__cta:hover{color:#fff}.tensorsite-card--hero-whitetext .tensorsite-content__title{color:#fff}.tensorsite-card--hero-bluegradient .tensorsite-content--under-image{background-image:linear-gradient(0deg, rgba(32,18,20,0) 0%, rgba(32,18,20,0) 45%, #5464b5 100%)}.tensorsite-card--hero-h3title .tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:24px;font-weight:700;line-height:32px}.tensorsite-card--hero .tensorsite-content__title{flex-grow:1}.tensorsite-card--hero .tensorsite-content__title::after{-webkit-filter:grayscale(100%) invert(1) brightness(2);filter:grayscale(100%) invert(1) brightness(2)}.tensorsite-card--hero .tensorsite-content__image-wrapper{border-bottom:none;border-radius:10px;height:100%;position:absolute;width:100%}.tensorsite-card--hero .tensorsite-content__image{height:100%;-o-object-fit:cover;object-fit:cover}.tensorsite-card--hero .tensorsite-content__image,.tensorsite-card--hero .tensorsite-content--under-image{border-radius:10px}.tensorsite-card--clip .tensorsite-content{background:transparent;margin-top:40%;padding-top:17%;position:static;z-index:1}@media only screen and (-ms-high-contrast: none), (-ms-high-contrast: active){.tensorsite-card--clip .tensorsite-content{background-color:#fff;padding-top:20px}}.tensorsite-card--clip .tensorsite-content__clip-bg{padding-top:40%}.tensorsite-card--clip .tensorsite-content__clip-bg+.tensorsite-content__title{padding-top:7%}.tensorsite-card--clip .tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:24px;font-weight:700;line-height:32px;max-width:81%}@media only screen and (max-width: 1000px){.tensorsite-card--clip .tensorsite-content__title{max-width:none}}@media only screen and (max-width: 850px){.tensorsite-card--clip .tensorsite-content__title{max-width:80%}}@media only screen and (max-width: 767px){.tensorsite-card--clip .tensorsite-content__title{max-width:60%}}@media only screen and (max-width: 480px){.tensorsite-card--clip .tensorsite-content__title{max-width:80%}}.tensorsite-card--clip .tensorsite-content__subtitle{color:#425066;font-weight:700;max-width:42%}.tensorsite-card--clip .tensorsite-content__image-wrapper{border-bottom:0;border-radius:10px;height:100%;position:absolute;width:100%}.tensorsite-card--horizontal{flex-basis:calc(100% - 30px);max-width:calc(100% - 30px)}.tensorsite-card--horizontal .tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:24px;font-weight:700;line-height:32px}@media only screen and (min-width: 851px){.tensorsite-card--horizontal{flex-direction:row}.tensorsite-card--horizontal .tensorsite-content__image-wrapper,.tensorsite-card--horizontal .tensorsite-content--under-image{flex:1 0 50%;max-width:50%}.tensorsite-card--horizontal .tensorsite-content__image-wrapper{border-bottom:0;border-radius:10px 0 0 10px;border-right:1px solid #dadada}.tensorsite-card--horizontal .tensorsite-content__image{border-radius:10px 0 0 10px;height:100%;-o-object-fit:cover;object-fit:cover}}@media only screen and (min-width: 851px) and (-ms-high-contrast: none), only screen and (min-width: 851px) and (-ms-high-contrast: active){.tensorsite-card--horizontal .tensorsite-content__image-wrapper{display:flex;flex-direction:column;justify-content:center}.tensorsite-card--horizontal .tensorsite-content__image{height:auto;-o-object-fit:unset;object-fit:unset}}.tensorsite-card .tensorsite-content__cta-wrapper .tensorsite-content__cta-icon:hover span::before{opacity:0}.tensorsite-card .tensorsite-content__cta-wrapper .tensorsite-content__cta-icon:hover span::after{opacity:1}.tensorsite-card:not(.tensorsite-card--clip):not(.tensorsite-card--hero):not(.no-link):hover::before{opacity:0}.tensorsite-card:not(.tensorsite-card--clip):not(.tensorsite-card--hero):not(.no-link):hover .tensorsite-content a,.tensorsite-card:not(.tensorsite-card--clip):not(.tensorsite-card--hero):not(.no-link):hover .tensorsite-content div,.tensorsite-card:not(.tensorsite-card--clip):not(.tensorsite-card--hero):not(.no-link):hover .tensorsite-content strong{color:#fff}.tensorsite-card:not(.tensorsite-card--clip):not(.tensorsite-card--hero):not(.no-link):hover .tensorsite-content::before{opacity:1;transition:opacity .2s linear}.tensorsite-card:not(.tensorsite-card--clip):not(.tensorsite-card--hero):not(.no-link):hover .tensorsite-content ul a span::after,.tensorsite-card:not(.tensorsite-card--clip):not(.tensorsite-card--hero):not(.no-link):hover .tensorsite-content .tensorsite-content__cta-wrapper .tensorsite-content__cta-icon span::after{-webkit-filter:grayscale(100%) invert(1) brightness(2);filter:grayscale(100%) invert(1) brightness(2)}.tensorsite-card:not(.tensorsite-card--clip):not(.tensorsite-card--hero):not(.no-link):hover .tensorsite-content .tensorsite-content__title span::after,.tensorsite-card:not(.tensorsite-card--clip):not(.tensorsite-card--hero):not(.no-link):hover .tensorsite-content .tensorsite-content__subtitle span::after{-webkit-filter:grayscale(100%) invert(1) brightness(2);filter:grayscale(100%) invert(1) brightness(2)}.tensorsite-card:not(.tensorsite-card--clip):not(.tensorsite-card--hero):not(.no-link):hover .tensorsite-content .tensorsite-content__tag{color:#fff}.tensorsite-card:not(.tensorsite-card--clip):not(.tensorsite-card--hero):not(.no-link):hover .tensorsite-content .tensorsite-content__cta-wrapper .tensorsite-price-tag__inner{background-color:#fff;color:#ff6f00}.tensorsite-card:not(.tensorsite-card--clip):not(.tensorsite-card--hero):not(.no-link):hover .tensorsite-content .tensorsite-content__cta-wrapper .tensorsite-price-tag__inner::before{background-image:url("data:image/svg+xml,%3Csvg width='12' height='24' viewBox='0 0 12 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath d='M9.474 0H56a2 2 0 0 1 2 2v20a2 2 0 0 1-2 2H9.474a2 2 0 0 1-1.636-.85l-7.03-10a2 2 0 0 1 0-2.3l7.03-10A2 2 0 0 1 9.474 0z' fill='%23FFF'/%3E%3Ccircle fill='%23FF6F00' cx='10' cy='12' r='2'/%3E%3C/g%3E%3C/svg%3E")}.tensorsite-card:not(.tensorsite-card--clip):not(.tensorsite-card--hero):not(.no-link):hover .tensorsite-content .tensorsite-content__categories .tensorsite-content__category-text{color:#fff}.tensorsite-card:not(.tensorsite-card--clip):not(.tensorsite-card--hero):not(.no-link):hover .tensorsite-content .tensorsite-content__clip-bg::before{background:#ff6f00}.tensorsite-card:not(.tensorsite-card--clip):not(.tensorsite-card--hero):not(.no-link):hover .tensorsite-content .tensorsite-content__clip-shape path{fill:#ff6f00}.tensorsite-card:not(.tensorsite-card--clip):not(.tensorsite-card--hero):not(.no-link):hover .tensorsite-content .tensorsite-content__category-text::before{opacity:0}html[dir='rtl'] .tensorsite-content__clip-shape{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.tensorsite-card:hover .tensorsite-content__image-wrapper{border-color:transparent}.tensorsite-card:hover .tensorsite-content__image-wrapper img{-webkit-transform:scale(1.03);transform:scale(1.03);transition:-webkit-transform 1s cubic-bezier(0.25, 0.1, 0.25, 1);transition:transform 1s cubic-bezier(0.25, 0.1, 0.25, 1);transition:transform 1s cubic-bezier(0.25, 0.1, 0.25, 1), -webkit-transform 1s cubic-bezier(0.25, 0.1, 0.25, 1)}.tensorsite-card--bnw img{-webkit-filter:grayscale(100%);filter:grayscale(100%)}.tensorsite-card--bnw:hover img{-webkit-filter:grayscale(0%);filter:grayscale(0%)}.tensorsite-card .tensorsite-content__title:hover ~ div.tensorsite-content__cta-wrapper .tensorsite-content__cta:first-child span::after,.tensorsite-card .tensorsite-card__href:hover ~ .tensorsite-content div.tensorsite-content__cta-wrapper .tensorsite-content__cta:first-child span::after{-webkit-transform:translateX(4px);transform:translateX(4px)}.tensorsite-card .tensorsite-content__title:hover ~ ul.tensorsite-content__cta-wrapper li:first-child .tensorsite-content__cta span::after{-webkit-transform:translateX(4px);transform:translateX(4px)}.tensorsite-card .tensorsite-content__title:focus::before{border-radius:10px;box-shadow:0 0 0 2px #425066}.tensorsite-card .tensorsite-card__href:focus ~ .tensorsite-content .tensorsite-content__title::before{border-radius:10px;box-shadow:0 0 0 2px #425066}.tensorsite-content{border-radius:10px;display:flex;flex-basis:auto;flex-direction:column;flex-grow:1;flex-shrink:1;overflow-wrap:break-word;padding:26px 30px;position:relative;word-wrap:break-word}@media only screen and (max-width: 767px){.tensorsite-content{padding-left:15px;padding-right:15px}}.tensorsite-content a:not(.tensorsite-content__button),.tensorsite-content div{transition:color .2s linear}.tensorsite-content ol,.tensorsite-content ul{padding-left:18px}.tensorsite-content ol li,.tensorsite-content ul li{margin:8px 0}.tensorsite-content ol li:last-of-type,.tensorsite-content ul li:last-of-type{margin-bottom:0}.tensorsite-content p a,.tensorsite-content-underline{line-height:normal;display:inline-block;border-bottom:1px solid #ff6f00;color:#616161;transition:color .2s linear}.tensorsite-content p a:focus,.tensorsite-content-underline:focus{outline:2px solid #425066;outline-offset:2px}.tensorsite-content p a:hover,.tensorsite-content-underline:hover{color:#ff6f00}.tensorsite-content p{margin:10px 0}.tensorsite-content p:first-child{margin-top:0}.tensorsite-content p:last-child{margin-bottom:0}.tensorsite-content ol+p,.tensorsite-content ul+p{margin-top:calc(1em + 10px)}.tensorsite-content__clip-bg{display:flex;flex-direction:column;height:100%;left:0;overflow:hidden;position:absolute;top:0;width:100%;z-index:-1}@media only screen and (-ms-high-contrast: none), (-ms-high-contrast: active){.tensorsite-content__clip-bg{display:none}}.tensorsite-content__clip-bg::after{background:#fff;border-radius:0 0 10px 10px;content:'';display:block;flex:1 0 auto;margin-top:-2px;transition:background .2s linear;width:100%}.tensorsite-content__clip-shape{margin-left:-1px;width:102%}.tensorsite-content__clip-shape path{transition:fill .2s linear}.tensorsite-content__cta-wrapper{display:flex;flex-direction:column;line-height:1;margin-top:-4px}@media only screen and (max-width: 767px){.tensorsite-content__cta-wrapper{width:100%}}.tensorsite-content__cta-wrapper--abreast{display:block}.tensorsite-content__cta-wrapper--abreast .tensorsite-content__cta{margin-right:21px}@media only screen and (min-width: 768px){.tensorsite-content__cta-wrapper--row{flex-direction:row;justify-content:center;width:100%}.tensorsite-content__cta-wrapper--row a:not(:last-child){margin-right:20px}}.tensorsite-content__cta-wrapper--row .tensorsite-content__button{text-align:center;width:100%}.tensorsite-content__cta-wrapper .tensorsite-content__button{margin-top:8px}.tensorsite-content__cta{font-family:"Google Sans",sans-serif;font-size:16px;font-weight:700;line-height:20px;align-self:flex-start;color:#425066;display:inline-block;margin-top:8px;position:relative}.tensorsite-content__cta:focus{outline:2px solid #425066;outline-offset:2px}.tensorsite-content__cta:last-child{margin-right:0}.tensorsite-content__cta--disabled,.tensorsite-content__cta--disabled:hover{color:#818181}.tensorsite-content__cta-image:focus,.tensorsite-content__cta-image:hover{outline:none;color:#ff6f00}.tensorsite-content__cta-image:focus span::after,.tensorsite-content__cta-image:focus span::before,.tensorsite-content__cta-image:hover span::after,.tensorsite-content__cta-image:hover span::before{-webkit-transform:translateX(4px);transform:translateX(4px)}.tensorsite-content__cta-image:focus span::after,.tensorsite-content__cta-image:hover span::after{opacity:0}.tensorsite-content__cta-image:focus span::before,.tensorsite-content__cta-image:hover span::before{opacity:1}.tensorsite-content__cta-image:focus:focus .cta-image,.tensorsite-content__cta-image:hover:focus .cta-image{box-shadow:0px 2px 12px rgba(66,80,102,0.24)}.tensorsite-content__cta-image:focus img,.tensorsite-content__cta-image:hover img{-webkit-filter:none;filter:none}.tensorsite-content__cta-icon span{margin-left:-3px;position:relative;white-space:nowrap}.tensorsite-content__cta-icon span::after,.tensorsite-content__cta-icon span::before{background-repeat:no-repeat;background-size:contain;content:'\00a0';display:inline-block;height:20px;margin-left:4px;transition:opacity .2s linear,-webkit-filter .2s linear,-webkit-transform .5s;transition:filter .2s linear,transform .5s,opacity .2s linear;transition:filter .2s linear,transform .5s,opacity .2s linear,-webkit-filter .2s linear,-webkit-transform .5s;vertical-align:text-bottom;width:20px}.tensorsite-content__cta-icon span::before{bottom:0;margin-left:7px;opacity:0;position:absolute;right:0}.tensorsite-content__cta-icon.tensorsite-icon--internal span::after,.tensorsite-content__cta-icon.tensorsite-icon--internal span::before,.tensorsite-content__cta-icon.tensorsite-icon--external span::after,.tensorsite-content__cta-icon.tensorsite-icon--external span::before,.tensorsite-content__cta-icon.tensorsite-icon--newsletter span::after,.tensorsite-content__cta-icon.tensorsite-icon--newsletter span::before,.tensorsite-content__cta-icon.tensorsite-icon--video span::after,.tensorsite-content__cta-icon.tensorsite-icon--video span::before{background-position:center;background-size:80%;margin-left:0}.tensorsite-content__cta.devsite-dialog-button:hover{cursor:pointer}.tensorsite-content__cta.tensorsite-content__button ~ *:not(.tensorsite-content__button){line-height:46px}.tensorsite-content__image-wrapper{position:relative}.tensorsite-content__image-wrapper .tensorsite-content__image__play-button{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0;-webkit-transform:scale(0.8);transform:scale(0.8);transition:-webkit-transform .3s cubic-bezier(0.4, 0, 0.2, 1);transition:transform .3s cubic-bezier(0.4, 0, 0.2, 1);transition:transform .3s cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform .3s cubic-bezier(0.4, 0, 0.2, 1)}.tensorsite-content__description{font-family:"Roboto",sans-serif;font-size:16px;line-height:28px;flex-basis:auto;flex-grow:1;flex-shrink:1;margin-bottom:48px}@media only screen and (min-width: 1280px){.tensorsite-content__description{font-size:18px}}.tensorsite-content__description p a{font-weight:500}.tensorsite-content__description:last-child{margin-bottom:0}.tensorsite-content__image{border-radius:10px 10px 0 0;display:block;height:auto;width:100%}.tensorsite-content__subtitle{font-size:14px;line-height:22px;align-items:center;color:#425066;display:flex;margin-bottom:8px;position:relative}.tensorsite-content__subtitle-icon{margin-left:40px}.tensorsite-content__subtitle-icon span::after{background-repeat:no-repeat;background-size:contain;content:'';height:20px;left:-40px;position:absolute;top:0;transition:-webkit-filter .2s linear;transition:filter .2s linear;transition:filter .2s linear, -webkit-filter .2s linear;width:24px}.tensorsite-content__subtitle--under-title{margin-top:10px}.tensorsite-content__subtitle--bold{font-weight:700}.tensorsite-content__subtitle--gray{color:#818181;font-family:"Google Sans",sans-serif}.tensorsite-content__small-title{font-family:"Google Sans",sans-serif;font-size:20px;font-weight:500;line-height:26px;margin-bottom:12px}.tensorsite-content__small-title a:focus{outline:2px solid #425066;outline-offset:2px}.tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:36px;font-weight:700;line-height:48px;color:#425066;margin-bottom:12px;width:100%;position:relative}@media only screen and (max-width: 767px){.tensorsite-content__title{font-size:28px;line-height:36px;font-weight:700;letter-spacing:-0.25px}}@media only screen and (max-width: 1279px){.tensorsite-content__title{font-size:28px;line-height:36px;font-weight:700;letter-spacing:-0.25px}}.tensorsite-content__title span::after{background-repeat:no-repeat;background-size:contain;content:'';height:24px;position:absolute;right:0;top:0;transition:-webkit-filter .2s linear;transition:filter .2s linear;transition:filter .2s linear, -webkit-filter .2s linear;width:24px}.tensorsite-content>.tensorsite-content__title:last-child{margin-bottom:0}.tensorsite-content__title.tensorsite-icon{padding-right:26px}.tensorsite-content__title--clip{-webkit-transform:translateY(-35px);transform:translateY(-35px)}.tensorsite-content__title--grow{flex-grow:1}.tensorsite-content__title--grow span{top:auto}.tensorsite-content__title--orange{color:#ff6f00}.tensorsite-content__title--sideheading{font-family:"Google Sans",sans-serif;font-size:28px;font-weight:700;line-height:32px}.tensorsite-content__title--sidesubheading{font-family:"Google Sans",sans-serif;font-size:22px;font-weight:700;line-height:32px}.tensorsite-content__title i{font-size:32px;margin-right:-6px}.tensorsite-content--under-image{border-radius:0 0 10px 10px}.tensorsite-content__title+.tensorsite-content__cta{margin-top:16px}.tensorsite-content__description--align-left{text-align:left}.tensorsite-content__tag{color:#818181}.tensorsite-content__toc{margin-top:20px}.tensorsite-content__toc a:hover{color:#ff6f00}.tensorsite-content__toc a:hover span::after,.tensorsite-content__toc a:hover span::before{-webkit-transform:translateX(4px);transform:translateX(4px)}.tensorsite-content__toc a:hover span::after{opacity:0}.tensorsite-content__toc a:hover span::before{opacity:1}.tensorsite-content__toc a:hover span::after,.tensorsite-content__toc a:hover span::before{-webkit-transform:translateX(0px) translateY(-4px);transform:translateX(0px) translateY(-4px)}.tensorsite-content__toc .tensorsite-content__cta-image:focus .cta-image{box-shadow:none}.tensorsite-content__toc--main{display:flex;flex-direction:row;align-items:center;justify-content:space-evenly;width:100%;max-width:1000px;margin:10px auto}.tensorsite-content__toc--main a{display:flex;flex-direction:column;align-items:center}@media only screen and (max-width: 850px){.tensorsite-content__toc{display:flex;flex-direction:column;align-items:center}}.tensorsite-content__toc img{max-width:100px}@media only screen and (max-width: 767px){.tensorsite-content--center-on-mobile{text-align:center;align-items:center;padding:26px 0}.tensorsite-content--center-on-mobile a{align-self:center}}.tensorsite-content--align-center{text-align:center;align-items:center}.tensorsite-content--align-center a{align-self:center}.tensorsite-expandable__section{margin-bottom:16px}.tensorsite-expandable__section:last-child{margin-bottom:0}.tensorsite-expandable__section input{display:none}.tensorsite-expandable__section input:checked ~ .tensorsite-expandable__content{max-height:1000px}.tensorsite-expandable__section input:checked ~ label::after{-webkit-transform:rotate(0deg);transform:rotate(0deg)}.tensorsite-expandable__section label{font-family:"Google Sans",sans-serif;font-size:20px;font-weight:500;line-height:26px;background:#fff;border:1px #ccc solid;border-radius:10px;box-shadow:0 0 36px rgba(0,0,0,0.1);color:#425066;display:block;padding:20px 40px 18px 25px;position:relative}.tensorsite-expandable__section label::before,.tensorsite-expandable__section label::after{background:#425066;content:'';height:2px;position:absolute;right:25px;top:50%;transition:-webkit-transform .2s cubic-bezier(0.4, 0, 0.2, 1);transition:transform .2s cubic-bezier(0.4, 0, 0.2, 1);transition:transform .2s cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform .2s cubic-bezier(0.4, 0, 0.2, 1);width:11px}.tensorsite-expandable__section label::after{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}.tensorsite-expandable__section .tensorsite-expandable__content{max-height:0;overflow:hidden;transition:max-height .5s cubic-bezier(0.4, 0, 0.2, 1)}.tensorsite-expandable__section .tensorsite-expandable__content .tensorsite-content{padding:16px 25px}.tensorsite-expandable__section .tensorsite-expandable__content .tensorsite-content__description{font-size:14px;line-height:22px}a{color:#ff6f00;text-decoration:none}a:active,a:focus{text-decoration:none}.firesite-cta{font-family:"Google Sans",sans-serif;font-size:16px;font-weight:700;line-height:20px}.tensorsite-video-modal{width:720px}@media only screen and (min-width: 1280px){.tensorsite-video-modal{width:1124px}}.tensorsite-video-modal .devsite-dialog-buttons{display:none}.tensorsite-video-modal__buttons{padding:8px 16px 0;text-align:right}.tensorsite-video-modal__buttons .material-icons{cursor:pointer;font-size:20px;pointer-events:none}.tensorsite-video-modal__buttons .devsite-dialog-buttons{padding:8px 16px 0}.tensorsite-video-modal__buttons .video-wrapper-full-width{float:none;margin:0;width:100%}.tensorsite-video-modal__buttons .devsite-dialog-close{color:#425066;border:none;box-shadow:none;justify-content:center;margin:0;padding:0}.tensorsite-price-tag{position:absolute;right:0;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.tensorsite-price-tag__inner{background-color:#425066;border-radius:0 4px 4px 0;color:#fff;font-weight:bold;margin-left:12px;padding:4px 10px;position:relative;transition:background-color .2s linear,color .2s linear}.tensorsite-price-tag__inner::before{background-image:url("data:image/svg+xml,%3Csvg width='12' height='24' viewBox='0 0 12 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath d='M9.474 0H56a2 2 0 0 1 2 2v20a2 2 0 0 1-2 2H9.474a2 2 0 0 1-1.636-.85l-7.03-10a2 2 0 0 1 0-2.3l7.03-10A2 2 0 0 1 9.474 0z' fill='%23425066'/%3E%3Ccircle fill='%23FFF' cx='10' cy='12' r='2'/%3E%3C/g%3E%3C/svg%3E");content:"";height:100%;position:absolute;right:100%;top:0;transition:background-image .2s linear;width:12px}.tensorsite-profile-wrapper:not(:first-of-type){margin-top:30px}@media only screen and (min-width: 768px){.tensorsite-profile__info{align-items:center;display:flex}}.tensorsite-profile__image{border-radius:50%;max-width:110px;min-width:55px;width:20%}@media only screen and (min-width: 768px){.tensorsite-profile__image{padding-right:20px}}.tensorsite-profile__name{font-family:"Google Sans",sans-serif;font-size:16px;font-weight:700;line-height:26px;color:#425066}.tensorsite-profile__name p{margin:0}.tensorsite-sidenote{background-color:#fff;border-radius:10px;box-shadow:0 0 36px rgba(0,0,0,0.1);padding:26px 35px}@media only screen and (max-width: 767px){.tensorsite-sidenote{padding:30px 30px}}.tensorsite-sidenote__header-content .tensorsite-content{padding:26px 15px}.tensorsite-sidenote__header-content .tensorsite-content .tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:20px;font-weight:500;line-height:26px}.tensorsite-sidenote__sub-wrapper .tensorsite-sidenote__child:first-child .tensorsite-list,.tensorsite-sidenote__sub-wrapper .tensorsite-sidenote__child:first-child .tensorsite-profile,.tensorsite-sidenote__sub-wrapper .tensorsite-sidenote__child:first-child .tensorsite-content{padding-top:26px}@media only screen and (max-width: 767px){.tensorsite-sidenote__sub-wrapper .tensorsite-sidenote__child:first-child .tensorsite-list,.tensorsite-sidenote__sub-wrapper .tensorsite-sidenote__child:first-child .tensorsite-profile,.tensorsite-sidenote__sub-wrapper .tensorsite-sidenote__child:first-child .tensorsite-content{padding-top:0}}.tensorsite-sidenote__sub-wrapper .tensorsite-sidenote__child:last-child .tensorsite-list,.tensorsite-sidenote__sub-wrapper .tensorsite-sidenote__child:last-child .tensorsite-profile,.tensorsite-sidenote__sub-wrapper .tensorsite-sidenote__child:last-child .tensorsite-content{border-bottom:none;padding-bottom:26px}@media only screen and (max-width: 767px){.tensorsite-sidenote__sub-wrapper .tensorsite-sidenote__child:last-child .tensorsite-list,.tensorsite-sidenote__sub-wrapper .tensorsite-sidenote__child:last-child .tensorsite-profile,.tensorsite-sidenote__sub-wrapper .tensorsite-sidenote__child:last-child .tensorsite-content{padding-bottom:0}}.tensorsite-sidenote__sub-wrapper .tensorsite-sidenote__child.tensorsite-sidenote__large-title .tensorsite-content__title,.tensorsite-sidenote__sub-wrapper .tensorsite-sidenote__child.tensorsite-sidenote__large-title .tensorsite-list__title{font-family:"Google Sans",sans-serif;font-size:20px;font-weight:500;line-height:26px}.tensorsite-sidenote__sub-wrapper .tensorsite-sidenote__child.tensorsite-sidenote__large-title .tensorsite-list__title{margin-bottom:16px}.tensorsite-sidenote__sub-wrapper .tensorsite-sidenote__child.tensorsite-sidenote__no-border .tensorsite-list,.tensorsite-sidenote__sub-wrapper .tensorsite-sidenote__child.tensorsite-sidenote__no-border .tensorsite-profile,.tensorsite-sidenote__sub-wrapper .tensorsite-sidenote__child.tensorsite-sidenote__no-border .tensorsite-content{border-bottom:none}.tensorsite-sidenote__sub-wrapper .tensorsite-sidenote__child .tensorsite-list,.tensorsite-sidenote__sub-wrapper .tensorsite-sidenote__child .tensorsite-profile,.tensorsite-sidenote__sub-wrapper .tensorsite-sidenote__child .tensorsite-content{border-bottom:1px solid #dadada;padding:39px 15px}@media only screen and (max-width: 767px){.tensorsite-sidenote__sub-wrapper .tensorsite-sidenote__child .tensorsite-list,.tensorsite-sidenote__sub-wrapper .tensorsite-sidenote__child .tensorsite-profile,.tensorsite-sidenote__sub-wrapper .tensorsite-sidenote__child .tensorsite-content{padding:26px 0}}.tensorsite-sidenote__sub-wrapper .tensorsite-sidenote__child .tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:16px;font-weight:700;line-height:26px}@media only screen and (max-width: 767px){.tensorsite-sidenote__sub-wrapper .tensorsite-sidenote__child .tensorsite-content__cta-wrapper li,.tensorsite-sidenote__sub-wrapper .tensorsite-sidenote__child .tensorsite-content__cta-wrapper.tensorsite-content__cta-wrapper--abreast li{text-align:center}}@media only screen and (max-width: 767px){.tensorsite-sidenote__sub-wrapper .tensorsite-sidenote__child .tensorsite-content__cta-wrapper li:last-child,.tensorsite-sidenote__sub-wrapper .tensorsite-sidenote__child .tensorsite-content__cta-wrapper.tensorsite-content__cta-wrapper--abreast li:last-child{margin-bottom:0}}.tensorsite-top-tab{background:#fff;border-radius:10px;box-shadow:0 0 36px rgba(0,0,0,0.1);margin:auto;overflow:hidden;z-index:1}@media only screen and (max-width: 767px){.tensorsite-top-tab{border-radius:0}}.tensorsite-top-tab ::-webkit-scrollbar{background:transparent;display:none}.tensorsite-top-tab input[name='tabs']{left:-10000px;opacity:0;position:absolute}.tensorsite-top-tab input[name='tabs']#tab-1:checked ~ .tensorsite-top-tab__contents .tensorsite-top-tab__content:nth-of-type(1){display:block}.tensorsite-top-tab input[name='tabs']#tab-1:checked ~ .tensorsite-top-tab__tabs label:nth-child(1){color:#293241}.tensorsite-top-tab input[name='tabs']#tab-1:checked ~ .tensorsite-top-tab__tabs label:nth-child(1)::after{width:calc(100% - 30px)}.tensorsite-top-tab input[name='tabs'].key-down-focus#tab-1:checked ~ .tensorsite-top-tab__tabs label:nth-child(1){outline:2px solid #425066;outline-offset:2px;outline-offset:-5px}.tensorsite-top-tab input[name='tabs']#tab-2:checked ~ .tensorsite-top-tab__contents .tensorsite-top-tab__content:nth-of-type(2){display:block}.tensorsite-top-tab input[name='tabs']#tab-2:checked ~ .tensorsite-top-tab__tabs label:nth-child(2){color:#293241}.tensorsite-top-tab input[name='tabs']#tab-2:checked ~ .tensorsite-top-tab__tabs label:nth-child(2)::after{width:calc(100% - 30px)}.tensorsite-top-tab input[name='tabs'].key-down-focus#tab-2:checked ~ .tensorsite-top-tab__tabs label:nth-child(2){outline:2px solid #425066;outline-offset:2px;outline-offset:-5px}.tensorsite-top-tab input[name='tabs']#tab-3:checked ~ .tensorsite-top-tab__contents .tensorsite-top-tab__content:nth-of-type(3){display:block}.tensorsite-top-tab input[name='tabs']#tab-3:checked ~ .tensorsite-top-tab__tabs label:nth-child(3){color:#293241}.tensorsite-top-tab input[name='tabs']#tab-3:checked ~ .tensorsite-top-tab__tabs label:nth-child(3)::after{width:calc(100% - 30px)}.tensorsite-top-tab input[name='tabs'].key-down-focus#tab-3:checked ~ .tensorsite-top-tab__tabs label:nth-child(3){outline:2px solid #425066;outline-offset:2px;outline-offset:-5px}.tensorsite-top-tab input[name='tabs']#tab-4:checked ~ .tensorsite-top-tab__contents .tensorsite-top-tab__content:nth-of-type(4){display:block}.tensorsite-top-tab input[name='tabs']#tab-4:checked ~ .tensorsite-top-tab__tabs label:nth-child(4){color:#293241}.tensorsite-top-tab input[name='tabs']#tab-4:checked ~ .tensorsite-top-tab__tabs label:nth-child(4)::after{width:calc(100% - 30px)}.tensorsite-top-tab input[name='tabs'].key-down-focus#tab-4:checked ~ .tensorsite-top-tab__tabs label:nth-child(4){outline:2px solid #425066;outline-offset:2px;outline-offset:-5px}.tensorsite-top-tab input[name='tabs']#tab-5:checked ~ .tensorsite-top-tab__contents .tensorsite-top-tab__content:nth-of-type(5){display:block}.tensorsite-top-tab input[name='tabs']#tab-5:checked ~ .tensorsite-top-tab__tabs label:nth-child(5){color:#293241}.tensorsite-top-tab input[name='tabs']#tab-5:checked ~ .tensorsite-top-tab__tabs label:nth-child(5)::after{width:calc(100% - 30px)}.tensorsite-top-tab input[name='tabs'].key-down-focus#tab-5:checked ~ .tensorsite-top-tab__tabs label:nth-child(5){outline:2px solid #425066;outline-offset:2px;outline-offset:-5px}.tensorsite-top-tab input[name='tabs']#tab-6:checked ~ .tensorsite-top-tab__contents .tensorsite-top-tab__content:nth-of-type(6){display:block}.tensorsite-top-tab input[name='tabs']#tab-6:checked ~ .tensorsite-top-tab__tabs label:nth-child(6){color:#293241}.tensorsite-top-tab input[name='tabs']#tab-6:checked ~ .tensorsite-top-tab__tabs label:nth-child(6)::after{width:calc(100% - 30px)}.tensorsite-top-tab input[name='tabs'].key-down-focus#tab-6:checked ~ .tensorsite-top-tab__tabs label:nth-child(6){outline:2px solid #425066;outline-offset:2px;outline-offset:-5px}.tensorsite-top-tab .tensorsite-top-tab__tabs label::after{transition:width .3s ease}.tensorsite-top-tab .tensorsite-top-tab__content{-webkit-animation-duration:0.5s;animation-duration:0.5s;-webkit-animation-name:tensorsite-top-tab__content-fade;animation-name:tensorsite-top-tab__content-fade;display:none;padding:0 40px 40px 40px}.tensorsite-top-tab .tensorsite-top-tab__content a{display:inline-block;line-height:normal;border-bottom:1px solid #ff6f00;color:#616161;font-weight:500;transition:color .2s linear}.tensorsite-top-tab .tensorsite-top-tab__content a:hover{color:#ff6f00}@media only screen and (max-width: 767px){.tensorsite-top-tab .tensorsite-top-tab__content{padding:20px 0}}.tensorsite-top-tab__content--inner{align-items:center;display:flex;flex-wrap:wrap}.tensorsite-top-tab__content--inner .tensorsite-top-tab__content__text{flex-basis:calc(40% - 30px)}.tensorsite-top-tab__content--inner .tensorsite-top-tab__image{background-position:center;background-repeat:no-repeat;background-size:contain;flex-basis:calc(60% - 30px);height:100%;margin-top:39px;min-height:400px}.tensorsite-top-tab__content--inner .tensorsite-top-tab__content__text,.tensorsite-top-tab__content--inner .tensorsite-top-tab__image{margin:15px}@media only screen and (max-width: 1000px){.tensorsite-top-tab__content--inner .tensorsite-top-tab__content__text,.tensorsite-top-tab__content--inner .tensorsite-top-tab__image{flex-basis:calc(100% - 30px);margin:0 auto}}.tensorsite-top-tab__tabs{display:flex;margin:auto;-ms-overflow-style:none;overflow-x:auto;position:relative;scrollbar-width:none;white-space:nowrap;width:84%}@media only screen and (max-width: 1000px){.tensorsite-top-tab__tabs{width:100%}}.tensorsite-top-tab__tabs label{font-size:14px;line-height:22px;color:#425066;cursor:pointer;flex:1 1 auto;font-weight:500;padding:45px 18px 18px 18px;position:relative;text-align:center;transition:color .2s linear;-webkit-user-select:none;-ms-user-select:none;user-select:none}.tensorsite-top-tab__tabs label:focus::after,.tensorsite-top-tab__tabs label:hover::after{width:calc(100% - 30px)}.tensorsite-top-tab__tabs label::after{background:#293241;border-radius:5px 5px 0 0;bottom:0;content:'';height:3px;left:15px;position:absolute;width:0;z-index:1}@media only screen and (max-width: 767px){.tensorsite-top-tab__tabs label:last-child{border-bottom:1px solid #dadada}}.tensorsite-top-tab__tabs::after{background:#dadada;bottom:0;content:'';height:1px;left:18px;position:absolute;width:calc(100% - 36px)}@media only screen and (max-width: 1000px){.tensorsite-top-tab__tabs::after{width:calc(180% - 36px)}}@media only screen and (min-width: 768px){.tensorsite-top-tab__tabs::after{width:calc(100% - 36px)}}@-webkit-keyframes tensorsite-top-tab__content-fade{from{opacity:0;-webkit-transform:translateY(10px);transform:translateY(10px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes tensorsite-top-tab__content-fade{from{opacity:0;-webkit-transform:translateY(10px);transform:translateY(10px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}.tensorsite-sub-step__header-content .tensorsite-content{padding-left:0}@media only screen and (max-width: 767px){.tensorsite-sub-step__header-content .tensorsite-content{padding-right:0}}.tensorsite-sub-step__header-content .tensorsite-content__title{font-size:22px}.tensorsite-sub-step__title{color:#425066;font-size:22px;font-weight:500;margin-bottom:12px;margin-top:38px}@media only screen and (min-width: 768px){.tensorsite-sub-step__cards{display:flex;flex-wrap:wrap;justify-content:space-between}}.tensorsite-sub-step__cards .tensorsite-card{flex-shrink:0;margin-left:0;margin-right:0}@media only screen and (-ms-high-contrast: none), (-ms-high-contrast: active){.tensorsite-sub-step__cards .tensorsite-card{flex-basis:calc(50% / 3 - 30px - 1px)}}@supports (-ms-ime-align: auto){.tensorsite-sub-step__cards .tensorsite-card{flex-basis:calc(50% / 3 - 30px - 1px)}}@media only screen and (max-width: 850px){.tensorsite-sub-step__cards .tensorsite-card{flex-basis:100%;max-width:100%}}@media only screen and (max-width: 767px){.tensorsite-sub-step__cards .tensorsite-card{display:inline-block}}.tensorsite-list{padding:26px 0}@media only screen and (max-width: 767px){.tensorsite-list{padding:26px 0}}.tensorsite-list h5{overflow:visible}.tensorsite-list__title{color:#425066}.tensorsite-list__description a,.tensorsite-list__secondary-description a{display:inline-block;line-height:normal;border-bottom:1px solid #ff6f00;color:#616161;font-weight:500;transition:color .2s linear}.tensorsite-list__description a:hover,.tensorsite-list__secondary-description a:hover{color:#ff6f00}.tensorsite-list__items{padding-left:30px}.tensorsite-list__items--check{padding-left:40px}.tensorsite-list__items--custom-large{padding-left:56px}.tensorsite-list__item--check,.tensorsite-list__item--custom,.tensorsite-list__item--custom-large{list-style:none;position:relative}.tensorsite-list__item--check::before,.tensorsite-list__item--custom::before,.tensorsite-list__item--custom-large::before{content:'';position:absolute;top:3px}.tensorsite-list__item--check-large::before,.tensorsite-list__item--custom-large::before,.tensorsite-list__item--custom-large-large::before{height:36px;right:calc(100% + 20px);width:36px}.tensorsite-list__item--check::before{height:20px;left:-40px;width:20px}.tensorsite-list__item--custom::before{background-position:center;background-repeat:no-repeat;height:16px;left:-30px;width:16px}.tensorsite-list__item--email a{word-break:break-word}.tensorsite-list__item a{display:inline-block;line-height:normal;border-bottom:1px solid #ff6f00;color:#616161;font-weight:500;transition:color .2s linear}.tensorsite-list__item a:hover{color:#ff6f00}.tensorsite-list__item a p{display:inline}.tensorsite-list--box{border:1px #dadada solid;border-radius:10px;padding:26px}.tensorsite-list--white-bg{background-color:#fff}.tensorsite-list--large-title .tensorsite-list__title{font-family:"Google Sans",sans-serif;font-size:24px;font-weight:700;line-height:32px}.tensorsite-list--no-padding-bottom{padding-bottom:0 !important}.tensorsite-list--no-padding-top{padding-top:0 !important}.tensorsite-inline-video{margin:auto;width:100%}@media only screen and (max-width: 1279px){.tensorsite-inline-video{width:720px}}@media only screen and (min-width: 1280px){.tensorsite-inline-video{width:1124px}}.tensorsite-tooltip__container{display:inline-block;vertical-align:middle}.tensorsite-tooltip__container:hover{cursor:help}.tensorsite-tooltip__container:hover .tensorsite-tooltip__content-wrapper,.tensorsite-tooltip__container:hover .tensorsite-tooltip__content{display:block}.tensorsite-tooltip{background:none;border:none;box-shadow:none;display:inline-block;height:auto;margin:0;overflow:unset;padding:0;pointer-events:auto;position:relative;text-transform:unset;white-space:initial;width:auto;z-index:2}.tensorsite-tooltip a:hover{cursor:pointer}.tensorsite-tooltip .tensorsite-tooltip__content-wrapper{display:none;height:auto;left:-53px;padding:20px 0 0 0;position:absolute;width:auto}.tensorsite-tooltip .tensorsite-tooltip__content:before{border:none;border-bottom:10px solid #323232;border-left:10px solid transparent;border-right:10px solid transparent;content:'';height:10px;left:27px;position:absolute;top:11px;width:10px}.tensorsite-tooltip .tensorsite-tooltip__content{background-color:#323232;box-sizing:border-box;color:rgba(255,255,255,0.8);display:none;padding:15px;text-align:left;width:200px;border-radius:10px}.tensorsite-article-hero{margin:0 auto;max-width:1140px;position:relative}@media only screen and (min-width: 768px){.tensorsite-article-hero{padding:100px 180px 0}}@media only screen and (max-width: 1279px){.tensorsite-article-hero{flex-direction:column;padding:100px 100px 0}}@media only screen and (max-width: 1279px) and (-ms-high-contrast: none), only screen and (max-width: 1279px) and (-ms-high-contrast: active){.tensorsite-article-hero{display:block}}@media only screen and (max-width: 767px){.tensorsite-article-hero{padding:50px 35px 0}}.tensorsite-article-hero__inner{margin-bottom:80px}.tensorsite-article-hero .tensorsite-group__divider{margin:0 auto;width:100%}.tensorsite-article-hero__content .tensorsite-content{padding-left:0;padding-right:0}.tensorsite-article-hero__content:last-of-type .tensorsite-content{padding-bottom:0}.tensorsite-article-hero__content--white-bg{border:1px #ccc solid;border-radius:10px;padding:26px}.tensorsite-article-hero__content--white-bg .tensorsite-content{padding:0}.tensorsite-casestudy{background-color:#f5f6f7;margin:auto;min-height:1200px;padding:10px 40px;position:relative;display:flex;flex-direction:column;align-items:center}@media only screen and (max-width: 767px){.tensorsite-casestudy{padding:10px 20px}}.tensorsite-casestudy .tensorsite-card{background-color:#fff;max-width:none;z-index:1}@media only screen and (max-width: 1000px){.tensorsite-casestudy .tensorsite-card{flex-basis:calc(100% / 2 - 30px)}}@media only screen and (max-width: 767px){.tensorsite-casestudy .tensorsite-card{flex-basis:calc(100% - 30px)}}.tensorsite-casestudy .tensorsite-group__header{padding:0 40px;max-width:1380px}.tensorsite-casestudy .tensorsite-group__header .tensorsite-content{padding:0}@media only screen and (max-width: 767px){.tensorsite-casestudy .tensorsite-group__header{padding:0 12px}}.tensorsite-casestudy .tensorsite-container{padding:0}.tensorsite-casestudy__title{font-family:"Google Sans",sans-serif;font-size:24px;font-weight:700;line-height:32px;color:#425066;margin:15px 15px 60px 15px}.tensorsite-casestudy__content{align-items:center;display:flex;flex-direction:column}@media only screen and (max-width: 767px){.tensorsite-casestudy__content{display:block}}.tensorsite-casestudy__content--centered{display:block}.tensorsite-casestudy__cards{flex-basis:calc(3 * 100% / 4 - 30px);flex-grow:0;flex-shrink:1;width:100%}.tensorsite-casestudy__cards .tensorsite-group__inner{border-bottom:none}.tensorsite-casestudy__cards .tensorsite-container{padding:0px}.tensorsite-casestudy__filters{margin-top:24px}.tensorsite-casestudy__filters button{font-size:14px;line-height:22px;background-color:transparent;color:#425066;font-weight:500;transition:color .2s linear;padding:0 16px 0 2px;margin:0 20px 12px 0;border:1px solid #ff6f00;border-radius:20px;height:auto}@media only screen and (max-width: 480px){.tensorsite-casestudy__filters button{margin:8px 0}}.tensorsite-casestudy__filters button:focus:not([selected]),.tensorsite-casestudy__filters button:hover:not([selected]){color:#ff6f00;border:1px solid #ff6f00;background-color:transparent}.tensorsite-casestudy__filters button[selected]{background-color:#ff6f00}.tensorsite-casestudy__filters button[selected]::before{content:none}.tensorsite-casestudy__filters button[selected] .icon{display:none}.tensorsite-casestudy__filters button[selected] .icon--checked{display:block}.tensorsite-casestudy__filters button span{display:none;visibility:collapse}.tensorsite-casestudy__filters button img{max-width:40px}.tensorsite-casestudy__filters button .icon{display:block}.tensorsite-casestudy__filters button .icon--checked{display:none}#filter-checkboxes-match-all{display:flex;flex-direction:row;justify-content:flex-start;flex-wrap:wrap;padding:12px 40px 0;max-width:1380px;margin:0 auto}#filter-checkboxes-match-all label{font-size:14px;line-height:22px;color:#425066;font-weight:500;transition:color .2s linear;padding:0 16px 0 2px;margin:0 20px 12px 0;border:1px solid #ff6f00;border-radius:20px;display:flex;align-items:center}#filter-checkboxes-match-all label:focus,#filter-checkboxes-match-all label:hover{color:#ff6f00}#filter-checkboxes-match-all label::before{content:none}#filter-checkboxes-match-all label span{display:none;visibility:collapse}#filter-checkboxes-match-all label img{max-width:40px}#filter-checkboxes-match-all label .icon{display:block}#filter-checkboxes-match-all label .icon--checked{display:none}#filter-checkboxes-match-all input[type='checkbox']{position:absolute;visibility:hidden}#filter-checkboxes-match-all input[type='checkbox']:checked+label{background-color:#ff6f00;color:white}#filter-checkboxes-match-all input[type='checkbox']:checked+label .icon{display:none}#filter-checkboxes-match-all input[type='checkbox']:checked+label .icon--checked{display:block}#filter-checkboxes-match-all input[type='checkbox']::after{content:none}.tensorsite-column-list{margin:0 auto 52px;max-width:1440px;padding:0 30px}.tensorsite-column-list__intro{margin:0 auto;max-width:642px}.tensorsite-column-list__title{font-family:"Google Sans",sans-serif;font-size:24px;font-weight:700;line-height:32px;color:#425066;text-align:center}.tensorsite-column-list__description{color:#616161;text-align:center}.tensorsite-column-list__description a{display:inline-block;line-height:normal;border-bottom:1px solid #ff6f00;color:#616161;font-weight:500;transition:color .2s linear}.tensorsite-column-list__description a:hover{color:#ff6f00}.tensorsite-column-list__description a:focus{outline:2px solid #425066;outline-offset:2px;text-decoration:none}.tensorsite-column-list__item{border-top:1px solid #dadada;display:flex;padding:50px 100px 30px}.tensorsite-column-list__item:last-child{border-bottom:1px solid #dadada}@media only screen and (max-width: 767px){.tensorsite-column-list__item{border-top:0;flex-direction:column;margin:20px 0;padding:20px;text-align:center}}@media only screen and (min-width: 768px){.tensorsite-column-list__item-image{flex:0 0 8%;margin-right:30px}}@media only screen and (max-width: 767px){.tensorsite-column-list__item-image{margin:15px 0}}.tensorsite-column-list__item-image img{max-height:96px;max-width:96px;width:100%}@media only screen and (min-width: 768px){.tensorsite-column-list__item-heading{flex:0 0 30%;margin-right:20px}}@media only screen and (max-width: 767px){.tensorsite-column-list__item-heading{margin:0}.tensorsite-column-list__item-heading .tensorsite-column-list__item-cta{display:none}}.tensorsite-column-list__item-title{font-family:"Google Sans",sans-serif;font-size:20px;font-weight:500;line-height:26px;color:#425066;margin-bottom:20px}.tensorsite-column-list__item-cta{transition:color .2s linear}@media only screen and (max-width: 767px){.tensorsite-column-list__item-cta{align-self:center}}@media only screen and (min-width: 768px){.tensorsite-column-list__item-cta--mobile{display:none}}.tensorsite-column-list__item-description{color:#616161}.tensorsite-column-list__item-description p:first-child{margin-top:0}.tensorsite-dynamic-blog-section .devsite-card-wrapper{flex-basis:auto;max-width:none;padding:0}.tensorsite-dynamic-blog-section .devsite-card-group{grid-template-columns:repeat(4, 1fr);margin:0 15px}@media only screen and (max-width: 1000px){.tensorsite-dynamic-blog-section .devsite-card-group{grid-template-columns:repeat(2, 1fr)}}@media only screen and (max-width: 1000px){.tensorsite-ecosystem .tensorsite-container{padding:0}}.tensorsite-ecosystem .ecosystem{background:#fff;border-radius:10px;box-shadow:0 0 36px rgba(0,0,0,0.1);padding:60px}@media only screen and (max-width: 1000px){.tensorsite-ecosystem .ecosystem{overflow:scroll;padding:50px 20px}}.tensorsite-ecosystem .ecosystem__row{border-bottom:1px solid #dadada;display:flex}@media only screen and (max-width: 1000px){.tensorsite-ecosystem .ecosystem__row{width:970px}.tensorsite-ecosystem .ecosystem__row::after{content:'';display:block;flex:0 0 20px;height:1px}}.tensorsite-ecosystem .ecosystem__row--header{font-family:"Google Sans",sans-serif;font-size:16px;font-weight:700;line-height:26px;border:none;color:#425066;text-align:center}.tensorsite-ecosystem .ecosystem__row--header .ecosystem__col{padding-top:30px;position:relative}.tensorsite-ecosystem .ecosystem__row--header .ecosystem__col::before{font-size:18px;line-height:30px;background:#fff;border-radius:50%;box-shadow:0 0 36px rgba(0,0,0,0.1);color:#ff6f00;display:block;height:32px;left:50%;position:absolute;top:0;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);width:32px}.tensorsite-ecosystem .ecosystem__row--header .ecosystem__col:nth-child(0)::before{content:"-1"}.tensorsite-ecosystem .ecosystem__row--header .ecosystem__col:nth-child(1)::before{content:"0"}.tensorsite-ecosystem .ecosystem__row--header .ecosystem__col:nth-child(2)::before{content:"1"}.tensorsite-ecosystem .ecosystem__row--header .ecosystem__col:nth-child(3)::before{content:"2"}.tensorsite-ecosystem .ecosystem__row--header .ecosystem__col:nth-child(4)::before{content:"3"}.tensorsite-ecosystem .ecosystem__row--header .ecosystem__row-body__bg::before,.tensorsite-ecosystem .ecosystem__row--header .ecosystem__row-body__bg::after,.tensorsite-ecosystem .ecosystem__row--header .ecosystem__row-body__bg .ecosystem__row-body__bg-col{border-top-left-radius:10px;border-top-right-radius:10px}.tensorsite-ecosystem .ecosystem__row-header{align-items:center;display:flex;flex:0 0 11%;flex-direction:column;justify-content:center;max-width:11%;padding:20px;text-align:center}.tensorsite-ecosystem .ecosystem__row-header__image{background-position:center;background-repeat:no-repeat;background-size:contain;height:40px;margin-bottom:10px;width:100%}@media only screen and (max-width: 1279px){.tensorsite-ecosystem .ecosystem__row-header__image{height:32px}}.tensorsite-ecosystem .ecosystem__row-header__title{font-family:"Google Sans",sans-serif;font-size:14px;font-weight:700;line-height:18px;align-items:center;color:#425066;font-weight:500}@media only screen and (max-width: 1279px){.tensorsite-ecosystem .ecosystem__row-header__title{font-size:11px;line-height:14px}}.tensorsite-ecosystem .ecosystem__row-header__labels{font-family:"Google Sans",sans-serif;font-size:12px;font-weight:700;line-height:18px;color:#616161;margin-top:15px}@media only screen and (max-width: 1279px){.tensorsite-ecosystem .ecosystem__row-header__labels{font-size:10px;line-height:14px;margin-top:10px}}.tensorsite-ecosystem .ecosystem__row-body{display:flex;flex:0 0 89%;justify-content:space-between;max-width:89%;position:relative}.tensorsite-ecosystem .ecosystem__row-body__bg{bottom:0;display:flex;justify-content:space-between;left:0;position:absolute;right:0;top:0}.tensorsite-ecosystem .ecosystem__row-body__bg::before,.tensorsite-ecosystem .ecosystem__row-body__bg::after,.tensorsite-ecosystem .ecosystem__row-body__bg .ecosystem__row-body__bg-col{background:#f5f6f7;content:'';display:block;flex:0 0 calc(33.33% - 5px);max-width:calc(33.33% - 5px)}.tensorsite-ecosystem .ecosystem__col{display:flex;flex:0 0 calc(100%/3 - 5px);flex-direction:column;max-width:calc(100%/3 - 5px);padding:20px 20px 0;position:relative}.tensorsite-ecosystem .ecosystem__col--full{flex:0 0 100%;max-width:100%}.tensorsite-ecosystem .ecosystem__col--full .ecosystem-card__main-content,.tensorsite-ecosystem .ecosystem__col--full .ecosystem-card__expanding-content{margin:0 auto;max-width:450px;width:60%}@media only screen and (max-width: 1279px){.tensorsite-ecosystem .ecosystem__col{padding:15px 15px 0}}.tensorsite-ecosystem .ecosystem__next{background-image:url(/site-assets/images/marketing/icon/icon_ecosystem_next.svg);background-position:center;background-repeat:no-repeat;background-size:80%;display:inline-block;height:20px;margin:-15px auto 5px;text-align:center;width:20px}@media only screen and (max-width: 1279px){.tensorsite-ecosystem .ecosystem__next{margin-top:-10px}}.tensorsite-ecosystem .ecosystem-input{left:-10000px;opacity:0;position:fixed}.tensorsite-ecosystem .ecosystem-input:checked+.ecosystem-card{z-index:10}.tensorsite-ecosystem .ecosystem-input:checked+.ecosystem-card .ecosystem-card__expanding-content{margin-bottom:20px;max-height:200px;opacity:1}.tensorsite-ecosystem .ecosystem-input:checked+.ecosystem-card .ecosystem-card__lower-content{box-shadow:0 0 64px rgba(0,0,0,0.22)}.tensorsite-ecosystem .ecosystem-input:checked+.ecosystem-card .ecosystem-card__toggle{background-image:url(/site-assets/images/marketing/icon/icon_ecosystem_close.svg)}.tensorsite-ecosystem .ecosystem-card{border-radius:10px;font-weight:500;margin-bottom:20px;position:relative;font-family:"Google Sans",sans-serif;font-size:12px;line-height:16px}@media only screen and (max-width: 1279px){.tensorsite-ecosystem .ecosystem-card{font-size:10px;line-height:14px;margin-bottom:15px}}.tensorsite-ecosystem .ecosystem-card--no-cta .ecosystem-card__lower-content{padding-bottom:32px}.tensorsite-ecosystem .ecosystem-card__label{font-family:"Google Sans",sans-serif;font-size:12px;font-weight:700;line-height:18px;border-bottom:1px solid rgba(66,80,102,0.08);color:#425066;font-size:9px;position:relative;text-align:center;text-transform:uppercase;z-index:2}.tensorsite-ecosystem .ecosystem-card__content-wrapper{padding-bottom:31px}@media only screen and (max-width: 1279px){.tensorsite-ecosystem .ecosystem-card__content-wrapper{padding-bottom:29px}}.tensorsite-ecosystem .ecosystem-card__main-content{align-items:center;display:flex;height:80px;justify-content:center;margin:0 30px;overflow:hidden;position:relative;text-align:center;z-index:2}@media only screen and (max-width: 1279px){.tensorsite-ecosystem .ecosystem-card__main-content{height:60px;margin:0 15px}}.tensorsite-ecosystem .ecosystem-card__lower-content{background:#fff;border-radius:10px;box-shadow:0 0 36px rgba(0,0,0,0.1);height:auto;left:0;padding:100px 30px 15px;position:absolute;right:0;text-align:center;top:0;transition:box-shadow .3s ease;z-index:1}@media only screen and (max-width: 1279px){.tensorsite-ecosystem .ecosystem-card__lower-content{padding:80px 15px 15px}}.tensorsite-ecosystem .ecosystem-card__expanding-content{max-height:0px;opacity:0;overflow:hidden;text-align:center;transition:all .3s ease}.tensorsite-ecosystem .ecosystem-card__cta{display:inline-block;line-height:normal;border-bottom:1px solid #ff6f00;color:#616161;font-weight:500;transition:color .2s linear;color:#616161;font-weight:700}.tensorsite-ecosystem .ecosystem-card__cta:hover{color:#ff6f00}.tensorsite-ecosystem .ecosystem-card__cta:focus{outline:2px solid #425066;outline-offset:2px}.tensorsite-ecosystem .ecosystem-card__toggle{background-image:url(/site-assets/images/marketing/icon/icon_ecosystem_info.svg);background-position:center;background-repeat:no-repeat;background-size:auto;border-radius:50%;bottom:12px;cursor:pointer;height:24px;position:absolute;right:12px;width:24px}@media only screen and (max-width: 1000px){.tensorsite-ecosystem .ecosystem-card__toggle{bottom:0;height:48px;right:0;width:48px}}.tensorsite-examples-table{background:#fff;border-radius:10px;box-shadow:0 0 36px rgba(0,0,0,0.1);padding:40px}.tensorsite-examples-table input.tensorsite-examples-table__search{background:#f1f3f4;border:0;border-bottom:2px solid transparent;border-radius:2px;margin:12px 0;max-width:426px;padding:8px}.tensorsite-examples-table input.tensorsite-examples-table__search:focus{border-bottom:2px solid #1a73e8}.tensorsite-examples-table .devsite-select--multiple{margin:0 16px 8px 0}.tensorsite-examples-table .devsite-select .devsite-icon-arrow-drop-down{right:0}.tensorsite-examples-table .checkbox-demo{margin:8px 0}.tensorsite-examples-table table{border-radius:10px;margin-top:24px;overflow:hidden}.tensorsite-examples-table thead{background:#425066;color:#fff}.tensorsite-examples-table thead th{font-family:"Google Sans",sans-serif;font-size:14px;font-weight:700;line-height:22px;background:none;color:#fff;padding:14px 24px}.tensorsite-examples-table thead th.widest-column{min-width:210px}.tensorsite-examples-table thead th.medium-column{min-width:150px}.tensorsite-examples-table tr{border:0}.tensorsite-examples-table tr td{min-width:130px;padding:12px 24px;vertical-align:middle;width:140px}.tensorsite-examples-table tr td>a{font-family:"Google Sans",sans-serif;font-weight:700;font-size:14px;line-height:22px}.tensorsite-examples-table tr td span:before,.tensorsite-examples-table tr td span:after{width:16px}.tensorsite-examples-table tr:nth-child(even){background-color:#425066}.tensorsite-examples-table .tensorsite-content__cta-wrapper a{align-self:center}.tensorsite-fancy-hero-wrapper{background-color:transparent;margin:0 auto;overflow:hidden;position:relative;width:100%}.tensorsite-fancy-hero-wrapper iframe.framebox{opacity:0}@media only screen and (min-width: 768px){.tensorsite-fancy-hero-wrapper iframe{min-height:550px}}.tensorsite-fancy-hero-wrapper devsite-framebox iframe{opacity:1}@media only screen and (min-width: 768px){.tensorsite-fancy-hero-wrapper+.tensorsite-casestudy{margin-top:-90px}}.tensorsite-fancy-hero-wrapper--short{min-height:0}.tensorsite-fancy-hero{background-color:transparent;margin:0 auto;max-width:1420px;padding:0 40px;position:relative}@media only screen and (min-width: 768px){.tensorsite-fancy-hero{min-height:440px}}@media only screen and (max-width: 767px){.tensorsite-fancy-hero{padding:0 20px}}.tensorsite-fancy-hero .tensorsite-content__subtitle{font-family:"Google Sans",sans-serif;font-size:14px;font-weight:700;line-height:22px;font-weight:600}.tensorsite-fancy-hero .tensorsite-content__description{font-size:18px;line-height:30px;color:#425066}.tensorsite-fancy-hero .tensorsite-content__cta-wrapper{margin-top:8px}.tensorsite-fancy-hero__brand-image{background-repeat:no-repeat;background-size:contain;height:40px;margin:0 15px;width:calc(16.66667% - $margin-gutter)}.tensorsite-fancy-hero__image{position:absolute;right:-22%;top:0;width:70%}.tensorsite-fancy-hero__image img{max-height:430px}@media only screen and (max-width: 767px){.tensorsite-fancy-hero__image{width:110%}}.tensorsite-fancy-hero__content{margin:0 15px;padding:0;text-align:left;width:calc(41.66667% - 30px)}@media only screen and (max-width: 1000px){.tensorsite-fancy-hero__content{width:calc(50% - 30px)}}@media only screen and (max-width: 767px){.tensorsite-fancy-hero__content{margin:40% 0 0;width:100%}}@media only screen and (max-width: 767px){.tensorsite-fancy-hero__content .tensorsite-content{padding:26px 15px}}.tensorsite-fancy-hero__slides-wrapper{position:relative}.tensorsite-fancy-hero__slide{left:0;opacity:1;top:0;transition:.3s opacity linear;width:100%}@media only screen and (min-width: 768px){.tensorsite-fancy-hero__slide{padding:40px 8.33333%}}@media only screen and (max-width: 1279px){.tensorsite-fancy-hero__slide{flex-direction:column;padding:40px 0}}@media only screen and (max-width: 767px){.tensorsite-fancy-hero__slide{box-sizing:border-box;overflow:hidden;padding:50px 15px 20px}}.tensorsite-fancy-hero__slide--fade{-webkit-animation-duration:1.5s;animation-duration:1.5s;-webkit-animation-name:tensorsite-fancy-hero__slide-fade;animation-name:tensorsite-fancy-hero__slide-fade}.tensorsite-fancy-hero__slide.is-carousel{position:absolute}.tensorsite-fancy-hero__slide.is-invisible{opacity:0;pointer-events:none}.tensorsite-fancy-hero__slide .tensorsite-content{padding-left:0;padding-right:0}.tensorsite-fancy-hero__dots{bottom:140px;position:absolute}@media only screen and (min-width: 1280px){.tensorsite-fancy-hero__dots{margin:30px 0 30px calc(8.33333% + (30px / 2 - 7px))}}@media only screen and (max-width: 1279px){.tensorsite-fancy-hero__dots{margin:30px 0 30px 10px}}@media only screen and (max-width: 767px){.tensorsite-fancy-hero__dots{bottom:20px;margin:0 0 30px 15px}}.tensorsite-fancy-hero__dot{background:none;border:2px #ccc solid;border-radius:50%;cursor:pointer;display:inline-block;height:14px;margin:0 2px;min-width:0;padding:0;transition:background-color .3s linear;width:14px}.tensorsite-fancy-hero__dot:focus{outline:2px solid #425066;outline-offset:2px}.tensorsite-fancy-hero__dot.is-active{background-color:#ccc}.tensorsite-footer{margin-top:-92px;overflow:hidden;padding-top:92px;pointer-events:none;position:relative}.tensorsite-footer::before,.tensorsite-footer::after{bottom:0;content:'';display:block;position:absolute}.tensorsite-footer::before{background:#ff6f00;left:0;right:calc(1440px + ((100% - 1440px) / 2) + (192px / 2));top:184px}.tensorsite-footer::after{background:#FFA800;left:calc(1440px + ((100% - 1440px) / 2) + (192px / 2));right:0;top:0}.tensorsite-footer--gray{margin-top:0px;background-color:#f5f6f7}.tensorsite-footer__container{background-image:linear-gradient(-90deg, #FFA800 18%, #ff6f00 86%);margin:0 auto;max-width:calc(100% - 192px);min-height:350px;padding:70px 0;position:relative}@media screen and (min-width: 1440px){.tensorsite-footer__container{max-width:1248px}}@media only screen and (max-width: 767px){.tensorsite-footer__container{background-image:linear-gradient(-90deg, #FFA800, #ff6f00);padding-bottom:100px}}.tensorsite-footer__side{bottom:0;position:absolute;width:192px}.tensorsite-footer__side::before{content:'';display:block;height:92px;margin-top:-92px;width:100%}.tensorsite-footer__side--left{background:#ff6f00;left:-192px;top:92px}.tensorsite-footer__side--left::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 192 92'%3E%3Cpath d='M162 8L96 46 30 84a60.7 60.7 0 0 1-30 8h192V0a60.7 60.7 0 0 0-30 8z' fill='%23FF6F00'/%3E%3C/svg%3E")}.tensorsite-footer__side--right{background:#FFA800;right:-192px;top:0}.tensorsite-footer__side--right::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 192 92'%3E%3Cpath d='M162 8L96 46 30 84a60.7 60.7 0 0 1-30 8h192V0a60.7 60.7 0 0 0-30 8z' fill='%23ffa800'/%3E%3C/svg%3E")}.tensorsite-footer__content{pointer-events:auto;position:relative;z-index:3}.tensorsite-footer__content .tensorsite-content{margin:0 auto;max-width:650px;padding:0}.tensorsite-footer__content .tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:36px;font-weight:700;line-height:48px;color:#fff;padding:0;text-align:center;width:auto}@media only screen and (max-width: 767px){.tensorsite-footer__content .tensorsite-content__title{font-size:28px;line-height:36px;font-weight:700;letter-spacing:-0.25px}}@media only screen and (max-width: 1279px){.tensorsite-footer__content .tensorsite-content__title{font-size:28px;line-height:36px;font-weight:700;letter-spacing:-0.25px}}.tensorsite-footer__content .tensorsite-content__description{font-size:18px;line-height:30px;color:#fff;text-align:center}.tensorsite-footer__content .tensorsite-content__cta-wrapper{margin-top:10px;text-align:center}.tensorsite-footer__content .tensorsite-content__cta-wrapper a{align-self:center}.tensorsite-footer__content .tensorsite-content .tensorsite-content__title+.tensorsite-content__cta-wrapper{margin-top:40px}@media only screen and (max-width: 767px){.tensorsite-footer__content{margin:36px -76px}}.tensorsite-footer__lines{background:url(/site-assets/images/marketing/footer-lines.svg) center bottom/100% auto no-repeat;bottom:0;left:50%;max-width:1720px;min-width:1320px;pointer-events:none;position:absolute;top:0;-webkit-transform:translate(-50%, 0);transform:translate(-50%, 0);width:90vw;z-index:2}@media only screen and (max-width: 767px){.tensorsite-footer__lines{-webkit-transform:translate(-30%, 0);transform:translate(-30%, 0)}}@media only screen and (max-width: 480px){.tensorsite-footer__lines{-webkit-transform:translate(-20%, 0);transform:translate(-20%, 0)}}.tensorsite-footer--redesign .tensorsite-content{max-width:unset}.tensorsite-footer--redesign .tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:48px;font-weight:700;line-height:72px;letter-spacing:-0.5px;color:#fff;color:#fff;text-align:center}@media only screen and (max-width: 1279px){.tensorsite-footer--redesign .tensorsite-content__title{line-height:58px}}@media only screen and (max-width: 767px){.tensorsite-footer--redesign .tensorsite-content__title{font-size:36px;line-height:44px;letter-spacing:-0.25px}}.tensorsite-footer--redesign .tensorsite-content__cta-wrapper{flex-direction:row;text-align:center;align-self:center;gap:34px}@media only screen and (max-width: 767px){.tensorsite-footer--redesign .tensorsite-content__cta-wrapper{flex-direction:column;gap:16px}}.tensorsite-footer--redesign .tensorsite-content .tensorsite-button{font-family:"Google Sans",sans-serif;font-size:16px;font-weight:500;line-height:24px;color:#616161;text-decoration:underline;text-underline-offset:4px;text-decoration:none;align-self:center}.tensorsite-footer--redesign .tensorsite-content .tensorsite-button:hover,.tensorsite-footer--redesign .tensorsite-content .tensorsite-button:focus{color:#ff6f00}.tensorsite-footer--redesign .tensorsite-content .tensorsite-button:hover{color:#fff}.tensorsite-footerlink{color:#425066;margin:0 auto 80px;max-width:1140px}@media only screen and (min-width: 768px){.tensorsite-footerlink{padding:0 180px}}@media only screen and (max-width: 1279px){.tensorsite-footerlink{flex-direction:column;margin-bottom:50px;padding:0 100px}}@media only screen and (max-width: 1279px) and (-ms-high-contrast: none), only screen and (max-width: 1279px) and (-ms-high-contrast: active){.tensorsite-footerlink{display:block}}@media only screen and (max-width: 767px){.tensorsite-footerlink{padding:35px 35px 0}}.tensorsite-footerlink__inner{display:flex}.tensorsite-footerlink__wrapper{color:#425066;cursor:pointer;margin-bottom:auto;transition:.2s color linear;width:46%}.tensorsite-footerlink__wrapper:focus{outline:2px solid #425066;outline-offset:2px}.tensorsite-footerlink__wrapper-left{margin-right:auto;text-align:left}.tensorsite-footerlink__wrapper-left .tensorsite-footerlink__label{padding-left:35px}.tensorsite-footerlink__wrapper-left .tensorsite-footerlink__label::before,.tensorsite-footerlink__wrapper-left .tensorsite-footerlink__label::after{left:0}.tensorsite-footerlink__wrapper-right{margin-left:auto;text-align:right}.tensorsite-footerlink__wrapper-right .tensorsite-footerlink__label{padding-right:35px}.tensorsite-footerlink__wrapper-right .tensorsite-footerlink__label::before,.tensorsite-footerlink__wrapper-right .tensorsite-footerlink__label::after{right:0}.tensorsite-footerlink__wrapper:hover,.tensorsite-footerlink__wrapper:focus{color:#ff6f00}.tensorsite-footerlink__wrapper:hover .tensorsite-footerlink__label::before,.tensorsite-footerlink__wrapper:focus .tensorsite-footerlink__label::before{opacity:1}.tensorsite-footerlink__wrapper:hover .tensorsite-footerlink__label::after,.tensorsite-footerlink__wrapper:focus .tensorsite-footerlink__label::after{opacity:0}.tensorsite-footerlink__label{font-family:"Google Sans",sans-serif;font-size:20px;font-weight:500;line-height:26px;position:relative}.tensorsite-footerlink__label::before,.tensorsite-footerlink__label::after{background-repeat:no-repeat;background-size:contain;bottom:0;content:'';height:18px;margin:auto 0;position:absolute;right:0px;top:0;transition:.2s opacity linear;width:18px}.tensorsite-footerlink__label::before{opacity:0}.tensorsite-footerlink__body{font-family:"Google Sans",sans-serif;font-size:20px;font-weight:500;line-height:26px}.tensorsite-hero+.tensorsite-group:not(.tensorsite-group--has-top-divider) .tensorsite-container:first-child{margin-top:0}@media only screen and (max-width: 767px){.tensorsite-group .tensorsite-block .tensorsite-card{flex-basis:calc(100% - 30px);flex-shrink:0}}@media only screen and (max-width: 767px){.tensorsite-group .tensorsite-expandable{padding:0 15px}}.tensorsite-group__divider{border-top:1px solid #dadada;margin:auto 80px;max-width:1420px}@media only screen and (min-width: 1430px){.tensorsite-group__divider{margin:auto;width:90%}}.tensorsite-group__divider--footerlink{border-color:#425066;margin:0 auto 22px;width:100%}.tensorsite-group__header .tensorsite-content{padding-bottom:50px;padding-top:0}@media only screen and (max-width: 767px){.tensorsite-group__header .tensorsite-content{padding-left:15px;padding-right:15px}}.tensorsite-group__header:last-child .tensorsite-content{padding-bottom:0}.tensorsite-group__header,.tensorsite-group__footer{margin:0 auto;text-align:center}.tensorsite-group__header .tensorsite-content__title,.tensorsite-group__footer .tensorsite-content__title{align-self:flex-start;margin:auto;max-width:540px}.tensorsite-group__header .tensorsite-content__small-title,.tensorsite-group__footer .tensorsite-content__small-title{align-self:flex-start;margin:auto;max-width:860px}.tensorsite-group__header .tensorsite-content__description,.tensorsite-group__footer .tensorsite-content__description{margin:10px auto;width:55%}@media only screen and (max-width: 1279px){.tensorsite-group__header .tensorsite-content__description,.tensorsite-group__footer .tensorsite-content__description{width:70%}}@media only screen and (max-width: 767px){.tensorsite-group__header .tensorsite-content__description,.tensorsite-group__footer .tensorsite-content__description{width:100%}}.tensorsite-group__header .tensorsite-content__description:last-child,.tensorsite-group__footer .tensorsite-content__description:last-child{margin-bottom:0}.tensorsite-group__header .tensorsite-content__cta-wrapper,.tensorsite-group__footer .tensorsite-content__cta-wrapper{margin-top:16px}.tensorsite-group__header ul.tensorsite-content__cta-wrapper,.tensorsite-group__footer ul.tensorsite-content__cta-wrapper{justify-content:center}.tensorsite-group__header .tensorsite-content__cta,.tensorsite-group__header .tensorsite-content__button,.tensorsite-group__footer .tensorsite-content__cta,.tensorsite-group__footer .tensorsite-content__button{align-self:center}.tensorsite-group__header--align-left,.tensorsite-group__footer--align-left{text-align:left}@media only screen and (max-width: 850px){.tensorsite-group__header--align-left,.tensorsite-group__footer--align-left{max-width:600px}}.tensorsite-group__header--align-left .tensorsite-content__description,.tensorsite-group__header--align-left .tensorsite-content__title,.tensorsite-group__footer--align-left .tensorsite-content__description,.tensorsite-group__footer--align-left .tensorsite-content__title{align-self:flex-start;margin-left:0;margin-right:0}.tensorsite-group__header--align-left .tensorsite-content__cta,.tensorsite-group__footer--align-left .tensorsite-content__cta{align-self:flex-start}.tensorsite-group__footer .tensorsite-content{padding-bottom:0;padding-top:50px}.tensorsite-group__footer .tensorsite-content .tensorsite-content__cta-wrapper a{align-self:center}.tensorsite-group__footer .tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:24px;font-weight:700;line-height:32px}.tensorsite-group__inner{display:flex;flex-wrap:wrap;list-style:none;margin:-15px auto}.tensorsite-group__inner[data-carousel-container]{flex-wrap:nowrap;transition:-webkit-transform .5s cubic-bezier(0.4, 0, 0.2, 1);transition:transform .5s cubic-bezier(0.4, 0, 0.2, 1);transition:transform .5s cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform .5s cubic-bezier(0.4, 0, 0.2, 1);will-change:transform}.tensorsite-group [data-carousel-wrapper]{position:relative}.tensorsite-group__button-previous,.tensorsite-group__button-next{background:#fff;border-radius:50%;box-shadow:0 0 36px rgba(0,0,0,0.1);height:46px;opacity:0;pointer-events:none;position:absolute;top:50%;-webkit-transform:translateY(-50%) translateY(20px);transform:translateY(-50%) translateY(20px);transition:box-shadow .3s cubic-bezier(0.4, 0, 0.2, 1),opacity .2s linear,-webkit-transform .2s cubic-bezier(0.4, 0, 0.2, 1);transition:box-shadow .3s cubic-bezier(0.4, 0, 0.2, 1),opacity .2s linear,transform .2s cubic-bezier(0.4, 0, 0.2, 1);transition:box-shadow .3s cubic-bezier(0.4, 0, 0.2, 1),opacity .2s linear,transform .2s cubic-bezier(0.4, 0, 0.2, 1),-webkit-transform .2s cubic-bezier(0.4, 0, 0.2, 1);width:46px;z-index:10}@media only screen and (max-width: 1279px){.tensorsite-group__button-previous.is-visible,.tensorsite-group__button-next.is-visible{opacity:1;pointer-events:auto;-webkit-transform:translateY(-50%);transform:translateY(-50%)}}.tensorsite-group__button-previous:focus,.tensorsite-group__button-previous:hover,.tensorsite-group__button-next:focus,.tensorsite-group__button-next:hover{box-shadow:0 0 64px rgba(0,0,0,0.22)}.tensorsite-group__button-previous .material-icons,.tensorsite-group__button-next .material-icons{color:#ff6f00;font-size:36px;left:50%;position:absolute;top:50%;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%)}.tensorsite-group:focus__button-previous.is-visible,.tensorsite-group:focus__button-next.is-visible,.tensorsite-group:hover__button-previous.is-visible,.tensorsite-group:hover__button-next.is-visible{opacity:1;pointer-events:auto;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.tensorsite-group__button-previous{left:40px}@media only screen and (min-width: 1280px){.tensorsite-group__button-previous{left:calc((100vw - 1420px) / -2 + 40px)}}@media only screen and (max-width: 1279px){.tensorsite-group__button-previous{left:0}}.tensorsite-group__button-next{right:40px}@media only screen and (min-width: 1280px){.tensorsite-group__button-next{right:calc((100vw - 1420px) / -2 + 40px)}}@media only screen and (max-width: 1279px){.tensorsite-group__button-next{right:0}}.tensorsite-group--gray{background-color:#f5f6f7}.tensorsite-group--gray:not(.tensorsite-group--redesign){margin-bottom:-120px;padding-bottom:120px;padding-top:80px}.tensorsite-group--gray .tensorsite-container{margin-top:0}.tensorsite-group--gray+.tensorsite-footer{margin-top:-180px}.tensorsite-group--gray.padding-100{padding:100px 0}.tensorsite-group--condensed-top{padding-top:60px}.tensorsite-group--show-all .tensorsite-container{padding-bottom:86px;position:relative}.tensorsite-group--show-all .tensorsite-group__show-all-toggle{bottom:0;left:50%;opacity:0;position:absolute;-webkit-transform:translate(-50%, -5px);transform:translate(-50%, -5px)}.tensorsite-group--show-all .tensorsite-group__show-all-toggle ~ .tensorsite-group__inner{margin-bottom:0;max-height:500px;overflow:hidden;transition:.3s max-height cubic-bezier(0.4, 0, 0.2, 1),.3s margin-bottom cubic-bezier(0.4, 0, 0.2, 1)}.tensorsite-group--show-all .tensorsite-group__show-all-toggle+label{bottom:0;left:50%;position:absolute;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.tensorsite-group--show-all .tensorsite-group__show-all-toggle+label span::before{content:attr(data-show-all-default);display:inline-block}.tensorsite-group--show-all .tensorsite-group__show-all-toggle:checked{pointer-events:none}.tensorsite-group--show-all .tensorsite-group__show-all-toggle:checked ~ .tensorsite-group__inner{max-height:500px}.tensorsite-group--show-all .tensorsite-group__show-all-toggle:checked+label span::before{content:attr(data-show-all-collapse)}@media only screen and (max-width: 850px){.tensorsite-group--2up .tensorsite-group__inner,.tensorsite-group--row .tensorsite-group__inner{max-width:600px}}.tensorsite-group--2up .tensorsite-block,.tensorsite-group--2up .tensorsite-card:not(.tensorsite-card--horizontal),.tensorsite-group--row .tensorsite-block,.tensorsite-group--row .tensorsite-card:not(.tensorsite-card--horizontal){flex-shrink:0}.tensorsite-group--2up .devsite-landing-row-item-code,.tensorsite-group--row .devsite-landing-row-item-code{display:flex;flex-direction:column}@media only screen and (max-width: 850px){.tensorsite-group--2up .tensorsite-block,.tensorsite-group--2up .tensorsite-card:not(.tensorsite-card--horizontal),.tensorsite-group--row .tensorsite-block,.tensorsite-group--row .tensorsite-card:not(.tensorsite-card--horizontal){flex-basis:calc(100% - 30px);max-width:calc(100% - 30px);order:0 !important}}@media only screen and (-ms-high-contrast: none), (-ms-high-contrast: active){.tensorsite-group--2up .tensorsite-content,.tensorsite-group--row .tensorsite-content{display:block}}@media only screen and (max-width: 850px){.tensorsite-group--3up .tensorsite-group__inner,.tensorsite-group--3up-small .tensorsite-group__inner,.tensorsite-group--3up-short .tensorsite-group__inner{max-width:600px}}@media only screen and (-ms-high-contrast: none), (-ms-high-contrast: active){.tensorsite-group--3up .tensorsite-block,.tensorsite-group--3up .tensorsite-card,.tensorsite-group--3up-small .tensorsite-block,.tensorsite-group--3up-small .tensorsite-card,.tensorsite-group--3up-short .tensorsite-block,.tensorsite-group--3up-short .tensorsite-card{flex-basis:calc(100% / 3 - 30px - 1px)}}@supports (-ms-ime-align: auto){.tensorsite-group--3up .tensorsite-block,.tensorsite-group--3up .tensorsite-card,.tensorsite-group--3up-small .tensorsite-block,.tensorsite-group--3up-small .tensorsite-card,.tensorsite-group--3up-short .tensorsite-block,.tensorsite-group--3up-short .tensorsite-card{flex-basis:calc(100% / 3 - 30px - 1px)}}@media only screen and (max-width: 850px){.tensorsite-group--3up .tensorsite-block,.tensorsite-group--3up .tensorsite-card,.tensorsite-group--3up-small .tensorsite-block,.tensorsite-group--3up-small .tensorsite-card,.tensorsite-group--3up-short .tensorsite-block,.tensorsite-group--3up-short .tensorsite-card{flex-basis:calc(100% - 30px);max-width:calc(100% - 30px);order:0 !important}}@media only screen and (max-width: 1000px){.tensorsite-group--3up .tensorsite-block .tensorsite-content,.tensorsite-group--3up-small .tensorsite-block .tensorsite-content,.tensorsite-group--3up-short .tensorsite-block .tensorsite-content{padding-left:0;padding-right:0}}@media only screen and (max-width: 767px){.tensorsite-group--3up .tensorsite-block .tensorsite-content,.tensorsite-group--3up-small .tensorsite-block .tensorsite-content,.tensorsite-group--3up-short .tensorsite-block .tensorsite-content{padding:0 30px}}.tensorsite-group--3up .tensorsite-block .devsite-landing-row-item-code,.tensorsite-group--3up .tensorsite-card:not(.tensorsite-card--horizontal) .devsite-landing-row-item-code,.tensorsite-group--3up-small .tensorsite-block .devsite-landing-row-item-code,.tensorsite-group--3up-small .tensorsite-card:not(.tensorsite-card--horizontal) .devsite-landing-row-item-code,.tensorsite-group--3up-short .tensorsite-block .devsite-landing-row-item-code,.tensorsite-group--3up-short .tensorsite-card:not(.tensorsite-card--horizontal) .devsite-landing-row-item-code,.tensorsite-group--row .tensorsite-block .devsite-landing-row-item-code,.tensorsite-group--row .tensorsite-card:not(.tensorsite-card--horizontal) .devsite-landing-row-item-code{display:flex;flex-direction:column}.tensorsite-group--3up-small .tensorsite-group__inner{justify-content:center;width:75%}@media only screen and (max-width: 1000px){.tensorsite-group--3up-small .tensorsite-group__inner{width:auto}}.tensorsite-group--3up-short .tensorsite-content__image-wrapper{align-items:center;display:flex;justify-content:center;max-height:150px;overflow:hidden}.tensorsite-group--4up .tensorsite-group__inner,.tensorsite-group--5up .tensorsite-group__inner{justify-content:center}@media only screen and (max-width: 767px){.tensorsite-group--4up .tensorsite-group__inner,.tensorsite-group--5up .tensorsite-group__inner{max-width:600px}}@media only screen and (max-width: 767px){.tensorsite-group--4up .tensorsite-block,.tensorsite-group--5up .tensorsite-block{margin:40px 0}}@media only screen and (max-width: 767px){.tensorsite-group--4up .tensorsite-card--hero,.tensorsite-group--5up .tensorsite-card--hero{min-height:400px}}.tensorsite-group--4up .tensorsite-content__title,.tensorsite-group--5up .tensorsite-content__title{max-width:none}.tensorsite-group--4up .tensorsite-block--plain .tensorsite-content,.tensorsite-group--5up .tensorsite-block--plain .tensorsite-content{padding-left:0;padding-right:0}.tensorsite-group--4up .tensorsite-block,.tensorsite-group--4up .tensorsite-card{flex-basis:calc(50% - 30px);max-width:calc(50% - 30px)}@media only screen and (max-width: 767px){.tensorsite-group--4up .tensorsite-block,.tensorsite-group--4up .tensorsite-card{flex-basis:calc(100% - 30px);max-width:calc(100% - 30px)}}.tensorsite-group--5up .tensorsite-block,.tensorsite-group--5up .tensorsite-card{flex-basis:calc(20% - 30px);flex-shrink:0;max-width:calc(20% - 30px)}@media only screen and (max-width: 1279px){.tensorsite-group--5up .tensorsite-block,.tensorsite-group--5up .tensorsite-card{flex-basis:calc(50% - 30px);max-width:calc(50% - 30px)}}@media only screen and (max-width: 767px){.tensorsite-group--5up .tensorsite-block,.tensorsite-group--5up .tensorsite-card{flex-basis:calc(100% - 30px);max-width:calc(100% - 30px)}}.tensorsite-group--logos .tensorsite-group__inner,.tensorsite-group--logos-small .tensorsite-group__inner{justify-content:center;margin-top:-20px}.tensorsite-group--logos .tensorsite-block,.tensorsite-group--logos .tensorsite-card,.tensorsite-group--logos-small .tensorsite-block,.tensorsite-group--logos-small .tensorsite-card{flex-basis:calc(12.5% - 30px);flex-grow:0;flex-shrink:0}@media only screen and (max-width: 1279px){.tensorsite-group--logos .tensorsite-block,.tensorsite-group--logos .tensorsite-card,.tensorsite-group--logos-small .tensorsite-block,.tensorsite-group--logos-small .tensorsite-card{flex-basis:calc(25% - 30px)}}@media only screen and (max-width: 767px){.tensorsite-group--logos .tensorsite-block,.tensorsite-group--logos .tensorsite-card,.tensorsite-group--logos-small .tensorsite-block,.tensorsite-group--logos-small .tensorsite-card{flex-basis:calc(50% - 30px)}}.tensorsite-group--logos .tensorsite-block,.tensorsite-group--logos-small .tensorsite-block{margin-bottom:0;margin-top:20px}.tensorsite-group--logos .tensorsite-block:nth-child(n+9),.tensorsite-group--logos-small .tensorsite-block:nth-child(n+9){visibility:hidden}.tensorsite-group--logos .tensorsite-block:last-of-type,.tensorsite-group--logos-small .tensorsite-block:last-of-type{margin-bottom:4px}.tensorsite-group--logos .tensorsite-block__image,.tensorsite-group--logos-small .tensorsite-block__image{background-position:center center;background-repeat:no-repeat;background-size:contain;height:65px;outline-offset:-4px}.tensorsite-group--logos .tensorsite-group__show-all-toggle ~ .tensorsite-group__inner,.tensorsite-group--logos-small .tensorsite-group__show-all-toggle ~ .tensorsite-group__inner{max-height:90px}@media only screen and (max-width: 1279px){.tensorsite-group--logos .tensorsite-group__show-all-toggle ~ .tensorsite-group__inner,.tensorsite-group--logos-small .tensorsite-group__show-all-toggle ~ .tensorsite-group__inner{max-height:calc(86px * 2)}}@media only screen and (max-width: 767px){.tensorsite-group--logos .tensorsite-group__show-all-toggle ~ .tensorsite-group__inner,.tensorsite-group--logos-small .tensorsite-group__show-all-toggle ~ .tensorsite-group__inner{max-height:calc(86px * 4)}}.tensorsite-group--logos .tensorsite-group__show-all-toggle:checked ~ .tensorsite-group__inner,.tensorsite-group--logos-small .tensorsite-group__show-all-toggle:checked ~ .tensorsite-group__inner{--number-of-rows: 6;max-height:510px;max-height:calc(86px * var(--number-of-rows))}@media only screen and (max-width: 1279px){.tensorsite-group--logos .tensorsite-group__show-all-toggle:checked ~ .tensorsite-group__inner,.tensorsite-group--logos-small .tensorsite-group__show-all-toggle:checked ~ .tensorsite-group__inner{max-height:1020px;max-height:calc(86px * var(--number-of-rows) * 2)}}@media only screen and (max-width: 767px){.tensorsite-group--logos .tensorsite-group__show-all-toggle:checked ~ .tensorsite-group__inner,.tensorsite-group--logos-small .tensorsite-group__show-all-toggle:checked ~ .tensorsite-group__inner{max-height:1020px;max-height:calc(86px * var(--number-of-rows) * 4)}}.tensorsite-group--logos .tensorsite-group__show-all-toggle:checked ~ .tensorsite-group__inner .tensorsite-block:nth-child(n+9),.tensorsite-group--logos-small .tensorsite-group__show-all-toggle:checked ~ .tensorsite-group__inner .tensorsite-block:nth-child(n+9){visibility:visible}.tensorsite-group--logos-wide .tensorsite-block{margin-left:30px;margin-right:30px}.tensorsite-group--row .tensorsite-group__header,.tensorsite-group--row-3up .tensorsite-group__header{display:flex;flex-basis:calc(100% / 3);flex-direction:column;flex-grow:0;flex-shrink:0;margin:15px 0;max-width:calc(100% / 3);text-align:left}@media only screen and (max-width: 850px){.tensorsite-group--row .tensorsite-group__header,.tensorsite-group--row-3up .tensorsite-group__header{flex-basis:100%;max-width:none}}@media only screen and (max-width: 767px){.tensorsite-group--row .tensorsite-group__header,.tensorsite-group--row-3up .tensorsite-group__header{flex-basis:100%;max-width:100%}}.tensorsite-group--row .tensorsite-group__header .tensorsite-content,.tensorsite-group--row-3up .tensorsite-group__header .tensorsite-content{padding-bottom:0;padding-top:0;flex-grow:0;flex-shrink:0;position:sticky;top:120px}.tensorsite-group--row .tensorsite-group__header .tensorsite-content__title,.tensorsite-group--row-3up .tensorsite-group__header .tensorsite-content__title{align-self:flex-start;margin:0;max-width:none}.tensorsite-group--row .tensorsite-group__header .tensorsite-content__description,.tensorsite-group--row-3up .tensorsite-group__header .tensorsite-content__description{margin:0;flex-grow:0;flex-shrink:0;width:auto}.tensorsite-group--row .tensorsite-group__inner-wrapper,.tensorsite-group--row-3up .tensorsite-group__inner-wrapper{display:flex;flex-basis:calc(100% / 3 * 2);flex-wrap:wrap;max-width:calc(100% / 3 * 2)}@media only screen and (max-width: 850px){.tensorsite-group--row .tensorsite-group__inner-wrapper,.tensorsite-group--row-3up .tensorsite-group__inner-wrapper{flex-basis:100%;max-width:none}}@media only screen and (max-width: 767px){.tensorsite-group--row .tensorsite-group__inner-wrapper,.tensorsite-group--row-3up .tensorsite-group__inner-wrapper{flex-basis:100%;max-width:100%}}@media only screen and (min-width: 851px){.tensorsite-group--row-3up .tensorsite-container{display:flex}}@media only screen and (max-width: 850px){.tensorsite-group--row-3up .tensorsite-container .tensorsite-group__inner{max-width:600px}}@media only screen and (min-width: 851px){.tensorsite-group--row-3up .tensorsite-group__header{max-width:calc(100% / 4)}}.tensorsite-group--row-3up .tensorsite-group__header .tensorsite-content{padding:0 15px 50px}@media only screen and (max-width: 850px){.tensorsite-group--row-3up .tensorsite-group__header .tensorsite-content{text-align:center}}.tensorsite-group--row-3up .tensorsite-group__header .tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:24px;font-weight:700;line-height:32px}@media only screen and (max-width: 850px){.tensorsite-group--row-3up .tensorsite-group__header .tensorsite-content__title{align-self:center}}@media only screen and (max-width: 850px){.tensorsite-group--row-3up .tensorsite-group__header .tensorsite-content__subtitle{margin:0 auto 8px}}.tensorsite-group--row-3up .tensorsite-group__inner{width:100%}.tensorsite-group--row-3up .tensorsite-group__inner .tensorsite-card{max-width:calc(100% / 3 - 30px)}@media only screen and (max-width: 1279px){.tensorsite-group--row-3up .tensorsite-group__inner .tensorsite-card{flex-basis:calc(100% / 2 - 30px);max-width:calc(100% / 2 - 30px)}}@media only screen and (max-width: 850px){.tensorsite-group--row-3up .tensorsite-group__inner .tensorsite-card{flex-basis:calc(100% - 30px);max-width:calc(100% - 30px)}}.tensorsite-group--why-learn{position:relative;z-index:1}@media only screen and (max-width: 850px){.tensorsite-group--single-card .tensorsite-group__inner{max-width:600px}}.tensorsite-group--single-card .tensorsite-card{margin:15px auto;max-width:calc(66.66667% - 30px)}@media only screen and (max-width: 1279px){.tensorsite-group--single-card .tensorsite-card{max-width:calc(83.33333% - 30px)}}@media only screen and (max-width: 850px){.tensorsite-group--single-card .tensorsite-card{max-width:100%}}.tensorsite-group--full-width .tensorsite-content__title{max-width:100%}.tensorsite-group--full-width .tensorsite-content__description{width:auto}.tensorsite-group--standalone .tensorsite-container{margin-bottom:0}.tensorsite-group--community-day .tensorsite-content__small-title,.tensorsite-group--community-day .tensorsite-content__title{font-size:24px}.tensorsite-group--community-day .tensorsite-content__description p{font-family:"Google Sans",sans-serif;font-size:20px}.tensorsite-group--community-day-program .tensorsite-card--horizontal{flex-direction:column}.tensorsite-group--community-day-program .tensorsite-content:not(:last-child){padding-bottom:0}.tensorsite-hero{display:flex;margin:0 auto;max-width:1420px;padding:0 40px;position:relative;overflow-clip-margin:calc(50vw - 710px)}@media only screen and (min-width: 768px){.tensorsite-hero{padding:100px 40px 50px}}@media only screen and (max-width: 1279px){.tensorsite-hero{flex-direction:column;padding:100px 100px 50px}}@media only screen and (max-width: 1279px) and (-ms-high-contrast: none), only screen and (max-width: 1279px) and (-ms-high-contrast: active){.tensorsite-hero{display:block}}@media only screen and (max-width: 767px){.tensorsite-hero{padding:50px 20px 0}}@media only screen and (min-width: 1280px){.tensorsite-hero--river,.tensorsite-hero--river-large{align-items:center;justify-content:space-between}}.tensorsite-hero--river::before,.tensorsite-hero--river-large::before{background:url(/site-assets/images/marketing/hero-river-bg-left.svg) center/cover no-repeat;content:'';height:304px;left:-250px;position:absolute;top:0;width:443px}@media only screen and (min-width: 768px){.tensorsite-hero--river::after,.tensorsite-hero--river-large::after{background:url(/site-assets/images/marketing/hero-river-bg-right.svg) center/cover no-repeat;content:'';height:904px;position:absolute;right:-350px;top:0;width:1440px;z-index:-1}}.tensorsite-hero--river .tensorsite-hero__side--left,.tensorsite-hero--river-large .tensorsite-hero__side--left{background-color:#ff6f00;height:304px;right:calc(100% + 250px);top:0}.tensorsite-hero--river .tensorsite-hero__side--right,.tensorsite-hero--river-large .tensorsite-hero__side--right{background:linear-gradient(to bottom, #f5f6f7, rgba(255,255,255,0));height:904px;left:calc(100% + 350px);top:0}.tensorsite-hero--center .tensorsite-hero__content{flex-basis:100% !important;margin-left:0;max-width:none !important}.tensorsite-hero--center .tensorsite-hero__content .tensorsite-content{margin:0 auto;text-align:center;width:50%}@media only screen and (max-width: 767px){.tensorsite-hero--center .tensorsite-hero__content .tensorsite-content{width:auto}}.tensorsite-hero--river .tensorsite-hero__content{flex:0 0 calc(41.66667% - 30px);max-width:calc(41.66667% - 30px)}@media only screen and (max-width: 1279px){.tensorsite-hero--river .tensorsite-hero__content{flex-basis:83.33333%;margin:0 auto;max-width:83.33333%}}@media only screen and (max-width: 767px){.tensorsite-hero--river .tensorsite-hero__content{flex-basis:100%;max-width:100%}}.tensorsite-hero--river.tensorsite-hero--wider .tensorsite-hero__content{flex:auto;max-width:inherit}@media only screen and (min-width: 768px){.tensorsite-hero--river.tensorsite-hero--wider .tensorsite-hero__image{flex:0 0 35%}}@media only screen and (min-width: 768px){.tensorsite-hero--river.tensorsite-hero--wider .tensorsite-content{max-width:580px}}.tensorsite-hero--river-large{padding-left:180px;padding-right:180px}@media only screen and (max-width: 767px){.tensorsite-hero--river-large{padding:80px 20px 40px}}.tensorsite-hero--river-large::before{background:url(/site-assets/images/marketing/hero-river-bg-left-large.svg) center/cover no-repeat;height:546px;left:-450px;width:774px}.tensorsite-hero--river-large .tensorsite-hero__side--left{height:546px;right:calc(100% + 449px)}.tensorsite-hero--river-large .tensorsite-hero__image{display:none}.tensorsite-hero--image{display:block}@media only screen and (min-width: 768px){.tensorsite-hero--image{min-height:550px}}@media only screen and (max-width: 1279px){.tensorsite-hero--image{padding-left:70px;padding-right:70px}}@media only screen and (max-width: 767px){.tensorsite-hero--image{padding:50px 20px}}@media only screen and (min-width: 768px){.tensorsite-hero--image+.tensorsite-casestudy{margin-top:-90px}}.tensorsite-hero--image .tensorsite-hero__image{margin:0 auto;padding:0;position:absolute;right:-18%;top:0;width:68%}@media only screen and (max-width: 767px){.tensorsite-hero--image .tensorsite-hero__image{width:122%}.tensorsite-hero--image .tensorsite-hero__image img{max-width:100%}}@media only screen and (min-width: 768px){.tensorsite-hero--image .tensorsite-hero__content{width:33.33333%}}@media only screen and (max-width: 1279px){.tensorsite-hero--image .tensorsite-hero__content{text-align:left;width:41.66667%}}@media only screen and (max-width: 767px){.tensorsite-hero--image .tensorsite-hero__content{margin:60% 0 0;padding-top:26px;width:100%}}.tensorsite-hero--image .tensorsite-hero__content .tensorsite-content__description{font-family:"Roboto",sans-serif;font-size:16px;line-height:28px}@media only screen and (min-width: 768px){.tensorsite-hero--image .tensorsite-hero__content .tensorsite-content__description{padding-bottom:100px}}@media only screen and (min-width: 1280px){.tensorsite-hero--shape{align-items:center;justify-content:space-between;padding-bottom:0;padding-top:20px}}.tensorsite-hero--shape::before{background:url(/site-assets/images/marketing/hero-shape-bg.svg) center/cover no-repeat;content:'';height:402.25179px;position:absolute;right:-32%;top:0;width:1500px;z-index:-1}@media only screen and (max-width: 767px){.tensorsite-hero--shape::before{left:50%;right:auto;top:0;-webkit-transform:translateX(-50%);transform:translateX(-50%)}}@media only screen and (max-width: 1279px){.tensorsite-hero--shape .tensorsite-hero__content{flex-basis:66.66667%;margin:0 auto;max-width:66.66667%}}@media only screen and (max-width: 767px){.tensorsite-hero--shape .tensorsite-hero__content{flex-basis:100%;max-width:100%}}.tensorsite-hero--video{height:600px;margin-bottom:50px}@media only screen and (min-width: 1280px){.tensorsite-hero--video{padding-top:120px}}@media only screen and (max-width: 1279px){.tensorsite-hero--video{flex-direction:row}}@media only screen and (max-width: 1000px){.tensorsite-hero--video{flex-direction:column;height:auto}}@media only screen and (max-width: 767px){.tensorsite-hero--video{margin-bottom:0}}.tensorsite-hero--video::after{background:#dadada;bottom:0;content:'';height:1px;left:50%;position:absolute;-webkit-transform:translate(-50%, 0);transform:translate(-50%, 0);width:100vw;z-index:1}.tensorsite-hero--video::before{background:url(/site-assets/images/marketing/hero-video-bg.svg) top right/cover no-repeat;bottom:0;content:'';left:0;position:absolute;top:0;width:75%;z-index:1}@media only screen and (max-width: 1000px){.tensorsite-hero--video::before{display:none}}.tensorsite-hero--video .tensorsite-hero__content{position:relative;z-index:1}@media only screen and (max-width: 1279px){.tensorsite-hero--video .tensorsite-hero__content{text-align:left}}@media only screen and (min-width: 1280px){.tensorsite-hero--video .tensorsite-hero__content{max-width:calc(33.33333% - 30px)}}@media only screen and (max-width: 1000px){.tensorsite-hero--video .tensorsite-hero__content{padding-bottom:50px;text-align:center}}@media only screen and (min-width: 768px){.tensorsite-hero--video .tensorsite-hero__content .tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:46px;font-weight:700;line-height:56px}}@media only screen and (max-width: 1000px){.tensorsite-hero--video .tensorsite-content__cta-wrapper{justify-content:center}}.tensorsite-hero--video .tensorsite-hero__image{bottom:0;left:0;margin-bottom:0;margin-top:0;padding:0;position:absolute;right:0;top:0}@media only screen and (min-width: 1441px){.tensorsite-hero--video .tensorsite-hero__image{margin-left:2px;margin-right:calc((100vw - 1420px) / -2)}}@media only screen and (max-width: 1000px){.tensorsite-hero--video .tensorsite-hero__image{height:45vw;margin-left:-100px;margin-right:-100px;min-height:350px;position:relative}.tensorsite-hero--video .tensorsite-hero__image.tensorsite-hero__image--has-mobile .tensorsite-hero__image--desktop{display:none}}.tensorsite-hero--video .tensorsite-hero__image--desktop,.tensorsite-hero--video .tensorsite-hero__image--mobile{background:center right 45% / cover no-repeat;bottom:0;left:0;position:absolute;right:0;top:0}.tensorsite-hero--video .tensorsite-hero__image--mobile{display:none}@media only screen and (max-width: 1000px){.tensorsite-hero--video .tensorsite-hero__image--mobile{display:block}}.tensorsite-hero--video .tensorsite-hero__side--left{background-color:#fff;height:100%;right:100%;top:0;z-index:1}.tensorsite-hero--video .tensorsite-hero__play-button{bottom:0;position:absolute;right:20%;top:0;z-index:2}@media only screen and (max-width: 1000px){.tensorsite-hero--video .tensorsite-hero__play-button{left:0;right:0}}@media only screen and (min-width: 1280px){.tensorsite-hero--community{padding-bottom:20px;padding-right:60px;padding-top:20px}.tensorsite-hero--community .tensorsite-hero__content{max-width:400px}}.tensorsite-hero--narrow{min-height:440px}.tensorsite-hero--narrow .tensorsite-hero__content .tensorsite-content{width:500px}@media only screen and (max-width: 1279px){.tensorsite-hero--narrow .tensorsite-hero__content .tensorsite-content{width:auto}}@media only screen and (max-width: 767px){.tensorsite-hero--narrow .tensorsite-hero__content .tensorsite-content{padding:0 15px;width:auto}}@media only screen and (max-width: 767px){.tensorsite-hero--narrow .tensorsite-hero__content .tensorsite-hero__buttons{padding:0 15px}}@media only screen and (min-width: 1280px){.tensorsite-hero--community-day{padding:0px}.tensorsite-hero--community-day .tensorsite-hero__content{flex:0 0 50%;max-width:50%}.tensorsite-hero--community-day .tensorsite-hero__content .tensorsite-content__title{font-size:40px;line-height:52px}}.tensorsite-hero.hero-library-extensions::before{top:-25px}.tensorsite-hero__side{position:absolute;width:calc((100vw - 1440px) / 2)}@media only screen and (min-width: 1280px){.tensorsite-hero__content{margin-left:calc(8.33333% + (30px / 2))}.tensorsite-hero--shape .tensorsite-hero__content{max-width:400px}}@media only screen and (max-width: 1279px){.tensorsite-hero__content{text-align:center}}@media only screen and (min-width: 768px){.tensorsite-hero__content{flex:0 0 50%}}.tensorsite-hero__content .tensorsite-content{padding:0}@media only screen and (max-width: 767px){.tensorsite-hero__content .tensorsite-content{padding:0 15px}}.tensorsite-hero__content .tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:36px;font-weight:700;line-height:48px}@media only screen and (max-width: 767px){.tensorsite-hero__content .tensorsite-content__title{font-size:28px;line-height:36px;font-weight:700;letter-spacing:-0.25px}}@media only screen and (max-width: 1279px){.tensorsite-hero__content .tensorsite-content__title{font-size:28px;line-height:36px;font-weight:700;letter-spacing:-0.25px}}.tensorsite-hero__content .tensorsite-content__description{font-size:18px;line-height:30px;color:#425066}.tensorsite-hero__content .tensorsite-content__description a{color:#425066}.tensorsite-hero__content .tensorsite-content__cta-wrapper{margin-top:8px}@media only screen and (max-width: 1279px){.tensorsite-hero__content .tensorsite-content__cta-wrapper .tensorsite-content__cta{align-self:center}}.tensorsite-hero__buttons{-webkit-column-gap:20px;-moz-column-gap:20px;column-gap:20px;display:grid;grid-template-rows:-webkit-max-content -webkit-max-content;grid-template-rows:max-content max-content;margin:24px auto 20px;max-width:300px}@media only screen and (min-width: 768px){.tensorsite-hero__buttons{grid-auto-flow:column;grid-template-columns:1fr 1fr 1fr;max-width:none}}@media only screen and (max-width: 1279px){.tensorsite-hero__buttons{justify-content:center}}.tensorsite-hero__buttons--fixed-width{grid-template-columns:auto}.tensorsite-hero__buttons--fixed-width .tensorsite-hero__button-column{width:160px}.tensorsite-hero__buttons--fixed-width .tensorsite-hero__button{width:100%}.tensorsite-hero__button{align-items:center;display:flex;justify-content:center;text-align:center}.tensorsite-hero__button-subtitle{font-size:12px;line-height:18px;color:#616161}@media only screen and (max-width: 767px){.tensorsite-hero__image{margin:20px -8%}}@media only screen and (min-width: 768px){.tensorsite-hero__image{flex:0 0 50%}}@media only screen and (max-width: 1279px){.tensorsite-hero__image{margin:20px auto;text-align:center}}@media only screen and (min-width: 1280px){.tensorsite-hero__image{padding-left:25px}.tensorsite-hero__image.video-wrapper{padding-right:10%}}@media only screen and (max-width: 767px){.tensorsite-hero__image img{max-width:500px;width:100%}}@media only screen and (min-width: 768px){.tensorsite-hero__image img{min-width:480px}}.tensorsite-hero--redesign .tensorsite-hero__content .tensorsite-content{width:80%}@media only screen and (max-width: 767px){.tensorsite-hero--redesign .tensorsite-hero__content .tensorsite-content{width:auto}}.tensorsite-hero--redesign .tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:52px;font-weight:500;line-height:62px;letter-spacing:-0.5px;color:#425066}@media only screen and (max-width: 1279px){.tensorsite-hero--redesign .tensorsite-content__title{font-size:40px;line-height:48px}}@media only screen and (max-width: 767px){.tensorsite-hero--redesign .tensorsite-content__title{font-size:30px;line-height:36px;letter-spacing:-0.25px}}@media only screen and (max-width: 767px){.tensorsite-hero--redesign .tensorsite-content__title{text-align:left}}.tensorsite-hero--redesign .tensorsite-content__description{font-family:"Roboto",sans-serif;font-size:18px;font-weight:400;line-height:28px;color:#616161}@media only screen and (max-width: 767px){.tensorsite-hero--redesign .tensorsite-content__description{text-align:left}}.tensorsite-partner-detail{background:#f5f6f7}.tensorsite-partner-detail .tensorsite-container{margin:0 auto;max-width:1420px;padding:0 40px}@media only screen and (max-width: 767px){.tensorsite-partner-detail .tensorsite-container{padding:0 20px}}.tensorsite-partner-detail .tensorsite-container::after{clear:both;content:'';display:table}.tensorsite-partner-detail+.tensorsite-footer{margin-top:0}.tensorsite-partner-detail__section{float:left;margin-left:calc(8.33333% + (30px / 2));margin-right:15px;padding:50px 0;position:relative;width:calc(58.33333% - 30px)}@media only screen and (max-width: 1279px){.tensorsite-partner-detail__section{margin-left:15px;padding:30px 0}}@media only screen and (max-width: 1000px){.tensorsite-partner-detail__section{margin-left:0;margin-right:0;width:100%}.tensorsite-partner-detail__section:first-child::after{content:none}}.tensorsite-partner-detail__section::after{border-bottom:1px solid #dadada;bottom:0;content:'';height:1px;left:0;position:absolute;right:0}@media only screen and (max-width: 1000px){.tensorsite-partner-detail__section::after{left:15px;right:15px}}.tensorsite-partner-detail__section:last-child{padding-bottom:0}.tensorsite-partner-detail__section:last-child::after,.tensorsite-partner-detail__section--secondary::after{content:none}.tensorsite-partner-detail__section--secondary{float:right;margin:0 15px;padding-top:120px;width:calc(25% - (30px))}@media only screen and (max-width: 1279px){.tensorsite-partner-detail__section--secondary{padding-top:100px;width:calc(33.33333% - 30px)}}@media only screen and (max-width: 1000px){.tensorsite-partner-detail__section--secondary{float:left;margin:0;padding:0 15px 60px;width:100%}.tensorsite-partner-detail__section--secondary::after{content:''}}@media only screen and (max-width: 767px){.tensorsite-partner-detail__section--secondary{padding:0 15px 60px}}.tensorsite-partner-detail__section--secondary .tensorsite-list+.tensorsite-list{margin-top:30px}.tensorsite-partner-detail__section--links .tensorsite-partner-detail__section-inner .tensorsite-content:first-child,.tensorsite-partner-detail__section--links .tensorsite-partner-detail__section-inner .tensorsite-content+.tensorsite-content{padding-top:0}.tensorsite-partner-detail__section--lists .tensorsite-partner-detail__section-inner{display:flex;flex-wrap:wrap;justify-content:space-between;padding:0}@media only screen and (max-width: 1000px){.tensorsite-partner-detail__section--lists .tensorsite-partner-detail__section-inner{padding:0 15px}}.tensorsite-partner-detail__section--lists .tensorsite-partner-detail__section-inner .tensorsite-list{flex:0 0 calc(50% - (30px / 2));margin-bottom:30px}@media only screen and (max-width: 1000px){.tensorsite-partner-detail__section--lists .tensorsite-partner-detail__section-inner .tensorsite-list{flex:0 0 100%}}.tensorsite-partner-detail__section--text .tensorsite-content__image-wrapper{background-position:center;background-size:cover;margin:0 auto 30px;padding-top:56.75%;width:100%}@media only screen and (max-width: 1000px){.tensorsite-partner-detail__section--text .tensorsite-content__image-wrapper{width:calc(100% - 30px)}}.tensorsite-partner-detail__section .tensorsite-content{padding-left:0;padding-right:0}@media only screen and (max-width: 1000px){.tensorsite-partner-detail__section .tensorsite-content{padding-left:15px;padding-right:15px}}.tensorsite-partner-detail .tensorsite-list{font-size:14px;line-height:22px}.tensorsite-partner-detail .tensorsite-list__description p:last-child,.tensorsite-partner-detail .tensorsite-list__item:last-child{margin-bottom:0}.tensorsite-partner-detail-hero{padding:70px 0}.tensorsite-partner-detail-hero .tensorsite-container{display:flex;justify-content:space-between;margin:0 auto;max-width:1420px;padding:0 40px}@media only screen and (max-width: 1000px){.tensorsite-partner-detail-hero .tensorsite-container{flex-wrap:wrap}}@media only screen and (max-width: 767px){.tensorsite-partner-detail-hero .tensorsite-container{padding:0 20px}}.tensorsite-partner-detail-hero__main{display:flex;margin-left:calc(8.33333% + (30px / 2));margin-right:15px;width:calc(58.33333% - 30px)}@media only screen and (max-width: 1279px){.tensorsite-partner-detail-hero__main{margin-left:15px;width:calc(66.66667% + 30px)}}@media only screen and (max-width: 1000px){.tensorsite-partner-detail-hero__main{flex-wrap:wrap;margin-left:0;margin-right:0;width:100%}}@media only screen and (max-width: 767px){.tensorsite-partner-detail-hero__main{padding:0 15px}}.tensorsite-partner-detail-hero__image{display:flex;flex:0 0 50%;flex-direction:column;justify-content:center;padding-right:50px}.tensorsite-partner-detail-hero__image-wrapper{display:flex;flex-direction:column;height:155px;justify-content:center}.tensorsite-partner-detail-hero__image img{display:block;margin-right:auto;max-height:100%;max-width:252px}@media only screen and (max-width: 1000px){.tensorsite-partner-detail-hero__image{flex:0 0 100%;flex-direction:row;margin-bottom:26px;padding-right:0}.tensorsite-partner-detail-hero__image-wrapper{height:auto;margin:0 auto;max-height:100px;max-width:300px}.tensorsite-partner-detail-hero__image img{margin:0 auto}}.tensorsite-partner-detail-hero__content{padding:30px 0 30px 50px;position:relative}.tensorsite-partner-detail-hero__content::before{background:#dadada;content:'';height:100%;left:0;position:absolute;top:0;width:1px}@media only screen and (min-width: 768px){.tensorsite-partner-detail-hero__content .tensorsite-content{padding-left:0;padding-right:0}}.tensorsite-partner-detail-hero__content .tensorsite-content__subtitle{font-family:"Google Sans",sans-serif;font-size:16px;font-weight:700;line-height:26px}@media only screen and (max-width: 1279px){.tensorsite-partner-detail-hero__content{padding-left:30px;padding-right:30px}}@media only screen and (max-width: 1000px){.tensorsite-partner-detail-hero__content{flex:0 0 100%;padding:0;text-align:center}.tensorsite-partner-detail-hero__content::before{display:block;height:1px;margin:0 auto;position:relative;width:30%}.tensorsite-partner-detail-hero__content .tensorsite-content__subtitle{align-self:center}}.tensorsite-partner-detail-hero__secondary{flex:0 0 auto;margin:0 15px;padding:30px 0;width:calc(25% - (30px))}@media only screen and (max-width: 1279px){.tensorsite-partner-detail-hero__secondary{width:calc(33.33333% - 30px)}}@media only screen and (max-width: 1000px){.tensorsite-partner-detail-hero__secondary{margin:0 auto;max-width:100%;padding:0 15px;width:auto}}@media only screen and (max-width: 767px){.tensorsite-partner-detail-hero__secondary{padding:30px 15px 0}}.tensorsite-partner-detail-hero__secondary .tensorsite-list{font-size:14px;line-height:22px;background:#f5f6f7}.tensorsite-partner-detail-hero__secondary .tensorsite-list__description p:last-child,.tensorsite-partner-detail-hero__secondary .tensorsite-list__item:last-child{margin-bottom:0}.tensorsite-side-side .tensorsite-container{margin:0 auto;max-width:1420px;padding:80px 40px}@media only screen and (max-width: 767px){.tensorsite-side-side .tensorsite-container{padding:80px 20px}}.tensorsite-side-side .tensorsite-container--no-padding{padding-top:0;padding-bottom:0}.tensorsite-side-side--condensed-bottom .tensorsite-container{padding-bottom:60px}.tensorsite-side-side--no-bottom .tensorsite-container{padding-bottom:0}.tensorsite-side-side .tensorsite-content{padding-left:0;padding-right:0}@media only screen and (max-width: 767px){.tensorsite-side-side .tensorsite-content{padding:26px 0}}.tensorsite-side-side .tensorsite-content p{margin:10px 0}.tensorsite-side-side .tensorsite-content__title{margin-bottom:24px}.tensorsite-side-side .tensorsite-content__image-wrapper{background-position:center;background-size:cover;border-radius:10px;height:100%}@media only screen and (max-width: 1000px){.tensorsite-side-side .tensorsite-content__image-wrapper{height:300px;margin:0}}.tensorsite-side-side .tensorsite-content__image-wrapper.contain-image{background-size:contain;width:100%;background-position:center;background-repeat:no-repeat}.tensorsite-side-side--gray{background-color:#f5f6f7}.tensorsite-side-side--multi-partial .tensorsite-side-side-wrapper{justify-content:space-between}@media only screen and (max-width: 767px){.tensorsite-side-side--multi-partial .tensorsite-side-side-wrapper{display:block}}@media only screen and (min-width: 768px){.tensorsite-side-side--multi-partial .tensorsite-side-side-wrapper .tensorsite-side-side__secondary-section{margin-top:15px}}@media only screen and (max-width: 767px){.tensorsite-side-side--multi-partial .tensorsite-side-side-wrapper .tensorsite-side-side__secondary-section{border-top:1px solid #dadada;margin-top:50px;padding-top:50px}}.tensorsite-side-side--multi-partial .tensorsite-content{height:auto;padding-left:0;padding-right:0}.tensorsite-side-side--multi-partial .tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:24px;font-weight:700;line-height:32px;margin-bottom:0}.tensorsite-side-side--multi-partial .tensorsite-card{flex-basis:100%;margin-left:0;margin-right:0}@media only screen and (min-width: 768px){.tensorsite-side-side--multi-partial .tensorsite-card{max-width:100%}}@media only screen and (max-width: 767px){.tensorsite-side-side--multi-partial .tensorsite-card{max-width:100%}}.tensorsite-side-side--multi-partial .tensorsite-card .tensorsite-content{padding:26px 30px}.tensorsite-side-side--multi-partial .tensorsite-card .tensorsite-content__image-wrapper{border-radius:10px 10px 0 0;height:auto}.tensorsite-side-side--multi-partial .tensorsite-list--no-background .tensorsite-list__title{font-family:"Google Sans",sans-serif;font-size:24px;font-weight:700;line-height:32px}@media only screen and (max-width: 1279px){.tensorsite-side-side--centered .tensorsite-side-side__main-section,.tensorsite-side-side--centered .tensorsite-side-side__secondary-section{flex-basis:calc(41.66667% - 30px);max-width:calc(41.66667% - 30px)}}@media only screen and (max-width: 1000px){.tensorsite-side-side--centered .tensorsite-side-side__main-section,.tensorsite-side-side--centered .tensorsite-side-side__secondary-section{flex-basis:calc(100% - 30px);max-width:calc(100% - 30px)}}.tensorsite-side-side--centered .tensorsite-side-side__main-section{margin-left:calc(4.16667% + (30px / 2))}@media only screen and (max-width: 1000px){.tensorsite-side-side--centered .tensorsite-side-side__main-section{margin-left:15px}}.tensorsite-side-side--centered .tensorsite-side-side__secondary-section{margin-right:calc(4.16667% + (30px / 2))}@media only screen and (max-width: 1000px){.tensorsite-side-side--centered .tensorsite-side-side__secondary-section{margin-right:15px}}.tensorsite-side-side--centered .tensorsite-side-side-wrapper--reverse .tensorsite-side-side__main-section{margin-right:calc(4.16667% + (30px / 2))}@media only screen and (max-width: 1000px){.tensorsite-side-side--centered .tensorsite-side-side-wrapper--reverse .tensorsite-side-side__main-section{margin-right:15px}}.tensorsite-side-side--centered .tensorsite-side-side-wrapper--reverse .tensorsite-side-side__secondary-section{margin-left:calc(4.16667% + (30px / 2))}@media only screen and (max-width: 1000px){.tensorsite-side-side--centered .tensorsite-side-side-wrapper--reverse .tensorsite-side-side__secondary-section{margin-left:15px}}.tensorsite-side-side-wrapper{display:flex;flex:1 1 auto;flex-wrap:wrap;justify-content:space-between}.tensorsite-side-side-wrapper--reverse{flex-direction:row-reverse}.tensorsite-side-side-wrapper .tensorsite-side-side__secondary-section{margin-left:calc(8.33333% + (30px / 2))}@media only screen and (max-width: 1000px){.tensorsite-side-side-wrapper .tensorsite-side-side__secondary-section{margin-left:15px}}.tensorsite-side-side__main-section,.tensorsite-side-side__secondary-section{flex-basis:calc(41.66667% - 30px);margin:15px;max-width:calc(41.66667% - 30px);z-index:1}@media only screen and (max-width: 1000px){.tensorsite-side-side__main-section,.tensorsite-side-side__secondary-section{flex-basis:calc(100% - 30px);max-width:calc(100% - 30px)}}.tensorsite-side-side__main-section{margin-left:calc(8.33333% + (30px / 2));margin-right:15px}@media only screen and (max-width: 1279px){.tensorsite-side-side__main-section{flex-basis:calc(50% - 30px);margin-left:15px;max-width:calc(50% - 30px)}}@media only screen and (max-width: 1000px){.tensorsite-side-side__main-section{flex-basis:calc(100% - 30px);margin-left:15px;max-width:calc(100% - 30px)}}.tensorsite-side-side__main-section .tensorsite-content .tensorsite-content__description{margin-bottom:24px}.tensorsite-side-side__main-section .tensorsite-content .tensorsite-content__description:last-child{margin-bottom:0}.tensorsite-side-side__text-wrapper--white-bg{background-color:#fff;border:1px #ccc solid;border-radius:10px;flex-basis:calc(40% - 30px);margin-bottom:26px;padding:0}@media only screen and (max-width: 1000px){.tensorsite-side-side__text-wrapper--white-bg{flex-basis:calc(100% - 30px)}}.tensorsite-side-side__text-wrapper--white-bg .tensorsite-content{padding:40px}.tensorsite-side-side__text-wrapper--white-bg .tensorsite-content__description{margin-bottom:24px}.tensorsite-side-side__text-wrapper--white-bg .tensorsite-content__description strong{color:#425066}@media only screen and (min-width: 1001px){.tensorsite-side-side__text-wrapper--short{margin-top:140px}}.tensorsite-side-side--why-bg,.tensorsite-side-side--learn-bg,.tensorsite-side-side--home-bg{position:relative}.tensorsite-side-side--why-bg::before,.tensorsite-side-side--why-bg::after,.tensorsite-side-side--learn-bg::before,.tensorsite-side-side--learn-bg::after,.tensorsite-side-side--home-bg::before,.tensorsite-side-side--home-bg::after{background:#f5f6f7;content:'';position:absolute;width:calc((100vw - 1794px) / 2)}.tensorsite-side-side--why-bg .tensorsite-side-side__background,.tensorsite-side-side--learn-bg .tensorsite-side-side__background,.tensorsite-side-side--home-bg .tensorsite-side-side__background{background:url(/site-assets/images/marketing/why/whytf-bg.svg) center/contain no-repeat;content:'';height:1932px;left:50%;position:absolute;top:60%;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);width:1794px;z-index:-1}.tensorsite-side-side--why-bg::before{bottom:-411px;left:50%;top:-643px;-webkit-transform:translateX(-100%) translateX(-897px);transform:translateX(-100%) translateX(-897px)}.tensorsite-side-side--why-bg::after{bottom:-751px;left:50%;top:284px;-webkit-transform:translateX(896px);transform:translateX(896px)}.tensorsite-side-side--learn-bg::before{bottom:-324px;left:50%;top:-513px;-webkit-transform:translateX(-100%) translateX(-897px);transform:translateX(-100%) translateX(-897px)}.tensorsite-side-side--learn-bg::after{bottom:-664px;left:50%;top:415px;-webkit-transform:translateX(896px);transform:translateX(896px)}.tensorsite-side-side--home-bg::before{bottom:-329px;left:50%;top:-521px;-webkit-transform:translateX(-100%) translateX(-895px);transform:translateX(-100%) translateX(-895px);z-index:-1}.tensorsite-side-side--home-bg::after{bottom:-670px;left:50%;top:406px;-webkit-transform:translateX(895px);transform:translateX(895px);z-index:-1}.tensorsite-step{margin:0 auto;max-width:1140px}@media only screen and (min-width: 768px){.tensorsite-step{padding:0 180px}}@media only screen and (max-width: 1279px){.tensorsite-step{flex-direction:column;padding:0 100px}}@media only screen and (max-width: 1279px) and (-ms-high-contrast: none), only screen and (max-width: 1279px) and (-ms-high-contrast: active){.tensorsite-step{display:block}}@media only screen and (max-width: 767px){.tensorsite-step{padding:35px 35px 0}}.tensorsite-step__title{color:#425066}.tensorsite-step .tensorsite-container{padding:0}.tensorsite-step .tensorsite-group__divider{margin:0 auto;width:100%}@media only screen and (max-width: 1000px){.tensorsite-tab-group .tensorsite-container{padding:0;width:100%}}.tensorsite-tab-group .tensorsite-button-tab{max-width:1090px}.tensorsite-tab-group .tensorsite-top-tab{max-width:1200px;min-height:580px}@media only screen and (max-width: 1000px){.tensorsite-tab-group .tensorsite-top-tab__tabs::after{left:85px}}@media only screen and (max-width: 767px){.tensorsite-tab-group .tensorsite-top-tab__tabs::after{left:45px}}@media only screen and (max-width: 1000px){.tensorsite-tab-group .tensorsite-top-tab__tabs{padding:0 67px}}@media only screen and (max-width: 767px){.tensorsite-tab-group .tensorsite-top-tab__tabs{padding:0 27px}}@media only screen and (-ms-high-contrast: none), (-ms-high-contrast: active){.tensorsite-tab-group .tensorsite-top-tab__content--inner{display:block;padding:0 30px;width:30%}}.tensorsite-tab-group--text-heavy .tensorsite-top-tab__content--inner .tensorsite-top-tab__content__text{flex-basis:calc(60% - 30px)}@media only screen and (max-width: 1000px){.tensorsite-tab-group--text-heavy .tensorsite-top-tab__content--inner .tensorsite-top-tab__content__text{order:2}}.tensorsite-tab-group--text-heavy .tensorsite-top-tab__content--inner .tensorsite-top-tab__image{flex-basis:calc(40% - 30px)}@media only screen and (max-width: 1000px){.tensorsite-tab-group--text-heavy .tensorsite-top-tab__content--inner .tensorsite-top-tab__content__text,.tensorsite-tab-group--text-heavy .tensorsite-top-tab__content--inner .tensorsite-top-tab__image{flex-basis:calc(100% - 30px)}}.tensorsite-tab-group--equal-tab-width .tensorsite-top-tab__tabs label{flex-basis:100%}.tensorsite-tab-group--extra-margin-bottom{margin-bottom:160px}@media only screen and (max-width: 1279px){.tensorsite-tab-group--extra-margin-bottom{margin-bottom:80px}}.tensorsite-diagram{opacity:0;position:relative}.tensorsite-diagram--loaded{opacity:1}.tensorsite-diagram .tensorsite-content__cta{margin-top:16px;font-family:"Google Sans",sans-serif;font-size:14px;font-weight:700;line-height:19.6px}.tensorsite-diagram .tensorsite-content__cta-icon span:before,.tensorsite-diagram .tensorsite-content__cta-icon span:after{height:14px;width:14px}.tensorsite-diagram__dimmer{background-color:rgba(255,255,255,0.5);height:100%;position:absolute;width:100%;z-index:-1}.tensorsite-diagram__dimmer.active{z-index:2}.tensorsite-diagram__dimmer.scroll-active{cursor:ew-resize}.tensorsite-diagram__scrollbox{box-sizing:content-box;overflow-x:auto}.tensorsite-diagram__scrollbox.grabbing *{cursor:grabbing;cursor:-webkit-grabbing}.tensorsite-diagram__overlay{background:linear-gradient(90deg, rgba(255,255,255,0), #fff);height:calc(100% - 15px);opacity:0;pointer-events:none;position:absolute;right:0;transition:opacity 500ms;width:20vw;z-index:4}.tensorsite-diagram__overlay.active{opacity:1}.tensorsite-diagram .tensorsite-container{display:flex;position:relative}.tensorsite-diagram .tensorsite-container.scroll-active{cursor:ew-resize}.tensorsite-diagram .tensorsite-container.scroll-active .last-section{padding-right:50px}.tensorsite-diagram p{margin:0}.tensorsite-diagram__section{box-sizing:border-box;display:inline-block}.tensorsite-diagram__section hr{background:#dadce0;border:0;height:1px;margin:16px auto;width:calc(100% - (16px * 2))}.tensorsite-diagram__section.first-section hr,.tensorsite-diagram__section.last-section hr{width:calc(100% - (16px))}.tensorsite-diagram__section.first-section hr{margin-left:0}.tensorsite-diagram__section.last-section hr{margin-right:0}.tensorsite-diagram__title{position:relative;text-align:center;font-family:"Google Sans",sans-serif;font-size:14px;font-weight:700;line-height:18px}.tensorsite-diagram__title.active{z-index:3}.tensorsite-diagram__cols{display:flex}.tensorsite-diagram__col{align-items:center;display:flex;flex-direction:column;padding:0 16px}.tensorsite-diagram__col.first-col{padding-left:0}.tensorsite-diagram__col.last-col{padding-right:0}.tensorsite-diagram__nodes{align-items:center;display:flex;flex-direction:column;justify-content:center;margin-bottom:40px;min-height:252px}.tensorsite-diagram__product.active{z-index:3}.tensorsite-diagram__product .tensorsite-content__cta{align-self:center;margin-top:0;max-width:160px;min-height:154px;text-align:center}.tensorsite-diagram__product .cta-image{align-items:center;border:1px solid #e3e5e8;border-radius:50%;display:flex;height:100px;justify-content:center;margin:0 auto;margin-bottom:16px;width:100px}.tensorsite-diagram__product .cta-image img{max-height:64px;max-width:64px}.tensorsite-diagram .box{background:#fff;border:1px solid transparent;border-radius:6px;box-shadow:0px 2px 8px rgba(66,80,102,0.16);box-sizing:border-box;cursor:pointer;height:52px;margin:16px 0;min-width:196px;outline:none;overflow:hidden;position:relative;text-align:center;transition:all ease-in-out 0.2s;width:100%;z-index:1}.tensorsite-diagram .box .position{transition:all ease-in-out 0.2s}.tensorsite-diagram .box:hover,.tensorsite-diagram .box:focus,.tensorsite-diagram .box.enlarged{box-shadow:0px 2px 12px rgba(66,80,102,0.24)}.tensorsite-diagram .box:hover .position,.tensorsite-diagram .box:focus .position,.tensorsite-diagram .box.enlarged .position{color:#ff6f00}.tensorsite-diagram .box.enlarged,.tensorsite-diagram .box:focus{border:1px solid #ff6f00}.tensorsite-diagram .position{font-family:"Google Sans",sans-serif;font-size:14px;font-weight:700;line-height:18px;margin-bottom:16px}.tensorsite-diagram .additionalInfo{font-size:14px;line-height:22px}.tensorsite-diagram .information{padding:16px}.tfx-diagram-arrow{display:none}.tfx-arrow--up{-webkit-transform:translateY(50%) translateX(-3%);transform:translateY(50%) translateX(-3%)}.tfx-arrow--right{-webkit-transform:translateX(-64%) translateY(2%);transform:translateX(-64%) translateY(2%)}.tfx-arrow--down{-webkit-transform:translateY(-50%) translateX(3%);transform:translateY(-50%) translateX(3%)}.jsplumb-draggable{pointer-events:none}.tensorsite-adjacent-partials-wrapper{display:flex}@media only screen and (max-width: 767px){.tensorsite-adjacent-partials-wrapper{flex-direction:column}}@media only screen and (max-width: 767px){.tensorsite-adjacent-partials-wrapper--mobile-reverse{flex-direction:column-reverse}}.tensorsite-adjacent-partials__main-section,.tensorsite-adjacent-partials__secondary-section{width:100%}@media only screen and (max-width: 767px){.tensorsite-adjacent-partials__main-section .tensorsite-content__cta-wrapper,.tensorsite-adjacent-partials__main-section .tensorsite-content__button,.tensorsite-adjacent-partials__secondary-section .tensorsite-content__cta-wrapper,.tensorsite-adjacent-partials__secondary-section .tensorsite-content__button{align-self:center}}@media only screen and (min-width: 1280px){.tensorsite-adjacent-partials .tensorsite-container--redesign-margin{padding:0 132px}}.tensorsite-blog-carousel--gray{background-color:#f5f6f7;padding-bottom:20px;padding-top:20px}@media only screen and (max-width: 767px){.tensorsite-blog-carousel{margin:0;padding:0}}.tensorsite-blog-carousel .tensorsite-content{align-items:center}.tensorsite-blog-carousel__card{background:#fff;border-radius:10px;box-shadow:0 0 36px rgba(0,0,0,0.1);margin:auto;overflow:hidden;padding:50px 20px;text-align:center}@media only screen and (max-width: 767px){.tensorsite-blog-carousel__card{background:none;border-radius:0px;box-shadow:none;padding:0px}}.tensorsite-blog-carousel__card .tensorsite-content__description{max-width:600px}.tensorsite-blog-carousel__section{padding:30px 20px;position:relative}.tensorsite-blog-carousel__section::after{content:"";position:absolute;bottom:0;right:20px;pointer-events:none;background-image:linear-gradient(to right, rgba(255,255,255,0), #fff 100%);width:2em;height:100%}@media only screen and (max-width: 767px){.tensorsite-blog-carousel__section{padding:0 20px}.tensorsite-blog-carousel__section::before,.tensorsite-blog-carousel__section::after{content:none}}.tensorsite-blog-carousel__section ul{align-items:stretch;padding:20px;gap:16px}.tensorsite-blog-carousel__section li{background:#fff;width:25%;width:calc(25% - 10px)}@media only screen and (max-width: 1279px){.tensorsite-blog-carousel__section li{width:calc(50% - 10px)}}@media only screen and (max-width: 767px){.tensorsite-blog-carousel__section li{width:100%}}.tensorsite-blog-carousel__section li:first-child{padding-left:20px}.tensorsite-blog-carousel__section li:nth-last-child(2){padding-right:20px}.tensorsite-blog-carousel__section li:first-child,.tensorsite-blog-carousel__section li:nth-last-child(2){width:calc(25% + 10px)}@media only screen and (max-width: 1279px){.tensorsite-blog-carousel__section li:first-child,.tensorsite-blog-carousel__section li:nth-last-child(2){width:calc(50% + 10px)}}@media only screen and (max-width: 767px){.tensorsite-blog-carousel__section li:first-child,.tensorsite-blog-carousel__section li:nth-last-child(2){width:100%}}@media only screen and (max-width: 767px){.tensorsite-blog-carousel__section li{padding:0}.tensorsite-blog-carousel__section li:first-child{padding-left:0}.tensorsite-blog-carousel__section li:nth-last-child(2){padding-right:0}}.tensorsite-blog-carousel__wrapper{display:flex;flex-direction:column;gap:12px;padding:30px;text-align:left;border-radius:10px;border:none;border:1px solid #DADCE0;height:100%}.tensorsite-blog-carousel__wrapper:hover,.tensorsite-blog-carousel__wrapper:focus{box-shadow:0px 4px 14px rgba(0,0,0,0.25)}.tensorsite-blog-carousel__wrapper .tensorsite-blog-carousel__eyebrow{font-family:"Roboto",sans-serif;font-size:14px;font-weight:400;line-height:20px;color:#818181;letter-spacing:0.5px;text-transform:uppercase;margin:0}.tensorsite-blog-carousel__wrapper .tensorsite-blog-carousel__title{font-family:"Google Sans",sans-serif;font-size:20px;font-weight:500;line-height:28px;color:#425066;transition:color .2s linear}.tensorsite-blog-carousel__wrapper .tensorsite-blog-carousel__title:hover,.tensorsite-blog-carousel__wrapper .tensorsite-blog-carousel__title:focus{color:#ff6f00}.tensorsite-blog-carousel__wrapper .tensorsite-blog-carousel__title::after{content:'';display:block;border-bottom:1px solid #ff6f00}.tensorsite-blog-carousel__wrapper .tensorsite-blog-carousel__description{font-size:16px;font-weight:400;line-height:24px;color:#616161;margin-top:0px;max-height:100px}.tensorsite-blog-carousel__ctas{display:flex;justify-content:space-evenly;padding:0 10%}@media only screen and (max-width: 767px){.tensorsite-blog-carousel__ctas{flex-direction:column;padding:0}}.tensorsite-blog-carousel__ctas>a{font-family:"Google Sans",sans-serif;font-size:20px;font-weight:500;line-height:28px;color:#425066;transition:color .2s linear;text-align:center;width:100%}.tensorsite-blog-carousel__ctas>a:hover,.tensorsite-blog-carousel__ctas>a:focus{color:#ff6f00}.tensorsite-blog-carousel__footer .tensorsite-container{margin:26px 0}@media only screen and (max-width: 767px){.tensorsite-side-side--redesign .tensorsite-container{padding:24px 20px}}.tensorsite-side-side--redesign .tensorsite-group__header .tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:48px;font-weight:500;line-height:56px;letter-spacing:-0.5px;color:#425066;max-width:900px}@media only screen and (max-width: 1279px){.tensorsite-side-side--redesign .tensorsite-group__header .tensorsite-content__title{font-size:32px;line-height:38px;font-weight:400;letter-spacing:-0.25px}}@media only screen and (max-width: 767px){.tensorsite-side-side--redesign .tensorsite-group__header .tensorsite-content__title{font-size:28px;line-height:36px;letter-spacing:-0.25;font-weight:500}}@media only screen and (max-width: 767px){.tensorsite-side-side--redesign .tensorsite-group__header .tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:48px;font-weight:500;line-height:56px;letter-spacing:-0.5px;color:#425066;text-align:left;padding-bottom:0}}@media only screen and (max-width: 767px) and (max-width: 1279px){.tensorsite-side-side--redesign .tensorsite-group__header .tensorsite-content__title{font-size:32px;line-height:38px;font-weight:400;letter-spacing:-0.25px}}@media only screen and (max-width: 767px) and (max-width: 767px){.tensorsite-side-side--redesign .tensorsite-group__header .tensorsite-content__title{font-size:28px;line-height:36px;letter-spacing:-0.25;font-weight:500}}.tensorsite-side-side--redesign .tensorsite-group__header .tensorsite-content__small-title{font-family:"Google Sans",sans-serif;font-size:36px;font-weight:400;line-height:44px;letter-spacing:-0.25px;color:#425066;max-width:-webkit-max-content;max-width:max-content}@media only screen and (max-width: 1279px){.tensorsite-side-side--redesign .tensorsite-group__header .tensorsite-content__small-title{font-size:20px;line-height:28px;font-weight:500;letter-spacing:0px}}@media only screen and (max-width: 767px){.tensorsite-side-side--redesign .tensorsite-group__header .tensorsite-content__small-title{font-size:24px;line-height:36px;font-weight:400;letter-spacing:-0.25px}}@media only screen and (max-width: 1279px){.tensorsite-side-side--redesign .tensorsite-group__header .tensorsite-content__small-title{font-family:"Google Sans",sans-serif;font-size:48px;font-weight:500;line-height:56px;letter-spacing:-0.5px;color:#425066}}@media only screen and (max-width: 1279px) and (max-width: 1279px){.tensorsite-side-side--redesign .tensorsite-group__header .tensorsite-content__small-title{font-size:32px;line-height:38px;font-weight:400;letter-spacing:-0.25px}}@media only screen and (max-width: 1279px) and (max-width: 767px){.tensorsite-side-side--redesign .tensorsite-group__header .tensorsite-content__small-title{font-size:28px;line-height:36px;letter-spacing:-0.25;font-weight:500}}@media only screen and (max-width: 767px){.tensorsite-side-side--redesign .tensorsite-group__header .tensorsite-content__small-title{text-align:left}}.tensorsite-side-side--redesign .tensorsite-side-side__secondary-section{margin-top:0px;margin-bottom:0px;width:600px;margin:0px !important;flex-basis:50%}@media only screen and (max-width: 1279px){.tensorsite-side-side--redesign .tensorsite-side-side__secondary-section{flex-basis:calc(100% - 30px);max-width:calc(100% - 30px);margin-right:0px}}@media only screen and (max-width: 767px){.tensorsite-side-side--redesign .tensorsite-side-side__secondary-section{flex-basis:calc(100%);max-width:calc(100%);margin-right:0px}}.tensorsite-side-side--redesign .tensorsite-side-side__secondary-section .tensorsite-content__image-wrapper{padding-top:48.5% !important;background-repeat:no-repeat;border-radius:0}@media only screen and (max-width: 767px){.tensorsite-side-side--redesign .tensorsite-side-side__secondary-section .tensorsite-content__image-wrapper{height:200px}}.tensorsite-side-side--redesign .tensorsite-group__header .tensorsite-content{padding-bottom:80px}@media only screen and (max-width: 767px){.tensorsite-side-side--redesign .tensorsite-group__header .tensorsite-content{padding-bottom:24px}}@media only screen and (max-width: 767px){.tensorsite-side-side--redesign.home-join-tf .tensorsite-group__header .tensorsite-content{padding-bottom:12px}}.tensorsite-side-side--redesign .tensorsite-side-side-wrapper{justify-content:space-around}@media only screen and (max-width: 1279px){.tensorsite-side-side--redesign .tensorsite-side-side-wrapper{flex-wrap:nowrap}}@media only screen and (max-width: 767px){.tensorsite-side-side--redesign .tensorsite-side-side-wrapper{flex-wrap:wrap-reverse;flex-direction:row;justify-content:center}}.tensorsite-side-side--redesign .tensorsite-side-side-wrapper.tensorsite-side-side-wrapper--one-way{justify-content:space-between}@media only screen and (max-width: 1279px){.tensorsite-side-side--redesign .tensorsite-side-side-wrapper.tensorsite-side-side-wrapper--one-way .tensorsite-side-side__secondary-section{max-width:50%}}@media only screen and (max-width: 767px){.tensorsite-side-side--redesign .tensorsite-side-side-wrapper.tensorsite-side-side-wrapper--one-way .tensorsite-side-side__secondary-section{max-width:100%}}@media only screen and (max-width: 1279px){.tensorsite-side-side--redesign .tensorsite-side-side-wrapper.tensorsite-side-side-wrapper--one-way{flex-wrap:nowrap;gap:20px}}@media only screen and (max-width: 767px){.tensorsite-side-side--redesign .tensorsite-side-side-wrapper.tensorsite-side-side-wrapper--one-way{flex-wrap:wrap}}.tensorsite-side-side--redesign.card .tensorsite-side-side-wrapper{background:#fff;padding:80px;border-radius:10px;box-shadow:0 0 36px rgba(0,0,0,0.1)}@media only screen and (max-width: 1279px){.tensorsite-side-side--redesign.card .tensorsite-side-side-wrapper{padding:20px 20px 20px 0px}}@media only screen and (max-width: 767px){.tensorsite-side-side--redesign.card .tensorsite-side-side-wrapper{padding:20px 0px 20px 20px}.tensorsite-side-side--redesign.card .tensorsite-side-side-wrapper .tensorsite-side-side__main-section{flex-basis:100%}}.tensorsite-side-side--redesign .tensorsite-side-side__main-section{display:flex;align-items:center;width:600px;margin:0 0 0 0 !important;flex-basis:50%}@media only screen and (max-width: 1279px){.tensorsite-side-side--redesign .tensorsite-side-side__main-section{margin:0 0 0 5% !important;flex-basis:calc(100% - 75px)}}@media only screen and (max-width: 767px){.tensorsite-side-side--redesign .tensorsite-side-side__main-section{margin:0 auto 0 0 !important;flex-basis:calc(100%);max-width:calc(100%)}}.tensorsite-side-side--redesign .tensorsite-side-side__main-section .tensorsite-content{padding:0}.tensorsite-side-side--redesign .tensorsite-side-side__main-section .tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:36px;font-weight:400;line-height:44px;letter-spacing:-0.25px;color:#425066;font-weight:400;padding-top:20px;padding-bottom:14px;margin-bottom:0}@media only screen and (max-width: 1279px){.tensorsite-side-side--redesign .tensorsite-side-side__main-section .tensorsite-content__title{font-size:20px;line-height:28px;font-weight:500;letter-spacing:0px}}@media only screen and (max-width: 767px){.tensorsite-side-side--redesign .tensorsite-side-side__main-section .tensorsite-content__title{font-size:24px;line-height:36px;font-weight:400;letter-spacing:-0.25px}}@media only screen and (max-width: 1279px){.tensorsite-side-side--redesign .tensorsite-side-side__main-section .tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:48px;font-weight:500;line-height:56px;letter-spacing:-0.5px;color:#425066;font-weight:400}}@media only screen and (max-width: 1279px) and (max-width: 1279px){.tensorsite-side-side--redesign .tensorsite-side-side__main-section .tensorsite-content__title{font-size:32px;line-height:38px;font-weight:400;letter-spacing:-0.25px}}@media only screen and (max-width: 1279px) and (max-width: 767px){.tensorsite-side-side--redesign .tensorsite-side-side__main-section .tensorsite-content__title{font-size:28px;line-height:36px;letter-spacing:-0.25;font-weight:500}}@media only screen and (max-width: 767px){.tensorsite-side-side--redesign .tensorsite-side-side__main-section .tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:40px;font-weight:400;line-height:48px;letter-spacing:-0.5px;color:#425066;font-weight:400}}@media only screen and (max-width: 767px) and (max-width: 1279px){.tensorsite-side-side--redesign .tensorsite-side-side__main-section .tensorsite-content__title{font-size:24px;line-height:36px;font-weight:500;letter-spacing:0px}}@media only screen and (max-width: 767px) and (max-width: 767px){.tensorsite-side-side--redesign .tensorsite-side-side__main-section .tensorsite-content__title{font-weight:400;line-height:30px}}.tensorsite-side-side--redesign .tensorsite-side-side__main-section .tensorsite-content__subtitle{font-family:"Roboto",sans-serif;font-size:28px;font-weight:400;line-height:36px;color:#616161}@media only screen and (max-width: 1279px){.tensorsite-side-side--redesign .tensorsite-side-side__main-section .tensorsite-content__subtitle{font-size:18px;line-height:28px;font-weight:500}}@media only screen and (max-width: 767px){.tensorsite-side-side--redesign .tensorsite-side-side__main-section .tensorsite-content__subtitle{font-weight:400}}@media only screen and (max-width: 1279px){.tensorsite-side-side--redesign .tensorsite-side-side__main-section .tensorsite-content__subtitle{font-family:"Google Sans",sans-serif;font-size:18px;font-weight:500;line-height:28px;color:#616161}}@media only screen and (max-width: 1279px) and (max-width: 1279px){.tensorsite-side-side--redesign .tensorsite-side-side__main-section .tensorsite-content__subtitle{font-weight:400}}@media only screen and (max-width: 1279px) and (max-width: 767px){.tensorsite-side-side--redesign .tensorsite-side-side__main-section .tensorsite-content__subtitle{font-size:16px}}@media only screen and (max-width: 767px){.tensorsite-side-side--redesign .tensorsite-side-side__main-section .tensorsite-content__subtitle{font-family:"Roboto",sans-serif;font-size:24px;font-weight:400;line-height:28px;color:#616161;margin-top:24px}}@media only screen and (max-width: 767px) and (max-width: 1279px){.tensorsite-side-side--redesign .tensorsite-side-side__main-section .tensorsite-content__subtitle{font-size:18px;line-height:28px;font-weight:500}}@media only screen and (max-width: 767px) and (max-width: 767px){.tensorsite-side-side--redesign .tensorsite-side-side__main-section .tensorsite-content__subtitle{font-size:18px;font-weight:400;line-height:28px}}.tensorsite-side-side--redesign .tensorsite-side-side__main-section .tensorsite-content__description{font-family:"Roboto",sans-serif;font-size:18px;font-weight:400;line-height:28px;color:#616161;font-family:"Roboto",sans-serif;margin-bottom:25px}.tensorsite-side-side--redesign .tensorsite-side-side__main-section .tensorsite-content__cta-wrapper{gap:25px}.tensorsite-side-side--redesign .tensorsite-side-side__main-section .tensorsite-content__cta:not(.tensorsite-content__button){font-family:"Google Sans",sans-serif;font-size:16px;font-weight:500;line-height:20px;color:#425066;letter-spacing:0.5px;text-decoration:underline;-webkit-text-decoration-color:#ff6f00;text-decoration-color:#ff6f00;text-transform:uppercase;text-underline-offset:4px}.tensorsite-side-side--redesign .tensorsite-side-side__main-section .tensorsite-content__cta:not(.tensorsite-content__button):hover,.tensorsite-side-side--redesign .tensorsite-side-side__main-section .tensorsite-content__cta:not(.tensorsite-content__button):focus{color:#ff6f00}@media only screen and (max-width: 1279px){.tensorsite-side-side--redesign .tensorsite-side-side__main-section .tensorsite-content__cta:not(.tensorsite-content__button){line-height:21px}}@media only screen and (max-width: 767px){.tensorsite-side-side--redesign .tensorsite-side-side__main-section .tensorsite-content__cta:not(.tensorsite-content__button){letter-spacing:0;line-height:24px}}.tensorsite-side-side--redesign .tensorsite-side-side__main-section .tensorsite-button{font-family:"Google Sans",sans-serif;font-size:16px;font-weight:500;line-height:24px;color:#425066;border:1px solid #818181;margin-top:40px;border-radius:4px}.tensorsite-side-side--redesign .tensorsite-side-side__main-section .tensorsite-button:hover,.tensorsite-side-side--redesign .tensorsite-side-side__main-section .tensorsite-button:focus{color:#f5f5f5}@media only screen and (max-width: 767px){.tensorsite-side-side--redesign .tensorsite-side-side__main-section .tensorsite-button{margin-top:24px}}.tensorsite-side-side--redesign .tensorsite-side-side__main-section .tensorsite-button::before{border-radius:3px}.tensorsite-side-side--redesign .tensorsite-side-side__main-section .tensorsite-button::after{border-radius:4px;width:100%;height:100%;top:0px;left:0px}.tensorsite-side-side--redesign .tensorsite-side-side__main-section .tensorsite-button:hover,.tensorsite-side-side--redesign .tensorsite-side-side__main-section .tensorsite-button:focus{border:1px solid #E6E6E6}.scrollfit.tensorsite-side-side__code-block devsite-code{height:360px;overflow-x:hidden;overflow-y:auto;border-radius:8px}.tensorsite-home-footer{background-image:linear-gradient(to top right, #ff6f00, #FFA800)}.tensorsite-home-footer__container{margin:0 auto;position:relative;height:625px}@media only screen and (max-width: 767px){.tensorsite-home-footer__container{height:500px}}.tensorsite-home-footer__content{position:relative;padding-top:10%}.tensorsite-home-footer__content .tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:48px;font-weight:700;line-height:72px;letter-spacing:-0.5px;color:#fff;color:#fff;text-align:center;margin-bottom:80px}@media only screen and (max-width: 1279px){.tensorsite-home-footer__content .tensorsite-content__title{line-height:58px}}@media only screen and (max-width: 767px){.tensorsite-home-footer__content .tensorsite-content__title{font-size:36px;line-height:44px;letter-spacing:-0.25px}}@media only screen and (max-width: 1279px){.tensorsite-home-footer__content .tensorsite-content__title{margin-bottom:60px;margin-inline:auto;max-width:500px}}@media only screen and (max-width: 767px){.tensorsite-home-footer__content .tensorsite-content__title{margin-bottom:48px;max-width:300px}}.tensorsite-home-footer__content .tensorsite-content__cta-wrapper{flex-direction:row;text-align:center;align-self:center;gap:34px}@media only screen and (max-width: 767px){.tensorsite-home-footer__content .tensorsite-content__cta-wrapper{flex-direction:column;gap:16px}}.tensorsite-home-footer__content .tensorsite-content .tensorsite-button{font-family:"Google Sans",sans-serif;font-size:16px;font-weight:500;line-height:24px;color:#616161;text-decoration:underline;text-underline-offset:4px;text-decoration:none;align-self:center}.tensorsite-home-footer__content .tensorsite-content .tensorsite-button:hover,.tensorsite-home-footer__content .tensorsite-content .tensorsite-button:focus{color:#ff6f00}.tensorsite-home-footer__content .tensorsite-content .tensorsite-button:hover{color:#fff}.tensorsite-home-footer__lines{background-image:url(/site-assets/images/marketing/home-footer-lines.png);background-size:100%;background-repeat:no-repeat;background-position:top;position:relative;bottom:0;left:50%;width:1444px;position:absolute;top:0;-webkit-transform:translate(-50%, 0);transform:translate(-50%, 0)}@media only screen and (max-width: 1279px){.tensorsite-home-footer__lines{width:100%;background-position:bottom}}@media only screen and (max-width: 767px){.tensorsite-home-footer__lines{-webkit-transform:translate(-50%, 0);transform:translate(-50%, 0);width:600px}}@media only screen and (max-width: 480px){.tensorsite-home-footer__lines{-webkit-transform:translate(-35%, 0);transform:translate(-35%, 0)}}.tensorsite-card--redesign{-webkit-backface-visibility:hidden;backface-visibility:hidden;border-radius:10px;box-shadow:0 0 36px rgba(0,0,0,0.1);display:flex;flex-direction:column;flex-grow:0;flex-shrink:1;position:relative;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);transition:box-shadow .2s linear,opacity .2s linear}@media only screen and (max-width: 767px){.tensorsite-card--redesign{flex-basis:auto;max-width:100%}}.tensorsite-card--redesign::before{background:#fff;border-radius:10px;content:'';height:100%;left:0;pointer-events:none;position:absolute;top:0;transition:opacity .2s linear;width:100%}.tensorsite-card--redesign .tensorsite-content{border-radius:0 0 10px 10px;position:static;padding:20px}.tensorsite-card--redesign .tensorsite-content__image{-webkit-transform:scale(0.9);transform:scale(0.9)}.tensorsite-card--redesign .tensorsite-content__hover-image,.tensorsite-card--redesign .tensorsite-content__hover-video{display:none}@media only screen and (max-width: 767px){.tensorsite-card--redesign .tensorsite-content{padding:24px}}.tensorsite-card--redesign .tensorsite-content--under-image::before{top:-1px}.tensorsite-card--redesign .tensorsite-content .tensorsite-content__subtitle,.tensorsite-card--redesign .tensorsite-content .tensorsite-content__description,.tensorsite-card--redesign .tensorsite-content .tensorsite-content__cta-wrapper,.tensorsite-card--redesign .tensorsite-content ul{position:relative}.tensorsite-card--redesign .tensorsite-content .tensorsite-content__cta-wrapper--shorter{padding-right:70px}.tensorsite-card--redesign .tensorsite-content__image-wrapper{margin:20px 20px 1px 20px;border:1px solid #E6E6E6;border-radius:10px !important;overflow:hidden;position:relative;transition:border-color .2s linear;z-index:1}.tensorsite-card--redesign .tensorsite-content__image-wrapper img{background-color:#fbfcfc;transition:-webkit-transform .5s cubic-bezier(0.25, 0.1, 0.25, 1);transition:transform .5s cubic-bezier(0.25, 0.1, 0.25, 1);transition:transform .5s cubic-bezier(0.25, 0.1, 0.25, 1), -webkit-transform .5s cubic-bezier(0.25, 0.1, 0.25, 1);will-change:transform}.tensorsite-card--redesign .tensorsite-content__image-wrapper .tensorsite-content__image__play-button{bottom:0;left:0;margin:auto;overflow:visible;position:absolute;right:0;top:0}.tensorsite-card--redesign .tensorsite-price-tag__inner{transition:background-color .2s linear,color .2s linear}.tensorsite-card--redesign .tensorsite-content--under-image .tensorsite-content__categories{display:flex;flex-wrap:wrap;position:relative;z-index:1;margin-top:0px;margin-bottom:12px}.tensorsite-card--redesign .tensorsite-content--under-image .tensorsite-content__categories::before{content:''}.tensorsite-card--redesign .tensorsite-content--under-image .tensorsite-content__categories .tensorsite-content__category{padding-right:8px;padding-top:0px}.tensorsite-card--redesign .tensorsite-content--under-image .tensorsite-content__categories .tensorsite-content__category:last-child{padding-right:0}.tensorsite-card--redesign .tensorsite-content--under-image .tensorsite-content__categories .tensorsite-content__category-text{font-family:"Roboto",sans-serif;font-size:14px;font-weight:400;line-height:20px;color:#818181;letter-spacing:0.5px;text-transform:uppercase;position:relative;transition:color .2s linear;padding:4px 6px 3px 6px;border-radius:5px;background-color:#E6E6E6}.tensorsite-card--redesign .tensorsite-content--under-image .tensorsite-content__categories .tensorsite-content__category-text::before,.tensorsite-card--redesign .tensorsite-content--under-image .tensorsite-content__categories .tensorsite-content__category-text::after{background-position:center center;background-repeat:no-repeat;bottom:0;content:'';height:12px;left:0;margin:auto;position:absolute;top:0;width:12px}.tensorsite-card--redesign .tensorsite-content--under-image .tensorsite-content__categories .tensorsite-content__category-text::before{transition:opacity .2s linear;z-index:1}.tensorsite-card--redesign .tensorsite-content--under-image .tensorsite-content__title{font-size:24px;font-weight:500;line-height:30px;letter-spacing:0px;margin-bottom:16px;align-items:center;display:flex;justify-content:space-between;z-index:1}.tensorsite-card--redesign .tensorsite-content--under-image .tensorsite-content__title:before{bottom:0;content:'';left:0;position:absolute;right:0;top:0}.tensorsite-card--redesign .tensorsite-content--under-image .tensorsite-content__subtitle{font-family:"Google Sans",sans-serif;font-size:14px;font-weight:700;line-height:18px}.tensorsite-card--redesign .tensorsite-content--under-image .tensorsite-content__subtitle--thin{font-size:16px;font-family:"Roboto",sans-serif;font-weight:400;color:#818181}.tensorsite-card--redesign .tensorsite-content--under-image .tensorsite-content__subtitle--thin.tensorsite-content__subtitle--under-title{margin-bottom:18px;margin-top:0px}.tensorsite-card--redesign .tensorsite-content--under-image .tensorsite-content__description{margin-bottom:24px}.tensorsite-card--redesign .tensorsite-content--under-image .tensorsite-content__description strong:first-child:last-child{font-family:"Google Sans",sans-serif;font-size:16px;font-weight:700;line-height:26px;color:#425066;display:inline-block;margin-top:8px;transition:color .2s linear}.tensorsite-card--redesign .tensorsite-content__cta{z-index:3;font-weight:500}.tensorsite-card--redesign .tensorsite-content__cta:hover:not(.no-link){color:#fff}.tensorsite-card--redesign:hover:not(.no-link){box-shadow:0 0 64px rgba(0,0,0,0.22);cursor:pointer}.tensorsite-card--redesign:hover:not(.no-link) .tensorsite-content__main-image{display:none}.tensorsite-card--redesign:hover:not(.no-link) .tensorsite-content__hover-image,.tensorsite-card--redesign:hover:not(.no-link) .tensorsite-content__hover-video{display:flex}.tensorsite-card--redesign:hover:not(.no-link) .tensorsite-content__image__play-button{-webkit-transform:scale(1.2);transform:scale(1.2)}.tensorsite-card--redesign.no-link .tensorsite-content__title::before{content:none}.tensorsite-card--redesign.font-size-body .tensorsite-content__description{font-family:"Roboto",sans-serif;font-size:16px;line-height:28px}.tensorsite-card--redesign--double{flex-grow:0;flex-shrink:1}.tensorsite-card--redesign__href{height:100%;left:0;opacity:0;position:absolute;top:0;width:100%;z-index:2}.tensorsite-card--redesign--hero .tensorsite-content__cta:hover{color:#425066}.tensorsite-card--redesign--hero-whitecta .tensorsite-content__cta{color:#fff}.tensorsite-card--redesign--hero-whitecta a span::after{-webkit-filter:grayscale(100%) invert(1) brightness(2);filter:grayscale(100%) invert(1) brightness(2)}.tensorsite-card--redesign--hero-whitecta .tensorsite-content__cta:hover{color:#fff}.tensorsite-card--redesign--hero-whitetext .tensorsite-content__title{color:#fff}.tensorsite-card--redesign--hero-bluegradient .tensorsite-content--under-image{background-image:linear-gradient(0deg, rgba(32,18,20,0) 0%, rgba(32,18,20,0) 45%, #5464b5 100%)}.tensorsite-card--redesign--hero-h3title .tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:24px;font-weight:700;line-height:32px}.tensorsite-card--redesign--hero .tensorsite-content__title{flex-grow:1}.tensorsite-card--redesign--hero .tensorsite-content__title::after{-webkit-filter:grayscale(100%) invert(1) brightness(2);filter:grayscale(100%) invert(1) brightness(2)}.tensorsite-card--redesign--hero .tensorsite-content__image-wrapper{border-bottom:none;border-radius:10px;height:100%;position:absolute;width:100%}.tensorsite-card--redesign--hero .tensorsite-content__image{height:100%;-o-object-fit:cover;object-fit:cover}.tensorsite-card--redesign--hero .tensorsite-content__image,.tensorsite-card--redesign--hero .tensorsite-content--under-image{border-radius:10px}.tensorsite-card--redesign--clip .tensorsite-content{background:transparent;margin-top:40%;padding-top:17%;position:static;z-index:1}@media only screen and (-ms-high-contrast: none), (-ms-high-contrast: active){.tensorsite-card--redesign--clip .tensorsite-content{background-color:#fff;padding-top:20px}}.tensorsite-card--redesign--clip .tensorsite-content__clip-bg{padding-top:40%}.tensorsite-card--redesign--clip .tensorsite-content__clip-bg+.tensorsite-content__title{padding-top:7%}.tensorsite-card--redesign--clip .tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:24px;font-weight:700;line-height:32px;max-width:81%}@media only screen and (max-width: 1000px){.tensorsite-card--redesign--clip .tensorsite-content__title{max-width:none}}@media only screen and (max-width: 850px){.tensorsite-card--redesign--clip .tensorsite-content__title{max-width:80%}}@media only screen and (max-width: 767px){.tensorsite-card--redesign--clip .tensorsite-content__title{max-width:60%}}@media only screen and (max-width: 480px){.tensorsite-card--redesign--clip .tensorsite-content__title{max-width:80%}}.tensorsite-card--redesign--clip .tensorsite-content__subtitle{color:#425066;font-weight:700;max-width:42%}.tensorsite-card--redesign--clip .tensorsite-content__image-wrapper{border-bottom:0;border-radius:10px;height:100%;position:absolute;width:100%}.tensorsite-card--redesign--horizontal{flex-basis:calc(100% - 30px);max-width:calc(100% - 30px)}.tensorsite-card--redesign--horizontal .tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:24px;font-weight:700;line-height:32px}@media only screen and (min-width: 851px){.tensorsite-card--redesign--horizontal{flex-direction:row}.tensorsite-card--redesign--horizontal .tensorsite-content__image-wrapper,.tensorsite-card--redesign--horizontal .tensorsite-content--under-image{flex:1 0 50%;max-width:50%}.tensorsite-card--redesign--horizontal .tensorsite-content__image-wrapper{border-bottom:0;border-radius:10px 0 0 10px;border-right:1px solid #dadada}.tensorsite-card--redesign--horizontal .tensorsite-content__image{border-radius:10px 0 0 10px;height:100%;-o-object-fit:cover;object-fit:cover}}@media only screen and (min-width: 851px) and (-ms-high-contrast: none), only screen and (min-width: 851px) and (-ms-high-contrast: active){.tensorsite-card--redesign--horizontal .tensorsite-content__image-wrapper{display:flex;flex-direction:column;justify-content:center}.tensorsite-card--redesign--horizontal .tensorsite-content__image{height:auto;-o-object-fit:unset;object-fit:unset}}.tensorsite-card:not(.tensorsite-card--clip):not(.tensorsite-card--hero):not(.no-link):hover::before{opacity:0}.tensorsite-card:not(.tensorsite-card--clip):not(.tensorsite-card--hero):not(.no-link):hover .tensorsite-content a,.tensorsite-card:not(.tensorsite-card--clip):not(.tensorsite-card--hero):not(.no-link):hover .tensorsite-content div,.tensorsite-card:not(.tensorsite-card--clip):not(.tensorsite-card--hero):not(.no-link):hover .tensorsite-content strong{color:#fff}.tensorsite-card:not(.tensorsite-card--clip):not(.tensorsite-card--hero):not(.no-link):hover .tensorsite-content::before{opacity:1;transition:opacity .2s linear}.tensorsite-card:not(.tensorsite-card--clip):not(.tensorsite-card--hero):not(.no-link):hover .tensorsite-content ul a span::after,.tensorsite-card:not(.tensorsite-card--clip):not(.tensorsite-card--hero):not(.no-link):hover .tensorsite-content .tensorsite-content__cta-wrapper .tensorsite-content__cta-icon span::after{-webkit-filter:grayscale(100%) invert(1) brightness(2);filter:grayscale(100%) invert(1) brightness(2)}.tensorsite-card:not(.tensorsite-card--clip):not(.tensorsite-card--hero):not(.no-link):hover .tensorsite-content .tensorsite-content__title span::after,.tensorsite-card:not(.tensorsite-card--clip):not(.tensorsite-card--hero):not(.no-link):hover .tensorsite-content .tensorsite-content__subtitle span::after{-webkit-filter:grayscale(100%) invert(1) brightness(2);filter:grayscale(100%) invert(1) brightness(2)}.tensorsite-card:not(.tensorsite-card--clip):not(.tensorsite-card--hero):not(.no-link):hover .tensorsite-content .tensorsite-content__tag{color:#fff}.tensorsite-card:not(.tensorsite-card--clip):not(.tensorsite-card--hero):not(.no-link):hover .tensorsite-content .tensorsite-content__cta-wrapper .tensorsite-price-tag__inner{background-color:#fff;color:#ff6f00}.tensorsite-card:not(.tensorsite-card--clip):not(.tensorsite-card--hero):not(.no-link):hover .tensorsite-content .tensorsite-content__cta-wrapper .tensorsite-price-tag__inner::before{background-image:url("data:image/svg+xml,%3Csvg width='12' height='24' viewBox='0 0 12 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath d='M9.474 0H56a2 2 0 0 1 2 2v20a2 2 0 0 1-2 2H9.474a2 2 0 0 1-1.636-.85l-7.03-10a2 2 0 0 1 0-2.3l7.03-10A2 2 0 0 1 9.474 0z' fill='%23FFF'/%3E%3Ccircle fill='%23FF6F00' cx='10' cy='12' r='2'/%3E%3C/g%3E%3C/svg%3E")}.tensorsite-card:not(.tensorsite-card--clip):not(.tensorsite-card--hero):not(.no-link):hover .tensorsite-content .tensorsite-content__categories .tensorsite-content__category-text{color:#fff}.tensorsite-card:not(.tensorsite-card--clip):not(.tensorsite-card--hero):not(.no-link):hover .tensorsite-content .tensorsite-content__clip-bg::before{background:#ff6f00}.tensorsite-card:not(.tensorsite-card--clip):not(.tensorsite-card--hero):not(.no-link):hover .tensorsite-content .tensorsite-content__clip-shape path{fill:#ff6f00}.tensorsite-card:not(.tensorsite-card--clip):not(.tensorsite-card--hero):not(.no-link):hover .tensorsite-content .tensorsite-content__category-text::before{opacity:0}html[dir='rtl'] .tensorsite-content__clip-shape{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.tensorsite-card:hover .tensorsite-content__image-wrapper{border-color:transparent}.tensorsite-card:hover .tensorsite-content__image-wrapper img{-webkit-transform:scale(1.03);transform:scale(1.03);transition:-webkit-transform 1s cubic-bezier(0.25, 0.1, 0.25, 1);transition:transform 1s cubic-bezier(0.25, 0.1, 0.25, 1);transition:transform 1s cubic-bezier(0.25, 0.1, 0.25, 1), -webkit-transform 1s cubic-bezier(0.25, 0.1, 0.25, 1)}.tensorsite-card--bnw img{-webkit-filter:grayscale(100%);filter:grayscale(100%)}.tensorsite-card--bnw:hover img{-webkit-filter:grayscale(0%);filter:grayscale(0%)}.tensorsite-card .tensorsite-content__title:hover ~ div.tensorsite-content__cta-wrapper .tensorsite-content__cta:first-child span::after,.tensorsite-card .tensorsite-card__href:hover ~ .tensorsite-content div.tensorsite-content__cta-wrapper .tensorsite-content__cta:first-child span::after{-webkit-transform:translateX(4px);transform:translateX(4px)}.tensorsite-card .tensorsite-content__title:hover ~ ul.tensorsite-content__cta-wrapper li:first-child .tensorsite-content__cta span::after{-webkit-transform:translateX(4px);transform:translateX(4px)}.tensorsite-card .tensorsite-content__title:focus::before{border-radius:10px;box-shadow:0 0 0 2px #425066}.tensorsite-card .tensorsite-card__href:focus ~ .tensorsite-content .tensorsite-content__title::before{border-radius:10px;box-shadow:0 0 0 2px #425066}@media only screen and (max-width: 767px){.tensorsite-group--redesign .tensorsite-container{margin:24px auto;padding:0 20px}}@media only screen and (max-width: 767px){.tensorsite-group--redesign .tensorsite-container .tensorsite-group__header .tensorsite-content .tensorsite-content__description{text-align:center}}@media only screen and (max-width: 1279px){.tensorsite-group--redesign .tensorsite-container .tensorsite-group__header .tensorsite-content{padding-left:0px}}@media only screen and (max-width: 767px){.tensorsite-group--redesign .tensorsite-container .tensorsite-group__header .tensorsite-content .tensorsite-content__description{text-align:center}}.tensorsite-group--redesign .tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:36px;font-weight:700;line-height:48px;margin-bottom:12px;max-width:900px}@media only screen and (max-width: 767px){.tensorsite-group--redesign .tensorsite-content__title{font-size:28px;line-height:36px;font-weight:700;letter-spacing:-0.25px}}@media only screen and (max-width: 1279px){.tensorsite-group--redesign .tensorsite-content__title{font-size:28px;line-height:36px;font-weight:700;letter-spacing:-0.25px}}@media only screen and (max-width: 767px){.tensorsite-group--redesign .tensorsite-content__title:last-child{margin-bottom:24px}}.tensorsite-group--redesign h1.tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:52px;font-weight:500;line-height:62px;letter-spacing:-0.5px;color:#425066;margin-bottom:30px;max-width:680px}@media only screen and (max-width: 1279px){.tensorsite-group--redesign h1.tensorsite-content__title{font-size:40px;line-height:48px}}@media only screen and (max-width: 767px){.tensorsite-group--redesign h1.tensorsite-content__title{font-size:30px;line-height:36px;letter-spacing:-0.25px}}@media only screen and (max-width: 767px){.tensorsite-group--redesign h1.tensorsite-content__title{margin:unset}}.tensorsite-group--redesign h3.tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:36px;font-weight:400;line-height:44px;letter-spacing:-0.25px;color:#425066;margin-bottom:0px;max-width:680px}@media only screen and (max-width: 1279px){.tensorsite-group--redesign h3.tensorsite-content__title{font-size:20px;line-height:28px;font-weight:500;letter-spacing:0px}}@media only screen and (max-width: 767px){.tensorsite-group--redesign h3.tensorsite-content__title{font-size:24px;line-height:36px;font-weight:400;letter-spacing:-0.25px}}@media only screen and (max-width: 767px){.tensorsite-group--redesign h3.tensorsite-content__title{margin:unset}}.tensorsite-group--redesign .tensorsite-content__small-title{font-family:"Roboto",sans-serif;font-size:24px;font-weight:400;line-height:28px;color:#616161;margin-bottom:48px;max-width:905px}@media only screen and (max-width: 1279px){.tensorsite-group--redesign .tensorsite-content__small-title{font-size:18px;line-height:28px;font-weight:500}}@media only screen and (max-width: 767px){.tensorsite-group--redesign .tensorsite-content__small-title{font-size:18px;font-weight:400;line-height:28px}}@media only screen and (max-width: 1279px){.tensorsite-group--redesign .tensorsite-content__small-title{max-width:440px}}@media only screen and (max-width: 767px){.tensorsite-group--redesign .tensorsite-content__small-title{text-align:left;max-width:100%}}.tensorsite-group--redesign .tensorsite-content__button{align-self:flex-start}@media only screen and (max-width: 767px){.tensorsite-group--redesign .tensorsite-content__button{align-self:center}}.tensorsite-group--redesign .tensorsite-group__inner{margin:0;display:grid;gap:24px;grid-template-columns:repeat(2, 1fr)}@media only screen and (max-width: 1279px){.tensorsite-group--redesign .tensorsite-group__inner{grid-template-columns:repeat(1, 1fr);justify-content:center;max-width:100%}}.tensorsite-group--redesign .tensorsite-content__image-wrapper{border-radius:2px 2px 0 0}.tensorsite-group--redesign .tensorsite-content__image-wrapper::after{content:none}.tensorsite-group--redesign .tensorsite-content__image-wrapper .tensorsite-content__image{border-radius:0px;scale:1.11}.tensorsite-group--redesign .tensorsite-card{margin:0;border-radius:4px;border:1px solid #DADCE0;box-shadow:0px 4px 14px rgba(0,0,0,0.25)}.tensorsite-group--redesign .tensorsite-card::before{border-radius:2px}.tensorsite-group--redesign .tensorsite-card .tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:28px;font-weight:400;line-height:36px;letter-spacing:-0.25px;color:#425066;flex-basis:86px;align-items:flex-start;margin-bottom:0}.tensorsite-group--redesign .tensorsite-card .tensorsite-content__description{font-family:"Roboto",sans-serif;font-size:18px;font-weight:400;line-height:28px;color:#616161;margin-bottom:48px}.tensorsite-group--redesign .tensorsite-card .tensorsite-content__cta{font-family:"Google Sans",sans-serif;font-size:16px;font-weight:500;line-height:20px;color:#425066;letter-spacing:0.5px;text-decoration:underline;-webkit-text-decoration-color:#ff6f00;text-decoration-color:#ff6f00;text-transform:uppercase;text-underline-offset:4px}.tensorsite-group--redesign .tensorsite-card .tensorsite-content__cta:hover,.tensorsite-group--redesign .tensorsite-card .tensorsite-content__cta:focus{color:#ff6f00}@media only screen and (max-width: 1279px){.tensorsite-group--redesign .tensorsite-card .tensorsite-content__cta{line-height:21px}}@media only screen and (max-width: 767px){.tensorsite-group--redesign .tensorsite-card .tensorsite-content__cta{letter-spacing:0;line-height:24px}}.tensorsite-group--redesign .tensorsite-card:hover .tensorsite-content__cta{-webkit-text-decoration-color:#fff;text-decoration-color:#fff}.tensorsite-group--redesign .tensorsite-card:hover .tensorsite-content__image-wrapper::after{content:none}.tensorsite-group--redesign .tensorsite-block{margin:0;gap:48px}@media only screen and (max-width: 767px){.tensorsite-group--redesign .tensorsite-block{gap:20px}}.tensorsite-group--redesign .tensorsite-block--sideside{display:flex;flex-direction:row}.tensorsite-group--redesign .tensorsite-block--sideside .tensorsite-content{padding-top:0;padding-bottom:48px;width:100%}@media only screen and (max-width: 767px){.tensorsite-group--redesign .tensorsite-block--sideside .tensorsite-content{padding-bottom:12px}}.tensorsite-group--redesign .tensorsite-block--sideside .tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:36px;font-weight:400;line-height:44px;letter-spacing:-0.25px;color:#425066;color:#425066;margin-bottom:24px}@media only screen and (max-width: 1279px){.tensorsite-group--redesign .tensorsite-block--sideside .tensorsite-content__title{font-size:20px;line-height:28px;font-weight:500;letter-spacing:0px}}@media only screen and (max-width: 767px){.tensorsite-group--redesign .tensorsite-block--sideside .tensorsite-content__title{font-size:24px;line-height:36px;font-weight:400;letter-spacing:-0.25px}}@media only screen and (max-width: 767px){.tensorsite-group--redesign .tensorsite-block--sideside .tensorsite-content__title{margin-bottom:12px}}.tensorsite-group--redesign .tensorsite-block--sideside .tensorsite-content__description{font-family:"Roboto",sans-serif;font-size:18px;font-weight:400;line-height:28px;color:#616161;margin-bottom:24px}@media only screen and (max-width: 767px){.tensorsite-group--redesign .tensorsite-block--sideside .tensorsite-content__description{margin-bottom:12px}}.tensorsite-group--redesign .tensorsite-block--sideside .tensorsite-content__cta{font-family:"Google Sans",sans-serif;font-size:16px;font-weight:500;line-height:20px;color:#425066;letter-spacing:0.5px;text-decoration:underline;-webkit-text-decoration-color:#ff6f00;text-decoration-color:#ff6f00;text-transform:uppercase;text-underline-offset:4px}.tensorsite-group--redesign .tensorsite-block--sideside .tensorsite-content__cta:hover,.tensorsite-group--redesign .tensorsite-block--sideside .tensorsite-content__cta:focus{color:#ff6f00}@media only screen and (max-width: 1279px){.tensorsite-group--redesign .tensorsite-block--sideside .tensorsite-content__cta{line-height:21px}}@media only screen and (max-width: 767px){.tensorsite-group--redesign .tensorsite-block--sideside .tensorsite-content__cta{letter-spacing:0;line-height:24px}}.tensorsite-group--redesign .tensorsite-block--sideside .tensorsite-block__image-wrapper{margin:0}.tensorsite-group--redesign.tensorsite-group--3up.home-module3-browsetf .tensorsite-container{padding:0 40px}@media only screen and (max-width: 767px){.tensorsite-group--redesign.tensorsite-group--3up.home-module3-browsetf .tensorsite-container{padding:20px;margin:0px}}.tensorsite-group--redesign.tensorsite-group--3up .tensorsite-group__divider{border-top:1px solid #ff6f00;max-width:1340px;width:100%}@media only screen and (max-width: 767px){.tensorsite-group--redesign.tensorsite-group--3up .tensorsite-group__divider{border-top:1px solid transparent}}.tensorsite-group--redesign.tensorsite-group--3up .tensorsite-group__inner{display:grid;gap:24px;padding:0 30px;grid-template-columns:repeat(3, 1fr)}@media only screen and (max-width: 1279px){.tensorsite-group--redesign.tensorsite-group--3up .tensorsite-group__inner{padding-left:0px;padding-right:0px}}@media only screen and (max-width: 767px){.tensorsite-group--redesign.tensorsite-group--3up .tensorsite-group__inner{grid-template-columns:repeat(1, 1fr);padding-left:0px;padding-right:0px;gap:48px}}@media only screen and (max-width: 1279px){.tensorsite-group--redesign.tensorsite-group--3up .tensorsite-block{flex-basis:calc(100% / 3 - 30px)}}@media only screen and (max-width: 767px){.tensorsite-group--redesign.tensorsite-group--3up .tensorsite-block{flex-basis:calc(100%)}}.tensorsite-group--redesign.tensorsite-group--3up.home-module3-browsetf .tensorsite-block--plain .tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:28px;font-weight:500;line-height:36px;letter-spacing:-0.25px;color:#425066}@media only screen and (max-width: 767px){.tensorsite-group--redesign.tensorsite-group--3up.home-module3-browsetf .tensorsite-block--plain .tensorsite-content__title{font-size:24px;line-height:30px}}.tensorsite-group--redesign.tensorsite-group--3up .tensorsite-block--plain .tensorsite-content{align-items:flex-start;padding:0}.tensorsite-group--redesign.tensorsite-group--3up .tensorsite-block--plain .tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:28px;font-weight:500;line-height:36px;letter-spacing:-0.25px;color:#425066;margin-bottom:48px;text-align:left}@media only screen and (max-width: 767px){.tensorsite-group--redesign.tensorsite-group--3up .tensorsite-block--plain .tensorsite-content__title{font-size:24px;line-height:30px}}@media only screen and (max-width: 767px){.tensorsite-group--redesign.tensorsite-group--3up .tensorsite-block--plain .tensorsite-content__title{margin-bottom:24px}}.tensorsite-group--redesign.tensorsite-group--3up .tensorsite-block--plain .tensorsite-content__cta{font-family:"Google Sans",sans-serif;font-size:16px;font-weight:500;line-height:20px;color:#425066;letter-spacing:0.5px;text-decoration:underline;-webkit-text-decoration-color:#ff6f00;text-decoration-color:#ff6f00;text-transform:uppercase;text-underline-offset:4px}.tensorsite-group--redesign.tensorsite-group--3up .tensorsite-block--plain .tensorsite-content__cta:hover,.tensorsite-group--redesign.tensorsite-group--3up .tensorsite-block--plain .tensorsite-content__cta:focus{color:#ff6f00}@media only screen and (max-width: 1279px){.tensorsite-group--redesign.tensorsite-group--3up .tensorsite-block--plain .tensorsite-content__cta{line-height:21px}}@media only screen and (max-width: 767px){.tensorsite-group--redesign.tensorsite-group--3up .tensorsite-block--plain .tensorsite-content__cta{letter-spacing:0;line-height:24px}}.tensorsite-group--redesign.tensorsite-group--3up .tensorsite-block--plain .tensorsite-content__cta-wrapper{text-align:left}.tensorsite-group--redesign.tensorsite-group--3up.small{padding-bottom:68px}.tensorsite-group--redesign.tensorsite-group--3up.small .tensorsite-container{margin-bottom:0}@media only screen and (max-width: 767px){.tensorsite-group--redesign.tensorsite-group--3up.small .tensorsite-container{margin:0px}}@media only screen and (max-width: 767px){.tensorsite-group--redesign.tensorsite-group--3up.small .tensorsite-group__header .tensorsite-content{padding-bottom:24px;padding-top:0px}}.tensorsite-group--redesign.tensorsite-group--3up.small .tensorsite-group__header .tensorsite-content__title{padding-top:68px;padding-bottom:18px;font-family:"Google Sans",sans-serif;font-size:36px;font-weight:400;line-height:44px;letter-spacing:-0.25px;color:#425066}@media only screen and (max-width: 1279px){.tensorsite-group--redesign.tensorsite-group--3up.small .tensorsite-group__header .tensorsite-content__title{font-size:20px;line-height:28px;font-weight:500;letter-spacing:0px}}@media only screen and (max-width: 767px){.tensorsite-group--redesign.tensorsite-group--3up.small .tensorsite-group__header .tensorsite-content__title{font-size:24px;line-height:36px;font-weight:400;letter-spacing:-0.25px}}@media only screen and (max-width: 1279px){.tensorsite-group--redesign.tensorsite-group--3up.small .tensorsite-group__header .tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:48px;font-weight:500;line-height:56px;letter-spacing:-0.5px;color:#425066;padding-bottom:0px}}@media only screen and (max-width: 1279px) and (max-width: 1279px){.tensorsite-group--redesign.tensorsite-group--3up.small .tensorsite-group__header .tensorsite-content__title{font-size:32px;line-height:38px;font-weight:400;letter-spacing:-0.25px}}@media only screen and (max-width: 1279px) and (max-width: 767px){.tensorsite-group--redesign.tensorsite-group--3up.small .tensorsite-group__header .tensorsite-content__title{font-size:28px;line-height:36px;letter-spacing:-0.25;font-weight:500}}@media only screen and (max-width: 767px){.tensorsite-group--redesign.tensorsite-group--3up.small .tensorsite-group__header .tensorsite-content__title{text-align:left;margin:0;padding-top:24px}}.tensorsite-group--redesign.tensorsite-group--3up.small .tensorsite-group__inner{max-width:85%;margin:auto}@media only screen and (max-width: 767px){.tensorsite-group--redesign.tensorsite-group--3up.small .tensorsite-group__inner{max-width:100%;font-family:"Google Sans",sans-serif;font-size:20px;font-weight:400;line-height:28px;color:#425066;margin:0;gap:24px}}.tensorsite-group--redesign.tensorsite-group--3up.small .tensorsite-group__inner .tensorsite-block--horizontal-card{flex-direction:row;border:1px solid #ccc;border-radius:8px;background-color:#fff;gap:0px;flex-basis:calc(100% / 3 - 57px);max-width:100%}@media only screen and (max-width: 1279px){.tensorsite-group--redesign.tensorsite-group--3up.small .tensorsite-group__inner .tensorsite-block--horizontal-card{flex-direction:column;align-items:center;padding-right:0px;flex-basis:calc(100% / 3 - 30px)}}@media only screen and (max-width: 767px){.tensorsite-group--redesign.tensorsite-group--3up.small .tensorsite-group__inner .tensorsite-block--horizontal-card{flex-direction:row;flex-basis:100%;padding-right:0px}}.tensorsite-group--redesign.tensorsite-group--3up.small .tensorsite-group__inner .tensorsite-block--horizontal-card .tensorsite-block__image-wrapper{display:flex;width:100%;max-width:77px;margin:12px 20px}@media only screen and (max-width: 767px){.tensorsite-group--redesign.tensorsite-group--3up.small .tensorsite-group__inner .tensorsite-block--horizontal-card .tensorsite-block__image-wrapper{margin-right:15px}}.tensorsite-group--redesign.tensorsite-group--3up.small .tensorsite-group__inner .tensorsite-block--horizontal-card .tensorsite-content{display:flex;justify-content:space-between;height:100%;padding:24px 0 16px 0;align-self:center}@media only screen and (max-width: 1279px){.tensorsite-group--redesign.tensorsite-group--3up.small .tensorsite-group__inner .tensorsite-block--horizontal-card .tensorsite-content{align-items:center}}@media only screen and (max-width: 767px){.tensorsite-group--redesign.tensorsite-group--3up.small .tensorsite-group__inner .tensorsite-block--horizontal-card .tensorsite-content{align-items:flex-start}}.tensorsite-group--redesign.tensorsite-group--3up.small .tensorsite-group__inner .tensorsite-block--horizontal-card .tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:20px;font-weight:400;line-height:28px;color:#425066;font-weight:500;color:#616161;margin-bottom:0px;flex-grow:0}@media only screen and (max-width: 1279px){.tensorsite-group--redesign.tensorsite-group--3up.small .tensorsite-group__inner .tensorsite-block--horizontal-card .tensorsite-content__title{text-align:center}}.tensorsite-group--redesign.tensorsite-group--3up.small .tensorsite-group__inner .tensorsite-block--horizontal-card .tensorsite-content__cta{font-family:"Google Sans",sans-serif;font-size:16px;font-weight:500;line-height:20px;color:#425066;letter-spacing:0.5px;text-decoration:underline;-webkit-text-decoration-color:#ff6f00;text-decoration-color:#ff6f00;text-transform:uppercase;text-underline-offset:4px}.tensorsite-group--redesign.tensorsite-group--3up.small .tensorsite-group__inner .tensorsite-block--horizontal-card .tensorsite-content__cta:hover,.tensorsite-group--redesign.tensorsite-group--3up.small .tensorsite-group__inner .tensorsite-block--horizontal-card .tensorsite-content__cta:focus{color:#ff6f00}@media only screen and (max-width: 1279px){.tensorsite-group--redesign.tensorsite-group--3up.small .tensorsite-group__inner .tensorsite-block--horizontal-card .tensorsite-content__cta{line-height:21px}}@media only screen and (max-width: 767px){.tensorsite-group--redesign.tensorsite-group--3up.small .tensorsite-group__inner .tensorsite-block--horizontal-card .tensorsite-content__cta{letter-spacing:0;line-height:24px}}@media only screen and (max-width: 1279px){.tensorsite-group--redesign.tensorsite-group--3up.small .tensorsite-group__inner .tensorsite-block--horizontal-card .tensorsite-content__cta{padding-bottom:12px}}.hide-cards-on-mobile .tensorsite-card{display:flex}@media only screen and (max-width: 1279px){.hide-cards-on-mobile .tensorsite-card{display:none}}.hide-cards-on-mobile .tensorsite-block{display:none}@media only screen and (max-width: 1279px){.hide-cards-on-mobile .tensorsite-block{display:flex}}.tensorsite-group--accordion .tensorsite-container{padding-top:80px;padding-bottom:68px;margin:0 auto}@media only screen and (max-width: 1279px){.tensorsite-group--accordion .tensorsite-container{padding-top:60px;padding-bottom:60px;margin:0 auto}}@media only screen and (max-width: 767px){.tensorsite-group--accordion .tensorsite-container{padding-top:12px;padding-bottom:12px;margin:0 auto}}.tensorsite-group--accordion .tensorsite-group__header .tensorsite-content{padding:0}.tensorsite-group--accordion .tensorsite-group__header .tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:48px;font-weight:500;line-height:56px;letter-spacing:-0.5px;color:#425066;max-width:900px}@media only screen and (max-width: 1279px){.tensorsite-group--accordion .tensorsite-group__header .tensorsite-content__title{font-size:32px;line-height:38px;font-weight:400;letter-spacing:-0.25px}}@media only screen and (max-width: 767px){.tensorsite-group--accordion .tensorsite-group__header .tensorsite-content__title{font-size:28px;line-height:36px;letter-spacing:-0.25;font-weight:500}}@media only screen and (max-width: 1279px){.tensorsite-group--accordion .tensorsite-group__header .tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:52px;font-weight:500;line-height:62px;letter-spacing:-0.5px;color:#425066;font-weight:500}}@media only screen and (max-width: 1279px) and (max-width: 1279px){.tensorsite-group--accordion .tensorsite-group__header .tensorsite-content__title{font-size:40px;line-height:48px}}@media only screen and (max-width: 1279px) and (max-width: 767px){.tensorsite-group--accordion .tensorsite-group__header .tensorsite-content__title{font-size:30px;line-height:36px;letter-spacing:-0.25px}}@media only screen and (max-width: 767px){.tensorsite-group--accordion .tensorsite-group__header .tensorsite-content__title{text-align:left;max-width:350px;flex-direction:row;align-items:flex-start;margin:0}}@media only screen and (max-width: 767px){.tensorsite-group--accordion .tensorsite-accordion .expanded-container__section{max-width:100%;padding-bottom:24px}}@media only screen and (max-width: 767px){.tensorsite-group--accordion .tensorsite-accordion .expanded-container__section .tensorsite-button{margin-top:0px}}.tensorsite-group.tensorsite-group--redesign .recsys{position:relative;z-index:-1;margin:0 auto;max-width:1420px;width:100%;top:-200px;left:150px;-webkit-transform:scale(1.2);transform:scale(1.2);max-height:280px}@media only screen and (max-width: 1279px){.tensorsite-group.tensorsite-group--redesign .recsys{top:-150px;left:100px;-webkit-transform:scale(1.2);transform:scale(1.2)}}@media only screen and (max-width: 767px){.tensorsite-group.tensorsite-group--redesign .recsys{top:-50px;-webkit-transform:scale(2);transform:scale(2)}}.tensorsite-jumbotron{margin:0 auto;max-width:1420px;width:100%}@media only screen and (max-width: 767px){.tensorsite-jumbotron{-webkit-transform:scale(2) translateX(-25%);transform:scale(2) translateX(-25%);margin:50px auto}}.tensorsite-jumbotron--grey-gradient::before{content:' ';background-image:linear-gradient(180deg, #E6E9EA, transparent, transparent, transparent);width:200%;display:block;height:350px;position:absolute;z-index:-1;-webkit-transform:translateX(-25%);transform:translateX(-25%)}.tensorsite-jumbotron--grey-gradient{position:relative;z-index:-1}.tensorsite-stay-connected__container{margin:0 auto;display:flex;flex-direction:row}@media only screen and (max-width: 767px){.tensorsite-stay-connected__container{flex-direction:column}}.tensorsite-stay-connected__text-container{padding-left:0px}@media only screen and (max-width: 767px){.tensorsite-stay-connected__text-container{margin-top:24px;padding-bottom:0px}}.tensorsite-stay-connected__text-container .tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:48px;font-weight:500;line-height:56px;letter-spacing:-0.5px;color:#425066}@media only screen and (max-width: 1279px){.tensorsite-stay-connected__text-container .tensorsite-content__title{font-size:32px;line-height:38px;font-weight:400;letter-spacing:-0.25px}}@media only screen and (max-width: 767px){.tensorsite-stay-connected__text-container .tensorsite-content__title{font-size:28px;line-height:36px;letter-spacing:-0.25;font-weight:500}}@media only screen and (max-width: 767px){.tensorsite-stay-connected__text-container .tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:52px;font-weight:500;line-height:62px;letter-spacing:-0.5px;color:#425066;font-weight:400;text-align:center}}@media only screen and (max-width: 767px) and (max-width: 1279px){.tensorsite-stay-connected__text-container .tensorsite-content__title{font-size:40px;line-height:48px}}@media only screen and (max-width: 767px) and (max-width: 767px){.tensorsite-stay-connected__text-container .tensorsite-content__title{font-size:30px;line-height:36px;letter-spacing:-0.25px}}.tensorsite-stay-connected__text-container .tensorsite-content__description{margin-bottom:48px;font-family:"Roboto",sans-serif;font-size:18px;font-weight:400;line-height:28px;color:#616161;flex-grow:unset}@media only screen and (max-width: 767px){.tensorsite-stay-connected__text-container .tensorsite-content__description{text-align:center;margin-bottom:0px;font-size:16px;line-height:26px}}.tensorsite-stay-connected .tensorsite-content__cta-wrapper{gap:12px}.tensorsite-stay-connected__steps-container{width:100%}.tensorsite-logo-ctas-container{display:flex;gap:40px;text-align:center}.tensorsite-logo-ctas-container>a{font-family:"Google Sans",sans-serif;font-size:16px;font-weight:500;line-height:24px;color:#425066}.tensorsite-logo-ctas-container.show-on-mobile{display:none}.tensorsite-logo-ctas-container.show-on-desktop{display:flex}@media only screen and (max-width: 767px){.tensorsite-logo-ctas-container{gap:20px;flex-wrap:wrap;justify-content:center;align-self:center}.tensorsite-logo-ctas-container>a{flex-basis:calc(50% - 64px)}.tensorsite-logo-ctas-container.show-on-mobile{display:flex}.tensorsite-logo-ctas-container.show-on-desktop{display:none}}.tensorsite-stay-connected{position:relative;padding:30px 0;background-color:#f5f6f7}.tensorsite-stay-connected .tensorsite-stay-connected__background{background:url(/site-assets/images/marketing/home-bg-stay-connected.svg) center/cover no-repeat;content:'';height:100%;position:absolute;top:-125%;width:100vw;-webkit-transform:scale(1.5);transform:scale(1.5);z-index:-1}.tensorsite-home-hero-wrapper{background:url(/site-assets/images/marketing/home/hero/tf-hero-desktop.svg) no-repeat center top/cover;-webkit-transform:translate(0, 70%);transform:translate(0, 70%);background-size:contain;height:1000px;overflow:hidden;position:absolute;width:100%}@media only screen and (max-width: 1279px){.tensorsite-home-hero-wrapper{background:none}}@media only screen and (min-width: 768px){.tensorsite-home-background::after{background:url(/site-assets/images/marketing/hero-river-bg-right.svg) center/cover no-repeat;content:'';height:904px;position:absolute;right:0;top:0;width:1440px;z-index:-1}}@media only screen and (max-width: 1279px){.tensorsite-container{padding:16px}}@media only screen and (max-width: 767px){.tensorsite-container{padding:16px}}@media only screen and (min-width: 768px){.tensorsite-home-background::after{background:url(/site-assets/images/marketing/hero-river-bg-right.svg) center/cover no-repeat;content:'';height:904px;position:absolute;right:0;top:0;width:1440px;z-index:-1}}.tensorsite-home-hero{max-height:750px;position:relative;display:flex}@media only screen and (max-width: 767px){.tensorsite-home-hero{flex-direction:column;align-items:flex-start;max-width:350px;max-height:680px;margin:auto;padding:0px}}.tensorsite-home-hero__main-section{width:70%}@media only screen and (max-width: 767px){.tensorsite-home-hero__main-section{margin-top:48px;width:100%}}.tensorsite-home-hero__main-section .tensorsite-content__title{max-width:650px;font-family:"Google Sans",sans-serif;font-size:48px;font-weight:500;line-height:56px;letter-spacing:-0.5px;color:#425066;font-weight:700;margin-bottom:36px}@media only screen and (max-width: 1279px){.tensorsite-home-hero__main-section .tensorsite-content__title{font-size:32px;line-height:38px;font-weight:400;letter-spacing:-0.25px}}@media only screen and (max-width: 767px){.tensorsite-home-hero__main-section .tensorsite-content__title{font-size:28px;line-height:36px;letter-spacing:-0.25;font-weight:500}}@media only screen and (max-width: 1279px){.tensorsite-home-hero__main-section .tensorsite-content__title{font-weight:700}}.tensorsite-home-hero__header{padding:0 30px;width:100%}@media only screen and (max-width: 767px){.tensorsite-home-hero__header{padding:0px}}.tensorsite-accordion{width:100%;padding-top:48px}.tensorsite-accordion .main-container{border-top:1px solid #ff6f00;margin-bottom:0;padding:48px 0}@media only screen and (max-width: 767px){.tensorsite-accordion .main-container{border-top:2px solid #ff6f00}}.tensorsite-accordion .main-container:last-child{border-top:1px solid #ff6f00;border-bottom:1px solid #ff6f00}@media only screen and (max-width: 767px){.tensorsite-accordion .main-container:last-child{border-top:2px solid #ff6f00;border-bottom:2px solid #ff6f00}}.tensorsite-accordion .main-container button{background:none;border:none;box-shadow:none;padding:0;text-align:left;white-space:unset;overflow:unset}.tensorsite-accordion .main-container button .material-icons{font-size:50px;height:50px;width:50px;top:0px}.tensorsite-accordion .main-container button:focus{border:2px solid #425066}.tensorsite-accordion .main-container button:focus:not(:focus-visible){border:none}.tensorsite-accordion .expand-control{display:flex;width:100%;color:#ff6f00;flex-direction:row;justify-content:space-between;align-items:center}.tensorsite-accordion .expand-control__title{font-family:"Google Sans",sans-serif;font-size:36px;font-weight:400;line-height:44px;letter-spacing:-0.25px;color:#425066}@media only screen and (max-width: 1279px){.tensorsite-accordion .expand-control__title{font-size:20px;line-height:28px;font-weight:500;letter-spacing:0px}}@media only screen and (max-width: 767px){.tensorsite-accordion .expand-control__title{font-size:24px;line-height:36px;font-weight:400;letter-spacing:-0.25px}}@media only screen and (max-width: 1279px){.tensorsite-accordion .expand-control__title{font-family:"Google Sans",sans-serif;font-size:48px;font-weight:500;line-height:56px;letter-spacing:-0.5px;color:#425066}}@media only screen and (max-width: 1279px) and (max-width: 1279px){.tensorsite-accordion .expand-control__title{font-size:32px;line-height:38px;font-weight:400;letter-spacing:-0.25px}}@media only screen and (max-width: 1279px) and (max-width: 767px){.tensorsite-accordion .expand-control__title{font-size:28px;line-height:36px;letter-spacing:-0.25;font-weight:500}}@media only screen and (max-width: 767px){.tensorsite-accordion .expand-control__title{font-family:"Google Sans",sans-serif;font-size:40px;font-weight:400;line-height:48px;letter-spacing:-0.5px;color:#425066}}@media only screen and (max-width: 767px) and (max-width: 1279px){.tensorsite-accordion .expand-control__title{font-size:24px;line-height:36px;font-weight:500;letter-spacing:0px}}@media only screen and (max-width: 767px) and (max-width: 767px){.tensorsite-accordion .expand-control__title{font-weight:400;line-height:30px}}.tensorsite-accordion .expand-control .collapser{-webkit-transform:rotate(180deg);transform:rotate(180deg);transition:all .15s ease-in-out}.tensorsite-accordion .expand-control .close-collapser{-webkit-transform:rotate(0);transform:rotate(0);transition:all .15s ease-in-out}.tensorsite-accordion .close-container{display:none}.tensorsite-accordion .expanded-container{display:flex;width:100%;max-height:1000px;flex-direction:row;align-items:flex-start;padding-top:68px}@media only screen and (max-width: 1279px){.tensorsite-accordion .expanded-container{align-items:center;flex-direction:column;padding-top:48px}}@media only screen and (max-width: 767px){.tensorsite-accordion .expanded-container{flex-direction:column;padding-top:48px}}.tensorsite-accordion .expanded-container__section{max-width:50%}@media only screen and (max-width: 1279px){.tensorsite-accordion .expanded-container__section{max-width:100%}}@media only screen and (max-width: 767px){.tensorsite-accordion .expanded-container__section{max-width:100%;padding-bottom:48px}}.tensorsite-accordion .expanded-container__section .tensorsite-button{font-family:"Google Sans",sans-serif;font-size:16px;font-weight:500;line-height:24px;color:#425066;border:1px solid #818181;margin-top:40px;border-radius:4px}.tensorsite-accordion .expanded-container__section .tensorsite-button:hover,.tensorsite-accordion .expanded-container__section .tensorsite-button:focus{color:#f5f5f5}.tensorsite-accordion .expanded-container__section .tensorsite-button::before{border-radius:4px}.tensorsite-accordion .expanded-container__section .tensorsite-button::after{border-radius:3px;width:100%;height:100%;top:0px;left:0px}.tensorsite-accordion .expanded-container__section .tensorsite-button:hover,.tensorsite-accordion .expanded-container__section .tensorsite-button:focus{border:1px solid #E6E6E6}.tensorsite-accordion .expanded-container__image{width:613px;height:411px;border-radius:14px;-o-object-fit:cover;object-fit:cover}@media only screen and (max-width: 1279px){.tensorsite-accordion .expanded-container__image{width:1200px}}@media only screen and (max-width: 767px){.tensorsite-accordion .expanded-container__image{height:220px}}.tensorsite-accordion .expanded-container p{margin:0px;font-family:"Roboto",sans-serif;font-size:28px;font-weight:400;line-height:36px;color:#616161;padding-left:94px}@media only screen and (max-width: 1279px){.tensorsite-accordion .expanded-container p{font-size:18px;line-height:28px;font-weight:500}}@media only screen and (max-width: 767px){.tensorsite-accordion .expanded-container p{font-weight:400}}@media only screen and (max-width: 1279px){.tensorsite-accordion .expanded-container p{padding-left:0}}.tensorsite-accordion .expanded-container p a{display:inline;margin:0px;font-family:"Roboto",sans-serif;font-size:28px;font-weight:500;line-height:36px;color:#616161;text-decoration:underline;text-underline-offset:4px}.tensorsite-accordion .expanded-container p a:hover,.tensorsite-accordion .expanded-container p a:focus{color:#ff6f00}@media only screen and (max-width: 1279px){.tensorsite-accordion .expanded-container p a{font-size:18px;line-height:28px}}.tensorsite-accordion .expanded-container p a:focus{color:#ff6f00}.tensorsite-accordion .expanded-container .tensorsite-content{padding-top:48px;padding-left:94px}@media only screen and (max-width: 1279px){.tensorsite-accordion .expanded-container .tensorsite-content{padding-left:0;padding-bottom:0}}@media only screen and (max-width: 767px){.tensorsite-accordion .expanded-container .tensorsite-content{padding-left:0}}.tensorsite-single-cta{margin-top:0px;max-width:780px;text-align:center}.tensorsite-single-cta .tensorsite-content__cta{font-family:"Google Sans",sans-serif;font-size:28px;font-weight:500;line-height:36px;letter-spacing:-0.25px;color:#425066;display:inline-block;line-height:normal;border-bottom:1px solid #ff6f00;color:#616161;font-weight:500;transition:color .2s linear;text-decoration:underline;border-bottom:none}@media only screen and (max-width: 767px){.tensorsite-single-cta .tensorsite-content__cta{font-size:24px;line-height:30px}}.tensorsite-single-cta .tensorsite-content__cta:hover{color:#ff6f00}.dac-form-after-submit{display:none}.dac-form-error{display:none}.dac-form-failed .dac-form-error{display:inline-block;margin:0 .5em}.dac-form-submitted .dac-form-after-submit{display:block}.dac-form-submitted .dac-subscribe-hero:not(:has(.tensorsite-newsletter-container--simplified)){display:none}.dac-recaptcha-invalid{display:none}.dac-form-recaptcha-invalid .dac-recaptcha-invalid{display:inline}.tensorflow-select{background-color:#fff;width:100%;max-width:100%;color:#616161;padding:10px;width:100%;font-family:"Roboto Mono",monospace;font-size:17px;height:auto;font-weight:normal;border:1px solid #425066;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='19' height='12' viewBox='0 0 19 12' fill='none'%3E%3Cpath d='M19 2.2834L16.7675 -9.75857e-08L9.5 7.417L2.2325 -7.32931e-07L-9.98106e-08 2.2834L9.5 12L19 2.2834Z' fill='%23FF6F00'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:calc(100% - 12px) center}.tensorflow-select:hover,.tensorflow-select:focus{background-color:#fff;border:1px solid #425066}.dac-form label{margin-bottom:16px;color:#303E4E;font:17px "Roboto",sans-serif;font-weight:500}.dac-field-group{margin:0;color:#425066;width:100%;font:17px "Roboto",sans-serif;text-align:left}.dac-field-group .dac-legend,.dac-field-group .dac-checkbox label{color:#303E4E;font:17px "Roboto",sans-serif;font-weight:500;margin-bottom:24px}.dac-field-group .dac-label-description{display:block;margin:16px 0 24px 30px;color:#616161;font:17px "Roboto",sans-serif;line-height:25px}@media only screen and (max-width: 767px){.dac-field-group .dac-label-description{font-size:14px}}.dac-form-container{max-width:700px;margin:auto}.dac-names-field{display:flex;gap:50px}@media only screen and (max-width: 1279px){.dac-names-field{gap:20px}}.dac-field{margin:0 0 24px;width:100%}@media only screen and (max-width: 1279px){.dac-field{margin:0 0 12px}}.dac-field input{color:#616161;padding:15px 10px;width:100%;font-family:"Roboto Mono",monospace;font-size:17px;border:1px solid #425066;border-radius:4px}.dac-field input::-webkit-input-placeholder{color:#616161}.dac-field input:-ms-input-placeholder{color:#616161}.dac-field input::-ms-input-placeholder{color:#616161}.dac-field input::placeholder{color:#616161}.dac-field input:focus{padding-bottom:15px;border-bottom:1px solid #425066}.dac-checkbox{margin-left:10px}.dac-checkbox--consent{margin-top:32px;display:flex}.dac-checkbox--consent .dac-form-checkbox{margin-top:2px}.dac-checkbox--consent .dac-label-description{margin:0px 0 24px 0px}.dac-checkbox--consent .dac-label-description a{color:#616161;display:inline-block;text-decoration:underline;text-underline-offset:4px;font-weight:500}.subscribe-button{border:1px solid #E6E6E6;display:flex;font-family:"Google Sans",sans-serif;font-size:16px;font-weight:500;line-height:24px;color:#425066}.subscribe-button:hover,.subscribe-button:focus{color:#f5f5f5}.devsite-select-list{width:100%}.tensorsite-content.tensorsite-content--newsletter{padding-bottom:0px}.tensorsite-content.tensorsite-content--newsletter .tensorsite-content__title{margin-inline:auto;text-align:center}.tensorsite-group.newsletter .tensorsite-group__inner{justify-content:center}.tensorsite-group.newsletter .tensorsite-content__image-wrapper .tensorsite-content__image{-o-object-fit:cover;object-fit:cover;height:150px}.tensorsite-group.newsletter input[type=text]:focus,.tensorsite-group.newsletter input[type=email]:focus{padding-bottom:15px;border-bottom:1px solid #425066}.tensorflow-custom-select{position:relative}.tensorflow-custom-selecttext{width:100%;max-width:100%;color:#616161;padding:15px 10px;width:100%;font-family:"Roboto Mono",monospace;font-size:17px;height:auto;font-weight:normal;border:1px solid #425066;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='19' height='12' viewBox='0 0 19 12' fill='none'%3E%3Cpath d='M19 2.2834L16.7675 -9.75857e-08L9.5 7.417L2.2325 -7.32931e-07L-9.98106e-08 2.2834L9.5 12L19 2.2834Z' fill='%23FF6F00'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:calc(100% - 12px) center;border-radius:4px}.tensorflow-custom-selecttext::-ms-expand{display:none}.tensorflow-custom-selecttext:hover,.tensorflow-custom-selecttext:focus{background-color:var(--devsite-select-background-color-hover, var(--devsite-background-3));border:var(--devsite-select-border-hover, var(--devsite-select-border, var(--devsite-secondary-border)));color:var(--devsite-select-color-hover)}.tensorflow-custom-select-options{border:1px solid #E6E6E6;border-radius:0 0 0.25em 0.25em;line-height:1.5;margin:0;margin-top:-0.5em;padding:0;list-style-type:none;font-weight:normal;cursor:pointer;z-index:2;position:absolute;width:calc(100% - 1px);background-color:#fff}.tensorflow-custom-select-options li{padding:1em}.tensorflow-select option{background-color:#fff}.tensorflow-custom-select-options li:hover,.tensorflow-custom-select-options li:focus,.tensorflow-select option:focus,.tensorflow-select option:hover{background-color:var(--devsite-select-background-color-hover, var(--devsite-background-3))}#tensorflow-custom-select-input{opacity:0;float:left;position:absolute;top:0;text-align:center}.hidden-all{display:none}.hidden-visually{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;clip-path:inset(50%);border:0}.tensorsite-newsletter-container--simplified .tensorsite-newsletter-communication{display:flex}@media only screen and (max-width: 1279px){.tensorsite-newsletter-container--simplified .tensorsite-newsletter-communication{flex-direction:column}}.tensorsite-newsletter-container--simplified .tensorsite-newsletter-communication .communication-checkboxes{width:100%}.tensorsite-newsletter-container--simplified .tensorsite-newsletter-communication .communication-checkboxes .dac-checkbox:not(:last-child){margin-bottom:16px}.tensorsite-newsletter-container--simplified .dac-checkbox--consent{margin-top:0px}.tensorsite-newsletter-container--simplified .dac-checkbox--consent .dac-label-description{margin-bottom:0px}.tensorsite-newsletter-container--simplified .newsletter-submission{display:flex}@media only screen and (max-width: 1279px){.tensorsite-newsletter-container--simplified .newsletter-submission{flex-direction:column}}@media only screen and (min-width: 1280px){.tensorsite-newsletter-container--simplified .subscribe-button{width:100%;align-items:center;height:70px;align-self:center;justify-content:center;margin-bottom:24px}}.tensorsite-library-divider{border-left:1px solid #DADCE0;height:100%}@media only screen and (max-width: 1279px){.tensorsite-library-divider{border-left:none;border-top:1px solid #DADCE0;width:100%}}.tensorsite-library__filters{display:flex;margin-bottom:20px;flex-direction:row;position:sticky;top:48px;background-color:#fff;padding:8px 10px;border-radius:0 0 10px 10px;z-index:1}@media only screen and (max-width: 1279px){.tensorsite-library__filters{flex-direction:column;margin-bottom:0}}.tensorsite-library__filters-container{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.tensorsite-library__filters-checkboxes{display:flex;align-items:center;flex-direction:row;gap:10px}@media only screen and (max-width: 1279px){.tensorsite-library__filters-checkboxes{align-items:start;margin-top:20px;flex-direction:column}}.tensorsite-library__filters-checkboxes input[type=checkbox]{margin-top:2px}.tensorsite-library__filters-checkboxes span{margin-left:20px}@media only screen and (max-width: 1279px){.tensorsite-library__filters-checkboxes span{margin-left:0px}}.tensorsite-library__filters-checkboxes label,.tensorsite-library__filters-checkboxes span{font-family:"Roboto",sans-serif;font-size:13px;font-weight:500;line-height:28px;color:#616161;letter-spacing:1.5px;text-transform:uppercase}.tensorsite-library__clear{font-family:"Google Sans",sans-serif;font-size:16px;font-weight:500;line-height:24px;color:#425066}.tensorsite-library__clear:hover,.tensorsite-library__clear:focus{color:#f5f5f5}.tensorsite-library__clear:hover,.tensorsite-library__clear:focus{background:linear-gradient(to top right, #ff6f00, #FFA800);border:1px solid #ff6f00}.tensorsite-library-3up{display:grid;grid-template-columns:repeat(3, 1fr);padding:0px;gap:18px}@media only screen and (max-width: 1000px){.tensorsite-library-3up{grid-template-columns:repeat(2, 1fr)}}@media only screen and (max-width: 767px){.tensorsite-library-3up{grid-template-columns:repeat(1, 1fr)}}.tensorsite-library-3up li{margin:0}.tensorsite-library-3up li[no-matches]{display:block;font-family:"Google Sans",sans-serif;font-size:20px;font-weight:400;line-height:28px;color:#425066;font-weight:500}.tensorsite-library-card{background:#fff;border-radius:10px;box-shadow:0 0 36px rgba(0,0,0,0.1);list-style-type:none;display:flex;flex-direction:column;justify-content:space-between}.tensorsite-library-card__body{padding:20px;display:flex;flex-direction:column;justify-content:space-between}.tensorsite-library-card__body-container{min-height:144px}@media only screen and (max-width: 767px){.tensorsite-library-card__body-container{min-height:auto;margin-bottom:20px}}.tensorsite-library-card__title-container{display:flex;justify-content:space-between;margin-bottom:16px}.tensorsite-library-card__title{font-size:24px;font-weight:500;line-height:30px;letter-spacing:0px}.tensorsite-library-card__icon span::after{display:block;content:'';width:30px;height:30px;background-size:30px}.tensorsite-library__github{padding:14px 20px;justify-content:space-between;display:flex;gap:2px;background:#ebebeb;border-radius:0 0 10px 10px;align-items:center}.tensorsite-library__github-cta{font-family:"Google Sans",sans-serif;font-size:16px;font-weight:500;line-height:24px;color:#425066}.tensorsite-library__github-cta:hover,.tensorsite-library__github-cta:focus{color:#f5f5f5}.tensorsite-library__github-cta:hover,.tensorsite-library__github-cta:focus{color:#425066;text-decoration:underline}.tensorsite-library__github-data{display:flex;gap:5px}.tensorsite-library__github-data-group{display:flex;fill:#425066;transition:color,fill .2s linear}.tensorsite-library__github-data-group:hover,.tensorsite-library__github-data-group:focus{fill:#ff6f00}.tensorsite-library__github-data-group:hover .tensorsite-library__github-data-text,.tensorsite-library__github-data-group:focus .tensorsite-library__github-data-text{color:#ff6f00}.tensorsite-library__github-icon{width:20px;height:20px;padding:2px}.tensorsite-library__github-data-text{font-family:"Google Sans",sans-serif;font-size:18px;font-weight:500;line-height:28px;color:#616161;color:#425066;margin:0}@media only screen and (max-width: 1279px){.tensorsite-library__github-data-text{font-weight:400}}@media only screen and (max-width: 767px){.tensorsite-library__github-data-text{font-size:16px}}.tensorsite-content__code-block .colab-callout-footer{background:#e3e4e7;border-radius:0 0 8px 8px;color:#37474f;padding:20px}.tensorsite-content__code-block .colab-callout-row devsite-code[dark-code]+.colab-callout-footer{background:#3f4f66}.tensorsite-content__code-block .colab-callout-row devsite-code[dark-code]+.colab-callout-footer>a>span{color:#fff}.tensorsite-content__code-block .colab-callout-footer>a:focus{box-shadow:0 0 0 2px #fff}.tensorsite-content__code-block .colab-callout-footer .button{background:#425066;border:0;color:#fff;position:relative;z-index:1}.tensorsite-content__code-block .colab-callout-footer .button span{vertical-align:middle}.tensorsite-content__code-block .colab-callout-footer .button::before{background:#ff6f00;bottom:0;content:'';left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .2s;z-index:-1}.tensorsite-content__code-block .colab-callout-footer .button:focus{outline:1px dotted #fff;outline:5px auto #fff}.tensorsite-content__code-block .colab-callout-footer .button:hover::before{opacity:1}.tensorsite-content__code-block devsite-code,.tensorsite-content__code-block devsite-code pre{margin:0;height:100%;border-radius:8px 8px 0 0;box-shadow:none}@media only screen and (max-width: 767px){.tensorsite-content__code-block devsite-code,.tensorsite-content__code-block devsite-code pre{height:auto}}body[layout=full] devsite-code{overflow:hidden}.tensorsite-tile{background:#fff;border-radius:10px;border:1px solid #DADCE0;padding:30px;height:100%}.tensorsite-tile:hover,.tensorsite-tile:focus{box-shadow:0px 4px 14px rgba(0,0,0,0.25)}.tensorsite-tile__wrapper{display:flex;flex-direction:row-reverse;text-align:left;gap:10px}@media only screen and (max-width: 1279px){.tensorsite-tile__wrapper{flex-direction:column}}@media only screen and (max-width: 767px){.tensorsite-tile__wrapper{flex-direction:column}}.tensorsite-tile__wrapper .tensorsite-tile__image-wrapper{min-width:20%;text-align:center}.tensorsite-tile__wrapper .tensorsite-tile__title{font-family:"Google Sans",sans-serif;font-size:20px;font-weight:500;line-height:28px;color:#425066;transition:color .2s linear;margin-bottom:12px}.tensorsite-tile__wrapper .tensorsite-tile__title:hover,.tensorsite-tile__wrapper .tensorsite-tile__title:focus{color:#ff6f00}.tensorsite-tile__wrapper .tensorsite-tile__description{font-size:16px;font-weight:400;line-height:24px;color:#616161;margin-top:0px;max-height:100px}.tensorsite-grid-group__wrapper{display:grid}.tensorsite-grid-group__wrapper--2up{grid-template-columns:repeat(2, 1fr);gap:16px}.tensorsite-grid-group__wrapper--3up{grid-template-columns:repeat(3, 1fr);gap:16px}@media only screen and (max-width: 767px){.tensorsite-grid-group__wrapper--3up{grid-template-columns:repeat(1, 1fr)}}.tensorsite-home-dynamic-blog .devsite-card-group{display:grid;grid-template-columns:repeat(2, 1fr);margin:0 15px 40px 15px}@media only screen and (max-width: 767px){.tensorsite-home-dynamic-blog .devsite-card-group{grid-template-columns:repeat(1, 1fr)}}.tensorsite-home-dynamic-blog .devsite-card{border:none;box-shadow:0 0 36px rgba(0,0,0,0.1);transition:box-shadow .2s linear,opacity .2s linear}.tensorsite-home-dynamic-blog .devsite-card:hover{box-shadow:0 0 64px rgba(0,0,0,0.22)}.tensorsite-home-dynamic-blog .devsite-card-image-container{padding:0 0 240px}.tensorsite-home-dynamic-blog .devsite-card-image{margin:20px;width:calc(100% - 40px);height:calc(100% - 40px);max-height:200px;border-radius:8px;border:1px solid #E6E6E6}.tensorsite-home-dynamic-blog .devsite-card-content{display:flex;flex-direction:column;margin:0 20px 20px 20px;padding:0}.tensorsite-home-dynamic-blog .devsite-card-content>a{order:1}.tensorsite-home-dynamic-blog .devsite-card-buttons{display:none}.tensorsite-home-dynamic-blog .devsite-pagination-less-button,.tensorsite-home-dynamic-blog .devsite-pagination-more-button{background-color:#fff;color:#425066;transition:box-shadow .2s linear,background .2s linear,color .2s linear}.tensorsite-home-dynamic-blog .devsite-pagination-less-button .material-icons,.tensorsite-home-dynamic-blog .devsite-pagination-more-button .material-icons{color:#ff6f00}.tensorsite-home-dynamic-blog .devsite-pagination-less-button:hover,.tensorsite-home-dynamic-blog .devsite-pagination-less-button:focus,.tensorsite-home-dynamic-blog .devsite-pagination-more-button:hover,.tensorsite-home-dynamic-blog .devsite-pagination-more-button:focus{background:linear-gradient(to top right, #ff6f00, #FFA800);border:1px solid #ff6f00;color:#fff}.tensorsite-home-dynamic-blog .devsite-pagination-less-button:hover .material-icons,.tensorsite-home-dynamic-blog .devsite-pagination-less-button:focus .material-icons,.tensorsite-home-dynamic-blog .devsite-pagination-more-button:hover .material-icons,.tensorsite-home-dynamic-blog .devsite-pagination-more-button:focus .material-icons{color:#fff}.tensorsite-home-dynamic-blog .devsite-pagination-less-button:hover ::before,.tensorsite-home-dynamic-blog .devsite-pagination-less-button:focus ::before,.tensorsite-home-dynamic-blog .devsite-pagination-more-button:hover ::before,.tensorsite-home-dynamic-blog .devsite-pagination-more-button:focus ::before{opacity:1}.tensorsite-home-dynamic-blog .devsite-pagination-less-button:hover ::after,.tensorsite-home-dynamic-blog .devsite-pagination-less-button:focus ::after,.tensorsite-home-dynamic-blog .devsite-pagination-more-button:hover ::after,.tensorsite-home-dynamic-blog .devsite-pagination-more-button:focus ::after{opacity:0}.tensorsite-home-dynamic-blog .devsite-card-date{font-size:16px;font-family:"Roboto",sans-serif;font-weight:400;color:#818181;margin-bottom:12px}.tensorsite-home-dynamic-blog .devsite-card h3{font-size:24px;font-weight:500;line-height:30px;letter-spacing:0px;margin:0;color:#425066;transition:color .2s linear}.tensorsite-home-dynamic-blog .devsite-card h3:hover{color:#ff6f00} </style> <div class="devsite-article-meta nocontent" role="navigation"> <ul class="devsite-breadcrumb-list" aria-label="Breadcrumb"> <li class="devsite-breadcrumb-item "> <a href="https://www.tensorflow.org/" 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="TensorFlow" > TensorFlow </a> </li> <li class="devsite-breadcrumb-item "> <div class="devsite-breadcrumb-guillemet material-icons" aria-hidden="true"></div> <a href="https://www.tensorflow.org/resources/models-datasets" 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="" > Ecosystem </a> </li> <li class="devsite-breadcrumb-item "> <div class="devsite-breadcrumb-guillemet material-icons" aria-hidden="true"></div> <a href="https://www.tensorflow.org/resources/learn-ml" 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="" > Learn ML </a> </li> </ul> </div> <devsite-feature-tooltip ack-key="AckCollectionsBookmarkTooltipDismiss" analytics-category="Site-Wide Custom Events" analytics-action-show="Callout Profile displayed" analytics-action-close="Callout Profile dismissed" analytics-label="Create Collection Callout" class="devsite-page-bookmark-tooltip nocontent" dismiss-button="true" id="devsite-collections-dropdown" dismiss-button-text="Dismiss" close-button-text="Got it"> <devsite-bookmark></devsite-bookmark> <span slot="popout-heading"> Stay organized with collections </span> <span slot="popout-contents"> Save and categorize content based on your preferences. </span> </devsite-feature-tooltip> <devsite-toc class="devsite-nav" depth="2" devsite-toc-embedded disabled> </devsite-toc> <div class="devsite-article-body clearfix devsite-no-page-title"> <div class="wrapper"> <section class="tensorsite-hero tensorsite-hero--shape tensorsite-hero--narrow"> <div class="tensorsite-hero__side tensorsite-hero__side--left"> </div> <div class="tensorsite-hero__side tensorsite-hero__side--right"> </div> <div class="tensorsite-hero__side tensorsite-hero__side--left-lower"> </div> <div class="tensorsite-hero__content"> <div class="tensorsite-content"> <h1 class="tensorsite-content__title" id="master-your-path" data-text=" Master your path " tabindex="-1"> Master your path </h1> <div class="tensorsite-content__description"> <inline-html> <p>To become an expert in machine learning, you first need a strong foundation in <a content-type="nav" href="https://www.tensorflow.org/resources/learn-ml#four-areas" item="four learning areas">four learning areas</a>: coding, math, ML theory, and how to build your own ML project from start to finish.</p> <p>Begin with TensorFlow's <a content-type="nav" href="https://www.tensorflow.org/resources/learn-ml#curriculums" item-id="curated curriculums">curated curriculums</a> to improve these four skills, or choose your own learning path by exploring our <a content-type="nav" href="/resources/learn-ml/tensorflow.org/resources/learn-ml#educational-resources" item-id="resource library">resource library</a> below.</p> </inline-html> </div> </div> </div> <div class="tensorsite-hero__image"> <img alt src="/static/site-assets/images/marketing/resources/edu-hero.svg"> </div> </section> <section class="tensorsite-side-side" id="four-areas"> <div class="tensorsite-side-side__background"> </div> <div class="tensorsite-container"> <div class="tensorsite-side-side-wrapper"> <div class="tensorsite-side-side__main-section"> <div class="tensorsite-content"> <h3 class="tensorsite-content__title" id="the-four-areas-of-machine-learning-education" data-text=" The four areas of machine learning education " tabindex="-1"> The four areas of machine learning education </h3> <div class="tensorsite-content__description"> <inline-html> <p>When beginning your educational path, it's important to first understand how to learn ML. We've broken the learning process into four areas of knowledge, with each area providing a foundational piece of the ML puzzle. To help you on your path, we've identified books, videos, and online courses that will uplevel your abilities, and prepare you to use ML for your projects. Start with our guided curriculums designed to increase your knowledge, or choose your own path by exploring our resource library.</p> </inline-html> </div> </div> </div> <div class="tensorsite-side-side__secondary-section"> <div class="tensorsite-list"> <ul class="tensorsite-list__items tensorsite-list__items--custom-large"> <li class="tensorsite-list__item tensorsite-list__item--custom-large tensorsite-list__item--puzzle-code tensorsite-icon--puzzle-code"> <inline-html><p><strong>Coding skills:</strong> Building ML models involves much more than just knowing ML concepts—it requires coding in order to do the data management, parameter tuning, and parsing results needed to test and optimize your model.</p></inline-html> </li> <li class="tensorsite-list__item tensorsite-list__item--custom-large tensorsite-list__item--puzzle-math tensorsite-icon--puzzle-math"> <inline-html><p><strong>Math and stats:</strong> ML is a math heavy discipline, so if you plan to modify ML models or build new ones from scratch, familiarity with the underlying math concepts is crucial to the process.</p></inline-html> </li> <li class="tensorsite-list__item tensorsite-list__item--custom-large tensorsite-list__item--puzzle-theory tensorsite-icon--puzzle-theory"> <inline-html><p><strong>ML theory:</strong> Knowing the basics of ML theory will give you a foundation to build on, and help you troubleshoot when something goes wrong.</p></inline-html> </li> <li class="tensorsite-list__item tensorsite-list__item--custom-large tensorsite-list__item--puzzle-build tensorsite-icon--puzzle-build"> <inline-html><p><strong>Build your own projects:</strong> Getting hands on experience with ML is the best way to put your knowledge to the test, so don't be afraid to dive in early with a simple <a [[content-type-1]]="" [[item-id-1]]="" href="https://colab.sandbox.google.com/github/tensorflow/docs/blob/master/site/en/tutorials/keras/classification.ipynb" rel="noopener noreferrer" target="_blank">colab</a> or <a [[content-type-2]]="" [[item-id-2]]="" href="/tutorials/keras/classification">tutorial</a> to get some practice.</p></inline-html> </li> </ul> </div> </div> </div> </div> <div class="tensorsite-group__divider"> </div> </section> <section #="" analytics="" anchors="" class="tensorsite-group tensorsite-group--3up" data-section-id="curriculums" for="" id="curriculums"> <div class="tensorsite-side-side__background"> </div> <div class="tensorsite-container"> <div class="tensorsite-group__header"> <div class="tensorsite-content"> <h2 class="tensorsite-content__title" id="tensorflow-curriculums" data-text=" TensorFlow curriculums " tabindex="-1"> TensorFlow curriculums </h2> <div class="tensorsite-content__description"> <inline-html> <p>Start learning with one of our guided curriculums containing recommended courses, books, and videos.</p> </inline-html> </div> </div> </div> <div class="tensorsite-group__inner"> <div class="tensorsite-card tensorsite-card--clip"> <div class="tensorsite-content__image-wrapper"> <img alt class="tensorsite-content__image" src="/static/site-assets/images/marketing/edu/card_curriculum_basics.jpg"> </img> </div> <div class="tensorsite-content tensorsite-content--under-image"> <div class="tensorsite-content__clip-bg"> <svg class="tensorsite-content__clip-shape" viewbox="0 0 409 132" xmlns="http://www.w3.org/2000/svg"> <path d="M71.2,3.2,0,44v88H409L92.3,1.8A24.1,24.1,0,0,0,71.2,3.2Z" fill="#fff"> </path> </svg> </div> <div class="tensorsite-content__subtitle tensorsite-content__subtitle--thin"> For beginners </div> <a class="tensorsite-content__title" href="/resources/learn-ml/basics-of-machine-learning" item-id="Basics of machine learning with TensorFlow"> Basics of machine learning with TensorFlow </a> <div class="tensorsite-content__description"> <inline-html> <p>Learn the basics of ML with this collection of books and online courses. You will be introduced to ML and guided through deep learning using TensorFlow 2.0. Then you will have the opportunity to practice what you learn with beginner tutorials.</p> </inline-html> </div> </div> </div> <div class="tensorsite-card tensorsite-card--clip"> <div class="tensorsite-content__image-wrapper"> <img alt class="tensorsite-content__image" src="/static/site-assets/images/marketing/edu/card_curriculum_theoretical.jpg"> </div> <div class="tensorsite-content tensorsite-content--under-image"> <div class="tensorsite-content__clip-bg"> <svg class="tensorsite-content__clip-shape" viewbox="0 0 409 132" xmlns="http://www.w3.org/2000/svg"> <path d="M71.2,3.2,0,44v88H409L92.3,1.8A24.1,24.1,0,0,0,71.2,3.2Z" fill="#fff"> </path> </svg> </div> <div class="tensorsite-content__subtitle tensorsite-content__subtitle--thin"> For intermediate level &amp; experts </div> <a class="tensorsite-content__title" href="/resources/learn-ml/theoretical-and-advanced-machine-learning" item-id="Theoretical and advanced machine learning with TensorFlow"> Theoretical and advanced machine learning with TensorFlow </a> <div class="tensorsite-content__description"> <inline-html> <p>Once you understand the basics of machine learning, take your abilities to the next level by diving into theoretical understanding of neural networks, deep learning, and improving your knowledge of the underlying math concepts.</p> </inline-html> </div> </div> </div> <div class="tensorsite-card tensorsite-card--clip"> <div class="tensorsite-content__image-wrapper"> <img alt class="tensorsite-content__image" src="/static/site-assets/images/marketing/edu/card_curriculum_js.jpg"> </div> <div class="tensorsite-content tensorsite-content--under-image"> <div class="tensorsite-content__clip-bg"> <svg class="tensorsite-content__clip-shape" viewbox="0 0 409 132" xmlns="http://www.w3.org/2000/svg"> <path d="M71.2,3.2,0,44v88H409L92.3,1.8A24.1,24.1,0,0,0,71.2,3.2Z" fill="#fff"> </path> </svg> </div> <div class="tensorsite-content__subtitle tensorsite-content__subtitle--thin"> For beginners </div> <a class="tensorsite-content__title" href="/resources/learn-ml/basics-of-tensorflow-for-js-development" item-id="TensorFlow for JavaScript development"> TensorFlow for JavaScript development </a> <div class="tensorsite-content__description"> <inline-html> <p>Learn the basics of developing machine learning models in JavaScript, and how to deploy directly in the browser. You will get a high-level introduction on deep learning and on how to get started with TensorFlow.js through hands-on exercises.</p> </inline-html> </div> </div> </div> </div> </div> </section> <section #="" analytics="" anchors="" class="tensorsite-group tensorsite-group--gray" for="" id="educational-resources"> <div class="tensorsite-side-side__background"> </div> <div class="tensorsite-container"> <div class="tensorsite-group__header"> <div class="tensorsite-content"> <h2 class="tensorsite-content__title" id="educational-resources" data-text=" Educational resources " tabindex="-1"> Educational resources </h2> <div class="tensorsite-content__description"> <inline-html> <p>Choose your own learning path, and explore books, courses, videos, and exercises recommended by the TensorFlow team to teach you the foundations of ML.</p> </inline-html> </div> <div class="tensorsite-content__toc tensorsite-content__toc--main"> <a class="tensorsite-content__cta tensorsite-content__cta-image" content-type="nav" href="#books" item-id="Books"> <div class="cta-image"> <img alt src="/static/site-assets/images/marketing/icon/learn-ml/books.png"> </div> Books <span> </span> </a> <a class="tensorsite-content__cta tensorsite-content__cta-image" content-type="nav" href="#courses" item-id="Online courses"> <div class="cta-image"> <img alt src="/static/site-assets/images/marketing/icon/learn-ml/online-courses.png"> </div> Online courses <span> </span> </a> <a class="tensorsite-content__cta tensorsite-content__cta-image" content-type="nav" href="#math-concepts" item-id="Math concepts"> <div class="cta-image"> <img alt src="/static/site-assets/images/marketing/icon/learn-ml/math-concepts.png"> </div> Math concepts <span> </span> </a> <a class="tensorsite-content__cta tensorsite-content__cta-image" content-type="nav" href="#other-resources" item-id="TF resources"> <div class="cta-image"> <img alt src="/static/site-assets/images/marketing/icon/learn-ml/tf-resources.png"> </div> TF resources <span> </span> </a> <a class="tensorsite-content__cta tensorsite-content__cta-image" content-type="nav" href="#human-centered-ai" item-id="Human-centered AI"> <div class="cta-image"> <img alt src="/static/site-assets/images/marketing/icon/learn-ml/human-ai.png"> </div> Human-centered AI <span> </span> </a> </div> </div> </div> </div> <div class="tensorsite-group__divider"> </div> </section> <section #="" analytics="" anchors="" class="tensorsite-group tensorsite-group--gray tensorsite-group--row-3up" data-section-id="books" for="" id="books"> <div class="tensorsite-side-side__background"> </div> <div class="tensorsite-container"> <div class="tensorsite-group__header"> <div class="tensorsite-content"> <h2 class="tensorsite-content__title" id="books" data-text=" Books " tabindex="-1"> Books </h2> <div class="tensorsite-content__description"> <inline-html> <p>Reading is one of the best ways to understand the foundations of ML and deep learning. Books can give you the theoretical understanding necessary to help you learn new concepts more quickly in the future.</p> </inline-html> </div> <div class="tensorsite-content__toc"> <a class="tensorsite-content__cta tensorsite-content__cta-icon tensorsite-icon--arrow-upward" content-type="nav" href="#educational-resources" item-id="Back to Resource Library"> Back to Resource Library <span> </span> </a> </div> </div> </div> <div class="tensorsite-group__inner"> <div class="tensorsite-card"> <div class="tensorsite-content__image-wrapper"> <img alt class="tensorsite-content__image" src="/static/site-assets/images/marketing/edu/edu_books_aimlforcoders.jpg"> </div> <div class="tensorsite-content tensorsite-content--under-image"> <a class="tensorsite-content__title" href="https://www.oreilly.com/library/view/ai-and-machine/9781492078180/" item-id="AI and Machine Learning for Coders" rel="noopener noreferrer" target="_blank"> AI and Machine Learning for Coders </a> <div class="tensorsite-content__subtitle tensorsite-content__subtitle--thin tensorsite-content__subtitle--under-title"> by Laurence Moroney </div> <div class="tensorsite-content__description"> <inline-html> <p>This introductory book provides a code-first approach to learn how to implement the most common ML scenarios, such as computer vision, natural language processing (NLP), and sequence modeling for web, mobile, cloud, and embedded runtimes.</p> </inline-html> </div> <div class="tensorsite-content__cta-wrapper"> <a class="tensorsite-content__cta tensorsite-content__cta-icon tensorsite-icon--external" href="https://www.oreilly.com/library/view/ai-and-machine/9781492078180/" item-id="AI and Machine Learning for Coders" rel="noopener noreferrer" tabindex="-1" target="_blank"> View book <span> </span> </a> </div> <div class="tensorsite-content__categories"> <div class="tensorsite-content__category tensorsite-icon--code"> <span class="tensorsite-content__category-text"> Code </span> </div> <div class="tensorsite-content__category tensorsite-icon--theory"> <span class="tensorsite-content__category-text"> Theory </span> </div> <div class="tensorsite-content__category tensorsite-icon--build"> <span class="tensorsite-content__category-text"> Build </span> </div> </div> </div> </div> <div class="tensorsite-card"> <div class="tensorsite-content__image-wrapper"> <img alt class="tensorsite-content__image" src="/static/site-assets/images/marketing/edu/edu_books.jpg"> </div> <div class="tensorsite-content tensorsite-content--under-image"> <a class="tensorsite-content__title" href="https://www.manning.com/books/deep-learning-with-python-second-edition" item-id="Deep Learning with Python" rel="noopener noreferrer" target="_blank"> Deep Learning with Python </a> <div class="tensorsite-content__subtitle tensorsite-content__subtitle--thin tensorsite-content__subtitle--under-title"> by Francois Chollet </div> <div class="tensorsite-content__description"> <inline-html> <p>This book is a practical, hands-on introduction to Deep Learning with Keras.</p> </inline-html> </div> <div class="tensorsite-content__cta-wrapper"> <a class="tensorsite-content__cta tensorsite-content__cta-icon tensorsite-icon--external" href="https://www.manning.com/books/deep-learning-with-python-second-edition" item-id="Deep Learning with Python" rel="noopener noreferrer" tabindex="-1" target="_blank"> View book <span> </span> </a> </div> <div class="tensorsite-content__categories"> <div class="tensorsite-content__category tensorsite-icon--code"> <span class="tensorsite-content__category-text"> Code </span> </div> <div class="tensorsite-content__category tensorsite-icon--theory"> <span class="tensorsite-content__category-text"> Theory </span> </div> <div class="tensorsite-content__category tensorsite-icon--build"> <span class="tensorsite-content__category-text"> Build </span> </div> </div> </div> </div> <div class="tensorsite-card"> <div class="tensorsite-content__image-wrapper"> <img alt class="tensorsite-content__image" src="/static/site-assets/images/marketing/edu/edu_books_aurelien_geron.jpg"> </div> <div class="tensorsite-content tensorsite-content--under-image"> <a class="tensorsite-content__title" href="https://www.oreilly.com/library/view/hands-on-machine-learning/9781492032632/" item-id="Hands-on Machine Learning with Scikit-Learn, Keras, and TensorFlow" rel="noopener noreferrer" target="_blank"> Hands-on Machine Learning with Scikit-Learn, Keras, and TensorFlow </a> <div class="tensorsite-content__subtitle tensorsite-content__subtitle--thin tensorsite-content__subtitle--under-title"> by Aurélien Géron </div> <div class="tensorsite-content__description"> <inline-html> <p>Using concrete examples, minimal theory, and two production-ready Python frameworks—Scikit-Learn and TensorFlow—this book helps you gain an intuitive understanding of the concepts and tools for building intelligent systems.</p> </inline-html> </div> <div class="tensorsite-content__cta-wrapper"> <a class="tensorsite-content__cta tensorsite-content__cta-icon tensorsite-icon--external" href="https://www.oreilly.com/library/view/hands-on-machine-learning/9781492032632/" item-id="Hands-on Machine Learning with Scikit-Learn, Keras, and TensorFlow" rel="noopener noreferrer" tabindex="-1" target="_blank"> View book <span> </span> </a> </div> <div class="tensorsite-content__categories"> <div class="tensorsite-content__category tensorsite-icon--code"> <span class="tensorsite-content__category-text"> Code </span> </div> <div class="tensorsite-content__category tensorsite-icon--theory"> <span class="tensorsite-content__category-text"> Theory </span> </div> <div class="tensorsite-content__category tensorsite-icon--build"> <span class="tensorsite-content__category-text"> Build </span> </div> </div> </div> </div> <div class="tensorsite-card"> <div class="tensorsite-content__image-wrapper"> <img alt class="tensorsite-content__image" src="/static/site-assets/images/marketing/edu/edu_books_ian_goodfellow.jpg"> </div> <div class="tensorsite-content tensorsite-content--under-image"> <a class="tensorsite-content__title" href="https://www.deeplearningbook.org/" item-id="Deep Learning" rel="noopener noreferrer" target="_blank"> Deep Learning </a> <div class="tensorsite-content__subtitle tensorsite-content__subtitle--thin tensorsite-content__subtitle--under-title"> by Ian Goodfellow, Yoshua Bengio, and Aaron Courville </div> <div class="tensorsite-content__description"> <inline-html> <p>This Deep Learning textbook is a resource intended to help students and practitioners enter the field of machine learning in general, and deep learning in particular.</p> </inline-html> </div> <div class="tensorsite-content__cta-wrapper tensorsite-content__cta-wrapper--shorter"> <span class="tensorsite-price-tag"> <div class="tensorsite-price-tag__inner"> Free </div> </span> <a class="tensorsite-content__cta tensorsite-content__cta-icon tensorsite-icon--external" href="https://www.deeplearningbook.org/" item-id="Deep Learning" rel="noopener noreferrer" tabindex="-1" target="_blank"> View book <span> </span> </a> </div> <div class="tensorsite-content__categories"> <div class="tensorsite-content__category tensorsite-icon--math"> <span class="tensorsite-content__category-text"> Math </span> </div> <div class="tensorsite-content__category tensorsite-icon--theory"> <span class="tensorsite-content__category-text"> Theory </span> </div> <div class="tensorsite-content__category tensorsite-icon--build"> <span class="tensorsite-content__category-text"> Build </span> </div> </div> </div> </div> <div class="tensorsite-card"> <div class="tensorsite-content__image-wrapper"> <img alt class="tensorsite-content__image" src="/static/site-assets/images/marketing/edu/edu_book_neural_nets_and_dl_by_michael_nielsen.jpg"> </div> <div class="tensorsite-content tensorsite-content--under-image"> <a class="tensorsite-content__title" href="http://neuralnetworksanddeeplearning.com/" item-id="Neural Networks and Deep Learning" rel="noopener noreferrer" target="_blank"> Neural Networks and Deep Learning </a> <div class="tensorsite-content__subtitle tensorsite-content__subtitle--thin tensorsite-content__subtitle--under-title"> by Michael Nielsen </div> <div class="tensorsite-content__description"> <inline-html> <p>This book provides a theoretical background on neural networks. It does not use TensorFlow, but is a great reference for students interested in learning more.</p> </inline-html> </div> <div class="tensorsite-content__cta-wrapper tensorsite-content__cta-wrapper--shorter"> <span class="tensorsite-price-tag"> <div class="tensorsite-price-tag__inner"> Free </div> </span> <a class="tensorsite-content__cta tensorsite-content__cta-icon tensorsite-icon--external" href="http://neuralnetworksanddeeplearning.com/" item-id="Neural Networks and Deep Learning" rel="noopener noreferrer" tabindex="-1" target="_blank"> View book <span> </span> </a> </div> <div class="tensorsite-content__categories"> <div class="tensorsite-content__category tensorsite-icon--code"> <span class="tensorsite-content__category-text"> Code </span> </div> <div class="tensorsite-content__category tensorsite-icon--math"> <span class="tensorsite-content__category-text"> Math </span> </div> <div class="tensorsite-content__category tensorsite-icon--theory"> <span class="tensorsite-content__category-text"> Theory </span> </div> <div class="tensorsite-content__category tensorsite-icon--build"> <span class="tensorsite-content__category-text"> Build </span> </div> </div> </div> </div> <div class="tensorsite-card"> <div class="tensorsite-content__image-wrapper"> <img alt class="tensorsite-content__image" src="/static/site-assets/images/marketing/edu/edu_learning-tensorflowjs-gant-laborde.jpg"> </div> <div class="tensorsite-content tensorsite-content--under-image"> <a class="tensorsite-content__title" href="https://www.oreilly.com/library/view/learning-tensorflowjs/9781492090786/" item-id="Learning TensorFlow.js" rel="noopener noreferrer" target="_blank"> Learning TensorFlow.js </a> <div class="tensorsite-content__subtitle tensorsite-content__subtitle--thin tensorsite-content__subtitle--under-title"> by Gant Laborde </div> <div class="tensorsite-content__description"> <inline-html> <p>A hands-on end-to-end approach to TensorFlow.js fundamentals for a broad technical audience. Once you finish this book, you'll know how to build and deploy production-ready deep learning systems with TensorFlow.js.</p> </inline-html> </div> <div class="tensorsite-content__cta-wrapper"> <a class="tensorsite-content__cta tensorsite-content__cta-icon tensorsite-icon--external" href="https://www.oreilly.com/library/view/learning-tensorflowjs/9781492090786/" item-id="Learning TensorFlow.js" rel="noopener noreferrer" tabindex="-1" target="_blank"> View book <span> </span> </a> </div> <div class="tensorsite-content__categories"> <div class="tensorsite-content__category tensorsite-icon--code"> <span class="tensorsite-content__category-text"> Code </span> </div> <div class="tensorsite-content__category tensorsite-icon--theory"> <span class="tensorsite-content__category-text"> Theory </span> </div> <div class="tensorsite-content__category tensorsite-icon--build"> <span class="tensorsite-content__category-text"> Build </span> </div> </div> </div> </div> <div class="tensorsite-card"> <div class="tensorsite-content__image-wrapper"> <img alt class="tensorsite-content__image" src="/static/site-assets/images/marketing/edu/edu_books_deep_learning_with_js.jpg"> </div> <div class="tensorsite-content tensorsite-content--under-image"> <a class="tensorsite-content__title" href="https://www.manning.com/books/deep-learning-with-javascript" item-id="Deep Learning with JavaScript" rel="noopener noreferrer" target="_blank"> Deep Learning with JavaScript </a> <div class="tensorsite-content__subtitle tensorsite-content__subtitle--thin tensorsite-content__subtitle--under-title"> by Shanqing Cai, Stanley Bileschi, Eric D. Nielsen with Francois Chollet </div> <div class="tensorsite-content__description"> <inline-html> <p>Written by the main authors of the TensorFlow library, this book provides fascinating use cases and in-depth instruction for deep learning apps in JavaScript in your browser or on Node.</p> </inline-html> </div> <div class="tensorsite-content__cta-wrapper"> <a class="tensorsite-content__cta tensorsite-content__cta-icon tensorsite-icon--external" href="https://www.manning.com/books/deep-learning-with-javascript" item-id="Deep Learning with JavaScript" rel="noopener noreferrer" tabindex="-1" target="_blank"> View book <span> </span> </a> </div> <div class="tensorsite-content__categories"> <div class="tensorsite-content__category tensorsite-icon--code"> <span class="tensorsite-content__category-text"> Code </span> </div> <div class="tensorsite-content__category tensorsite-icon--theory"> <span class="tensorsite-content__category-text"> Theory </span> </div> <div class="tensorsite-content__category tensorsite-icon--build"> <span class="tensorsite-content__category-text"> Build </span> </div> </div> </div> </div> </div> </div> <div class="tensorsite-group__divider"> </div> </section> <section #="" analytics="" anchors="" class="tensorsite-group tensorsite-group--gray tensorsite-group--row-3up" data-section-id="courses" for="" id="courses"> <div class="tensorsite-side-side__background"> </div> <div class="tensorsite-container"> <div class="tensorsite-group__header"> <div class="tensorsite-content"> <h2 class="tensorsite-content__title" id="online-courses" data-text=" Online courses " tabindex="-1"> Online courses </h2> <div class="tensorsite-content__description"> <inline-html> <p>Taking a multi-part online course is a good way to learn the basic concepts of ML. Many courses provide great visual explainers, and the tools needed to start applying machine learning directly at work, or with your personal projects.</p> </inline-html> </div> <div class="tensorsite-content__toc"> <a class="tensorsite-content__cta tensorsite-content__cta-icon tensorsite-icon--arrow-upward" content-type="nav" href="#educational-resources" item-id="Back to Resource Library"> Back to Resource Library <span> </span> </a> </div> </div> </div> <div class="tensorsite-group__inner"> <div class="tensorsite-card"> <div class="tensorsite-content__image-wrapper"> <img alt class="tensorsite-content__image" src="/static/site-assets/images/marketing/edu/edu_course_intro_to_tf_for_ai_ml_and_dl_coursera.jpg"> </div> <div class="tensorsite-content tensorsite-content--under-image"> <p class="tensorsite-content__subtitle tensorsite-content__tag"> DeepLearning.AI </p> <a class="tensorsite-content__title" href="https://www.coursera.org/learn/introduction-tensorflow" item-id="Intro to TensorFlow for AI, ML, and Deep Learning" rel="noopener noreferrer" target="_blank"> Intro to TensorFlow for AI, ML, and Deep Learning </a> <div class="tensorsite-content__description"> <inline-html> <p>Developed in collaboration with the TensorFlow team, this course is part of the TensorFlow Developer Specialization and will teach you best practices for using TensorFlow.</p> </inline-html> </div> <div class="tensorsite-content__cta-wrapper"> <a class="tensorsite-content__cta tensorsite-content__cta-icon tensorsite-icon--external" href="https://www.coursera.org/learn/introduction-tensorflow" item-id="Intro to TensorFlow for AI, ML, and Deep Learning" rel="noopener noreferrer" tabindex="-1" target="_blank"> View course <span> </span> </a> </div> <div class="tensorsite-content__categories"> <div class="tensorsite-content__category tensorsite-icon--code"> <span class="tensorsite-content__category-text"> Code </span> </div> <div class="tensorsite-content__category tensorsite-icon--build"> <span class="tensorsite-content__category-text"> Build </span> </div> </div> </div> </div> <div class="tensorsite-card"> <div class="tensorsite-content__image-wrapper"> <img alt class="tensorsite-content__image" src="/static/site-assets/images/marketing/edu/edu_course_intro_to_tf_udacity.jpg"> </div> <div class="tensorsite-content tensorsite-content--under-image"> <a class="tensorsite-content__title" href="https://www.udacity.com/course/intro-to-tensorflow-for-deep-learning--ud187" item-id="Intro to TensorFlow for Deep Learning" rel="noopener noreferrer" target="_blank"> Intro to TensorFlow for Deep Learning </a> <div class="tensorsite-content__description"> <inline-html> <p>In this online course developed by the TensorFlow team and Udacity, you'll learn how to build deep learning applications with TensorFlow.</p> </inline-html> </div> <div class="tensorsite-content__cta-wrapper tensorsite-content__cta-wrapper--shorter"> <span class="tensorsite-price-tag"> <div class="tensorsite-price-tag__inner"> Free </div> </span> <a class="tensorsite-content__cta tensorsite-content__cta-icon tensorsite-icon--external" href="https://www.udacity.com/course/intro-to-tensorflow-for-deep-learning--ud187" item-id="Intro to TensorFlow for Deep Learning" rel="noopener noreferrer" tabindex="-1" target="_blank"> View course <span> </span> </a> </div> <div class="tensorsite-content__categories"> <div class="tensorsite-content__category tensorsite-icon--code"> <span class="tensorsite-content__category-text"> Code </span> </div> <div class="tensorsite-content__category tensorsite-icon--math"> <span class="tensorsite-content__category-text"> Math </span> </div> <div class="tensorsite-content__category tensorsite-icon--theory"> <span class="tensorsite-content__category-text"> Theory </span> </div> <div class="tensorsite-content__category tensorsite-icon--build"> <span class="tensorsite-content__category-text"> Build </span> </div> </div> </div> </div> <div class="tensorsite-card"> <div class="tensorsite-content__image-wrapper"> <img alt class="tensorsite-content__image" src="/static/site-assets/images/marketing/edu/edu_course_specialization_coursera.jpg"> </div> <div class="tensorsite-content tensorsite-content--under-image"> <p class="tensorsite-content__subtitle tensorsite-content__tag"> DeepLearning.AI </p> <a class="tensorsite-content__title" href="https://www.coursera.org/specializations/tensorflow-in-practice" item-id="TensorFlow Developer Specialization" rel="noopener noreferrer" target="_blank"> TensorFlow Developer Specialization </a> <div class="tensorsite-content__description"> <inline-html> <p>In this four-course Specialization taught by a TensorFlow developer, you'll explore the tools and software developers use to build scalable AI-powered algorithms in TensorFlow.</p> </inline-html> </div> <div class="tensorsite-content__cta-wrapper"> <a class="tensorsite-content__cta tensorsite-content__cta-icon tensorsite-icon--external" href="https://www.coursera.org/specializations/tensorflow-in-practice" item-id="TensorFlow Developer Specialization" rel="noopener noreferrer" tabindex="-1" target="_blank"> View course <span> </span> </a> </div> <div class="tensorsite-content__categories"> <div class="tensorsite-content__category tensorsite-icon--code"> <span class="tensorsite-content__category-text"> Code </span> </div> <div class="tensorsite-content__category tensorsite-icon--build"> <span class="tensorsite-content__category-text"> Build </span> </div> </div> </div> </div> <div class="tensorsite-card"> <div class="tensorsite-content__image-wrapper"> <img alt class="tensorsite-content__image" src="/static/site-assets/images/marketing/edu/edu_machine_learning_crash_course.jpg"> </div> <div class="tensorsite-content tensorsite-content--under-image"> <p class="tensorsite-content__subtitle tensorsite-content__tag"> Google Developers </p> <a class="tensorsite-content__title" href="https://developers.google.com/machine-learning/crash-course" item-id="Machine Learning Crash Course" rel="noopener noreferrer" target="_blank"> Machine Learning Crash Course </a> <div class="tensorsite-content__description"> <inline-html> <p>The Machine Learning Crash Course with TensorFlow APIs is a self-study guide for aspiring machine learning practitioners. It features a series of lessons with video lectures, real-world case studies, and hands-on practice exercises.</p> </inline-html> </div> <div class="tensorsite-content__cta-wrapper tensorsite-content__cta-wrapper--shorter"> <span class="tensorsite-price-tag"> <div class="tensorsite-price-tag__inner"> Free </div> </span> <a class="tensorsite-content__cta tensorsite-content__cta-icon tensorsite-icon--external" href="https://developers.google.com/machine-learning/crash-course" item-id="Machine Learning Crash Course" rel="noopener noreferrer" tabindex="-1" target="_blank"> View course <span> </span> </a> </div> <div class="tensorsite-content__categories"> <div class="tensorsite-content__category tensorsite-icon--math"> <span class="tensorsite-content__category-text"> Math </span> </div> <div class="tensorsite-content__category tensorsite-icon--theory"> <span class="tensorsite-content__category-text"> Theory </span> </div> </div> </div> </div> <div class="tensorsite-card"> <div class="tensorsite-content__image-wrapper"> <img alt class="tensorsite-content__image" src="/static/site-assets/images/marketing/edu/edu_mit_course_6_s191_Intro_to_deep_learning.jpg"> </div> <div class="tensorsite-content tensorsite-content--under-image"> <a class="tensorsite-content__title" href="http://introtodeeplearning.com/" item-id="MIT 6.S191: Introduction to Deep Learning" rel="noopener noreferrer" target="_blank"> MIT 6.S191: Introduction to Deep Learning </a> <div class="tensorsite-content__description"> <inline-html> <p>In this course from MIT, you will gain foundational knowledge of deep learning algorithms and get practical experience in building neural networks in TensorFlow.</p> </inline-html> </div> <div class="tensorsite-content__cta-wrapper tensorsite-content__cta-wrapper--shorter"> <span class="tensorsite-price-tag"> <div class="tensorsite-price-tag__inner"> Free </div> </span> <a class="tensorsite-content__cta tensorsite-content__cta-icon tensorsite-icon--external" href="http://introtodeeplearning.com/" item-id="MIT 6.S191: Introduction to Deep Learning" rel="noopener noreferrer" tabindex="-1" target="_blank"> View course <span> </span> </a> </div> <div class="tensorsite-content__categories"> <div class="tensorsite-content__category tensorsite-icon--code"> <span class="tensorsite-content__category-text"> Code </span> </div> <div class="tensorsite-content__category tensorsite-icon--math"> <span class="tensorsite-content__category-text"> Math </span> </div> <div class="tensorsite-content__category tensorsite-icon--theory"> <span class="tensorsite-content__category-text"> Theory </span> </div> <div class="tensorsite-content__category tensorsite-icon--build"> <span class="tensorsite-content__category-text"> Build </span> </div> </div> </div> </div> <div class="tensorsite-card"> <div class="tensorsite-content__image-wrapper"> <img alt class="tensorsite-content__image" src="/static/site-assets/images/marketing/edu/edu_coursera_5_course_specialization.jpg"> </div> <div class="tensorsite-content tensorsite-content--under-image"> <p class="tensorsite-content__subtitle tensorsite-content__tag"> DeepLearning.AI </p> <a class="tensorsite-content__title" href="https://www.coursera.org/specializations/deep-learning" item-id="Deep Learning Specialization" rel="noopener noreferrer" target="_blank"> Deep Learning Specialization </a> <div class="tensorsite-content__description"> <inline-html> <p>In five courses, you will learn the foundations of Deep Learning, understand how to build neural networks, and learn how to lead successful machine learning projects and build a career in AI. You will master not only the theory, but also see how it is applied in industry.</p> </inline-html> </div> <div class="tensorsite-content__cta-wrapper"> <a class="tensorsite-content__cta tensorsite-content__cta-icon tensorsite-icon--external" href="https://www.coursera.org/specializations/deep-learning" item-id="Deep Learning Specialization" rel="noopener noreferrer" tabindex="-1" target="_blank"> View course <span> </span> </a> </div> <div class="tensorsite-content__categories"> <div class="tensorsite-content__category tensorsite-icon--code"> <span class="tensorsite-content__category-text"> Code </span> </div> <div class="tensorsite-content__category tensorsite-icon--math"> <span class="tensorsite-content__category-text"> Math </span> </div> <div class="tensorsite-content__category tensorsite-icon--theory"> <span class="tensorsite-content__category-text"> Theory </span> </div> <div class="tensorsite-content__category tensorsite-icon--build"> <span class="tensorsite-content__category-text"> Build </span> </div> </div> </div> </div> <div class="tensorsite-card"> <div class="tensorsite-content__image-wrapper"> <img alt class="tensorsite-content__image" src="/static/site-assets/images/marketing/edu/edu_course_tf_data_and_deployment.jpg"> </div> <div class="tensorsite-content tensorsite-content--under-image"> <p class="tensorsite-content__subtitle tensorsite-content__tag"> DeepLearning.AI </p> <a class="tensorsite-content__title" href="https://www.coursera.org/specializations/tensorflow-data-and-deployment" item-id="TensorFlow: Data and Deployment Specialization" rel="noopener noreferrer" target="_blank"> TensorFlow: Data and Deployment Specialization </a> <div class="tensorsite-content__description"> <inline-html> <p>You've learned how to build and train models. Now learn to navigate various deployment scenarios and use data more effectively to train your model in this four-course Specialization.</p> </inline-html> </div> <div class="tensorsite-content__cta-wrapper"> <a class="tensorsite-content__cta tensorsite-content__cta-icon tensorsite-icon--external" href="https://www.coursera.org/specializations/tensorflow-data-and-deployment" item-id="TensorFlow: Data and Deployment Specialization" rel="noopener noreferrer" tabindex="-1" target="_blank"> View course <span> </span> </a> </div> <div class="tensorsite-content__categories"> <div class="tensorsite-content__category tensorsite-icon--build"> <span class="tensorsite-content__category-text"> Build </span> </div> <div class="tensorsite-content__category tensorsite-icon--code"> <span class="tensorsite-content__category-text"> Code </span> </div> </div> </div> </div> <div class="tensorsite-card"> <div class="tensorsite-content__image-wrapper"> <img alt class="tensorsite-content__image" src="/static/site-assets/images/marketing/edu/edu_tensorflow-advanced-techniques-specialization.jpg"> </div> <div class="tensorsite-content tensorsite-content--under-image"> <p class="tensorsite-content__subtitle tensorsite-content__tag"> DeepLearning.AI </p> <a class="tensorsite-content__title" href="https://www.coursera.org/specializations/tensorflow-advanced-techniques" item-id="TensorFlow: Advanced Techniques Specialization" rel="noopener noreferrer" target="_blank"> TensorFlow: Advanced Techniques Specialization </a> <div class="tensorsite-content__description"> <inline-html> <p>This specialization is for software and ML engineers with a foundational understanding of TensorFlow who are looking to expand their knowledge and skill set by learning advanced TensorFlow features to build powerful models.</p> </inline-html> </div> <div class="tensorsite-content__cta-wrapper"> <a class="tensorsite-content__cta tensorsite-content__cta-icon tensorsite-icon--external" href="https://www.coursera.org/specializations/tensorflow-advanced-techniques" item-id="TensorFlow: Advanced Techniques Specialization" rel="noopener noreferrer" tabindex="-1" target="_blank"> View course <span> </span> </a> </div> <div class="tensorsite-content__categories"> <div class="tensorsite-content__category tensorsite-icon--build"> <span class="tensorsite-content__category-text"> Build </span> </div> <div class="tensorsite-content__category tensorsite-icon--code"> <span class="tensorsite-content__category-text"> Code </span> </div> </div> </div> </div> <div class="tensorsite-card"> <div class="tensorsite-content__image-wrapper"> <img alt class="tensorsite-content__image" src="/static/site-assets/images/marketing/learn/learn-js.jpeg"> </div> <div class="tensorsite-content tensorsite-content--under-image"> <a class="tensorsite-content__title" href="https://www.edx.org/professional-certificate/google-fundamentals-of-google-ai-for-web-based-machine-learning" item-id="Fundamentals of Google AI for Web Based Machine Learning" rel="noopener noreferrer" target="_blank"> Fundamentals of Google AI for Web Based Machine Learning </a> <div class="tensorsite-content__description"> <inline-html> <p>Learn how you can get more eyes on your cutting edge research, or deliver super powers in your web apps in future work for your clients or the company you work for with web-based machine learning.</p> </inline-html> </div> <div class="tensorsite-content__cta-wrapper"> <a class="tensorsite-content__cta tensorsite-content__cta-icon tensorsite-icon--external" href="https://www.edx.org/professional-certificate/google-fundamentals-of-google-ai-for-web-based-machine-learning" item-id="View course" rel="noopener noreferrer" tabindex="-1" target="_blank"> View course <span> </span> </a> </div> <div class="tensorsite-content__categories"> <div class="tensorsite-content__category tensorsite-icon--build"> <span class="tensorsite-content__category-text"> Build </span> </div> <div class="tensorsite-content__category tensorsite-icon--code"> <span class="tensorsite-content__category-text"> Code </span> </div> <div class="tensorsite-content__category tensorsite-icon--theory"> <span class="tensorsite-content__category-text"> Theory </span> </div> </div> </div> </div> </div> </div> <div class="tensorsite-group__divider"> </div> </section> <section #="" analytics="" anchors="" class="tensorsite-group tensorsite-group--gray tensorsite-group--row-3up" data-section-id="math" for="" id="math-concepts"> <div class="tensorsite-side-side__background"> </div> <div class="tensorsite-container"> <div class="tensorsite-group__header"> <div class="tensorsite-content"> <h2 class="tensorsite-content__title" id="math-concepts" data-text=" Math concepts " tabindex="-1"> Math concepts </h2> <div class="tensorsite-content__description"> <inline-html> <p>To go deeper with your ML knowledge, these resources can help you understand the underlying math concepts necessary for higher level advancement.</p> </inline-html> </div> <div class="tensorsite-content__toc"> <a class="tensorsite-content__cta tensorsite-content__cta-icon tensorsite-icon--arrow-upward" content-type="nav" href="#educational-resources" item-id="Back to Resource Library"> Back to Resource Library <span> </span> </a> </div> </div> </div> <div class="tensorsite-group__inner"> <div class="tensorsite-card tensorsite-card--video"> <button aria-label="Watch the video" class="tensorsite-card__href devsite-dialog-button" data-modal-dialog-id="video-modal--LlKAna21fLE" item-id="A friendly introduction to linear algebra for ML"> </button> <div class="tensorsite-content__image-wrapper"> <img alt class="tensorsite-content__image" src="/static/site-assets/images/marketing/edu/edu_linear-algebra-for-ml.jpg"> <svg aria-hidden="true" class="tensorsite-content__image__play-button" height="96" width="96" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <defs> <path d="M48 0C21.504 0 0 21.504 0 48s21.504 48 48 48 48-21.504 48-48S74.496 0 48 0z" id="b"> </path> <filter filterunits="objectBoundingBox" height="175%" id="a" width="175%" x="-37.5%" y="-37.5%"> <feoffset in="SourceAlpha" result="shadowOffsetOuter1"> </feoffset> <fegaussianblur in="shadowOffsetOuter1" result="shadowBlurOuter1" stddeviation="12"> </fegaussianblur> <fecolormatrix in="shadowBlurOuter1" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.08 0"> </fecolormatrix> </filter> <lineargradient id="c" x1="60.966%" x2="36.71%" y1="29.2%" y2="69.385%"> <stop offset="0%" stop-color="#FF9100"> </stop> <stop offset="100%" stop-color="#FF6F00"> </stop> </lineargradient> </defs> <g fill="none" fill-rule="nonzero"> <use fill="#000" filter="url(#a)" xlink:href="#b"> </use> <use fill="#FFF" xlink:href="#b"> </use> <path d="M41 63V33l20 15z" fill="url(#c)"> </path> </g> </svg> </div> <div class="tensorsite-content tensorsite-content--under-image"> <a class="tensorsite-content__title"> A friendly introduction to linear algebra for ML </a> <div class="tensorsite-content__description"> <inline-html> <p>A bird's-eye view of linear algebra for machine learning. Never taken linear algebra or know a little about the basics, and want to get a feel for how it's used in ML? Then this video is for you.</p> </inline-html> </div> <div class="tensorsite-content__cta-wrapper tensorsite-content__cta-wrapper--shorter"> <span class="tensorsite-price-tag"> <div class="tensorsite-price-tag__inner"> Free </div> </span> <a aria-label=" Watch the video " class="tensorsite-content__cta tensorsite-content__cta-icon tensorsite-icon--video" data-modal-dialog-id="video-modal--LlKAna21fLE" item-id="A friendly introduction to linear algebra for ML" tabindex="-1"> Watch the video <span> </span> </a> </div> <div class="tensorsite-content__categories"> <div class="tensorsite-content__category tensorsite-icon--math"> <span class="tensorsite-content__category-text"> Math </span> </div> </div> </div> </div> <div class="devsite-dialog tensorsite-video-modal" id="video-modal--LlKAna21fLE"> <div class="tensorsite-video-modal__buttons"> <button class="devsite-dialog-close"> <i class="material-icons" aria-hidden="true" translate="no"> close </i> </button> </div> <div class="devsite-dialog-contents"> <div class="video-wrapper-full-width"> <iframe allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="true" class="devsite-embedded-youtube-video" data-autohide="1" data-showinfo="0" data-video-id="LlKAna21fLE" frameborder="0"> </iframe> </div> </div> </div> <div class="tensorsite-card"> <div class="tensorsite-content__image-wrapper"> <img alt class="tensorsite-content__image" src="/static/site-assets/images/marketing/edu/edu_corsera_mathematics.jpg"> </div> <div class="tensorsite-content tensorsite-content--under-image"> <p class="tensorsite-content__subtitle tensorsite-content__tag"> Imperial College London </p> <a class="tensorsite-content__title" href="https://www.coursera.org/specializations/mathematics-machine-learning?source=deprecated_spark_cdp" item-id="Mathematics for Machine Learning Specialization" rel="noopener noreferrer" target="_blank"> Mathematics for Machine Learning Specialization </a> <div class="tensorsite-content__description"> <inline-html> <p>This online specialization from Coursera aims to bridge the gap of mathematics and machine learning, getting you up to speed in the underlying mathematics to build an intuitive understanding, and relating it to Machine Learning and Data Science.</p> </inline-html> </div> <div class="tensorsite-content__cta-wrapper"> <a class="tensorsite-content__cta tensorsite-content__cta-icon tensorsite-icon--external" href="https://www.coursera.org/specializations/mathematics-machine-learning?source=deprecated_spark_cdp" item-id="Mathematics for Machine Learning Specialization" rel="noopener noreferrer" tabindex="-1" target="_blank"> View course <span> </span> </a> </div> <div class="tensorsite-content__categories"> <div class="tensorsite-content__category tensorsite-icon--math"> <span class="tensorsite-content__category-text"> Math </span> </div> <div class="tensorsite-content__category tensorsite-icon--theory"> <span class="tensorsite-content__category-text"> Theory </span> </div> </div> </div> </div> <div class="tensorsite-card tensorsite-card--video"> <div class="tensorsite-content__image-wrapper"> <img alt class="tensorsite-content__image" src="/static/site-assets/images/marketing/edu/edu_deeplearnng_by_3blue1brown.jpg"> </div> <div class="tensorsite-content tensorsite-content--under-image"> <a class="tensorsite-content__title" href="https://www.youtube.com/playlist?list=PLZHQObOWTQDNU6R1_67000Dx_ZCJB-3pi" item-id="Deep learning" rel="noopener noreferrer" target="_blank"> Deep learning </a> <div class="tensorsite-content__subtitle tensorsite-content__subtitle--thin tensorsite-content__subtitle--under-title"> by 3Blue1Brown </div> <div class="tensorsite-content__description"> <inline-html> <p>3blue1brown centers around presenting math with a visuals-first approach. In this video series, you will learn the basics of a neural network and how it works through math concepts.</p> </inline-html> </div> <div class="tensorsite-content__cta-wrapper tensorsite-content__cta-wrapper--shorter"> <span class="tensorsite-price-tag"> <div class="tensorsite-price-tag__inner"> Free </div> </span> <a class="tensorsite-content__cta tensorsite-content__cta-icon tensorsite-icon--video" href="https://www.youtube.com/playlist?list=PLZHQObOWTQDNU6R1_67000Dx_ZCJB-3pi" item-id="Deep learning" rel="noopener noreferrer" tabindex="-1" target="_blank"> View series <span> </span> </a> </div> <div class="tensorsite-content__categories"> <div class="tensorsite-content__category tensorsite-icon--math"> <span class="tensorsite-content__category-text"> Math </span> </div> <div class="tensorsite-content__category tensorsite-icon--theory"> <span class="tensorsite-content__category-text"> Theory </span> </div> </div> </div> </div> <div class="tensorsite-card tensorsite-card--video"> <div class="tensorsite-content__image-wrapper"> <img alt class="tensorsite-content__image" src="/static/site-assets/images/marketing/edu/edu_math_the_essence_of_linear-algebra.jpg"> </div> <div class="tensorsite-content tensorsite-content--under-image"> <a class="tensorsite-content__title" href="https://www.youtube.com/playlist?list=PLZHQObOWTQDPD3MizzM2xVFitgF8hE_ab" item-id="Essence of Linear Algebra" rel="noopener noreferrer" target="_blank"> Essence of Linear Algebra </a> <div class="tensorsite-content__subtitle tensorsite-content__subtitle--thin tensorsite-content__subtitle--under-title"> by 3Blue1Brown </div> <div class="tensorsite-content__description"> <inline-html> <p>A series of short, visual videos from 3blue1brown that explain the geometric understanding of matrices, determinants, eigen-stuffs and more.</p> </inline-html> </div> <div class="tensorsite-content__cta-wrapper tensorsite-content__cta-wrapper--shorter"> <span class="tensorsite-price-tag"> <div class="tensorsite-price-tag__inner"> Free </div> </span> <a class="tensorsite-content__cta tensorsite-content__cta-icon tensorsite-icon--video" href="https://www.youtube.com/playlist?list=PLZHQObOWTQDPD3MizzM2xVFitgF8hE_ab" item-id="Essence of Linear Algebra" rel="noopener noreferrer" tabindex="-1" target="_blank"> View series <span> </span> </a> </div> <div class="tensorsite-content__categories"> <div class="tensorsite-content__category tensorsite-icon--math"> <span class="tensorsite-content__category-text"> Math </span> </div> </div> </div> </div> <div class="tensorsite-card tensorsite-card--video"> <div class="tensorsite-content__image-wrapper"> <img alt class="tensorsite-content__image" src="/static/site-assets/images/marketing/edu/edu_math_the_essence_of_calculus.jpg"> </div> <div class="tensorsite-content tensorsite-content--under-image"> <a class="tensorsite-content__title" href="https://www.youtube.com/playlist?list=PLZHQObOWTQDMsr9K-rj53DwVRMYO3t5Yr" item-id="Essence of Calculus" rel="noopener noreferrer" target="_blank"> Essence of Calculus </a> <div class="tensorsite-content__subtitle tensorsite-content__subtitle--thin tensorsite-content__subtitle--under-title"> by 3Blue1Brown </div> <div class="tensorsite-content__description"> <inline-html> <p>A series of short, visual videos from 3blue1brown that explain the fundamentals of calculus in a way that give you a strong understanding of the fundamental theorems, and not just how the equations work.</p> </inline-html> </div> <div class="tensorsite-content__cta-wrapper tensorsite-content__cta-wrapper--shorter"> <span class="tensorsite-price-tag"> <div class="tensorsite-price-tag__inner"> Free </div> </span> <a class="tensorsite-content__cta tensorsite-content__cta-icon tensorsite-icon--video" href="https://www.youtube.com/playlist?list=PLZHQObOWTQDMsr9K-rj53DwVRMYO3t5Yr" item-id="Essence of Calculus" rel="noopener noreferrer" tabindex="-1" target="_blank"> View series <span> </span> </a> </div> <div class="tensorsite-content__categories"> <div class="tensorsite-content__category tensorsite-icon--math"> <span class="tensorsite-content__category-text"> Math </span> </div> </div> </div> </div> <div class="tensorsite-card"> <div class="tensorsite-content__image-wrapper"> <img alt class="tensorsite-content__image" src="/static/site-assets/images/marketing/edu/edu_math_mit_course_18_06_linear_algebra.jpg"> </div> <div class="tensorsite-content tensorsite-content--under-image"> <a class="tensorsite-content__title" href="https://ocw.mit.edu/courses/mathematics/18-06-linear-algebra-spring-2010/" item-id="MIT 18.06: Linear Algebra" rel="noopener noreferrer" target="_blank"> MIT 18.06: Linear Algebra </a> <div class="tensorsite-content__description"> <inline-html> <p>This introductory course from MIT covers matrix theory and linear algebra. Emphasis is given to topics that will be useful in other disciplines, including systems of equations, vector spaces, determinants, eigenvalues, similarity, and positive definite matrices.</p> </inline-html> </div> <div class="tensorsite-content__cta-wrapper tensorsite-content__cta-wrapper--shorter"> <span class="tensorsite-price-tag"> <div class="tensorsite-price-tag__inner"> Free </div> </span> <a class="tensorsite-content__cta tensorsite-content__cta-icon tensorsite-icon--external" href="https://ocw.mit.edu/courses/mathematics/18-06-linear-algebra-spring-2010/" item-id="MIT 18.06: Linear Algebra" rel="noopener noreferrer" tabindex="-1" target="_blank"> View course <span> </span> </a> </div> <div class="tensorsite-content__categories"> <div class="tensorsite-content__category tensorsite-icon--math"> <span class="tensorsite-content__category-text"> Math </span> </div> </div> </div> </div> <div class="tensorsite-card"> <div class="tensorsite-content__image-wrapper"> <img alt class="tensorsite-content__image" src="/static/site-assets/images/marketing/edu/edu_math_mit_course_18_01_calculus.jpg"> </div> <div class="tensorsite-content tensorsite-content--under-image"> <a class="tensorsite-content__title" href="https://ocw.mit.edu/courses/mathematics/18-01-single-variable-calculus-fall-2006/" item-id="MIT 18.01: Single Variable Calculus" rel="noopener noreferrer" target="_blank"> MIT 18.01: Single Variable Calculus </a> <div class="tensorsite-content__description"> <inline-html> <p>This introductory calculus course from MIT covers differentiation and integration of functions of one variable, with applications.</p> </inline-html> </div> <div class="tensorsite-content__cta-wrapper tensorsite-content__cta-wrapper--shorter"> <span class="tensorsite-price-tag"> <div class="tensorsite-price-tag__inner"> Free </div> </span> <a class="tensorsite-content__cta tensorsite-content__cta-icon tensorsite-icon--external" href="https://ocw.mit.edu/courses/mathematics/18-01-single-variable-calculus-fall-2006/" item-id="MIT 18.01: Single Variable Calculus" rel="noopener noreferrer" tabindex="-1" target="_blank"> View course <span> </span> </a> </div> <div class="tensorsite-content__categories"> <div class="tensorsite-content__category tensorsite-icon--math"> <span class="tensorsite-content__category-text"> Math </span> </div> </div> </div> </div> <div class="tensorsite-card"> <div class="tensorsite-content__image-wrapper"> <img alt class="tensorsite-content__image" src="/static/site-assets/images/marketing/edu/edu_seeing_theory.jpg"> </div> <div class="tensorsite-content tensorsite-content--under-image"> <a class="tensorsite-content__title" href="https://seeing-theory.brown.edu/" item-id="Seeing Theory" rel="noopener noreferrer" target="_blank"> Seeing Theory </a> <div class="tensorsite-content__subtitle tensorsite-content__subtitle--thin tensorsite-content__subtitle--under-title"> by Daniel Kunin, Jingru Guo, Tyler Dae Devlin, Daniel Xiang </div> <div class="tensorsite-content__description"> <inline-html> <p>A visual introduction to probability and statistics.</p> </inline-html> </div> <div class="tensorsite-content__cta-wrapper tensorsite-content__cta-wrapper--shorter"> <span class="tensorsite-price-tag"> <div class="tensorsite-price-tag__inner"> Free </div> </span> <a class="tensorsite-content__cta tensorsite-content__cta-icon tensorsite-icon--external" href="https://seeing-theory.brown.edu/" item-id="Seeing Theory" rel="noopener noreferrer" tabindex="-1" target="_blank"> Learn more <span> </span> </a> </div> <div class="tensorsite-content__categories"> <div class="tensorsite-content__category tensorsite-icon--math"> <span class="tensorsite-content__category-text"> Math </span> </div> </div> </div> </div> <div class="tensorsite-card"> <div class="tensorsite-content__image-wrapper"> <img alt class="tensorsite-content__image" src="/static/site-assets/images/marketing/edu/edu_book_an_intro_to_statistical.jpg"> </div> <div class="tensorsite-content tensorsite-content--under-image"> <a class="tensorsite-content__title" href="https://statlearning.com/" item-id="An Introduction to Statistical Learning" rel="noopener noreferrer" target="_blank"> An Introduction to Statistical Learning </a> <div class="tensorsite-content__subtitle tensorsite-content__subtitle--thin tensorsite-content__subtitle--under-title"> by Gareth James, Daniela Witten, Trevor Hastie, and Rob Tibshirani </div> <div class="tensorsite-content__description"> <inline-html> <p>This book provides an accessible overview of the field of statistical learning, an essential toolset for making sense of the vast and complex world of datasets needed to train models in machine learning.</p> </inline-html> </div> <div class="tensorsite-content__cta-wrapper tensorsite-content__cta-wrapper--shorter"> <span class="tensorsite-price-tag"> <div class="tensorsite-price-tag__inner"> Free </div> </span> <a class="tensorsite-content__cta tensorsite-content__cta-icon tensorsite-icon--external" href="https://statlearning.com/" item-id="An Introduction to Statistical Learning" rel="noopener noreferrer" tabindex="-1" target="_blank"> View book <span> </span> </a> </div> <div class="tensorsite-content__categories"> <div class="tensorsite-content__category tensorsite-icon--math"> <span class="tensorsite-content__category-text"> Math </span> </div> </div> </div> </div> </div> </div> <div class="tensorsite-group__divider"> </div> </section> <section #="" analytics="" anchors="" class="tensorsite-group tensorsite-group--gray tensorsite-group--row-3up" data-section-id="tf resources" for="" id="other-resources"> <div class="tensorsite-side-side__background"> </div> <div class="tensorsite-container"> <div class="tensorsite-group__header"> <div class="tensorsite-content"> <h2 class="tensorsite-content__title" id="tensorflow-resources" data-text=" TensorFlow resources " tabindex="-1"> TensorFlow resources </h2> <div class="tensorsite-content__description"> <inline-html> <p>We've gathered our favorite resources to help you get started with TensorFlow libraries and frameworks specific to your needs. Jump to our sections for <a content-type="nav" href="#js" item-id="TensorFlow.js">TensorFlow.js</a>, <a content-type="nav" href="#lite" item-id="LiteRT">LiteRT</a>, and <a content-type="nav" href="#tfx" item-id="TFX">TFX</a>. <br/><br/><br/> You can also browse the official TensorFlow <a content-type="cta" href="/guide" item-id="guide">guide</a> and <a content-type="cta" href="/tutorials" item-id="tutorials">tutorials</a> for the latest examples and colabs.</p> </inline-html> </div> <div class="tensorsite-content__toc"> <a class="tensorsite-content__cta tensorsite-content__cta-icon tensorsite-icon--arrow-upward" content-type="nav" href="#educational-resources" item-id="Back to Resource Library"> Back to Resource Library <span> </span> </a> </div> </div> </div> <div class="tensorsite-group__inner"> <div class="tensorsite-card tensorsite-card--video"> <div class="tensorsite-content__image-wrapper"> <img alt class="tensorsite-content__image" src="/static/site-assets/images/marketing/edu/edu_machine-learning-foundations.jpg"> </div> <div class="tensorsite-content tensorsite-content--under-image"> <a class="tensorsite-content__title" href="https://www.youtube.com/playlist?list=PLOU2XLYxmsII9mzQ-Xxug4l2o04JBrkLV" item-id="Machine Learning Foundations" rel="noopener noreferrer" target="_blank"> Machine Learning Foundations </a> <div class="tensorsite-content__description"> <inline-html> <p>Machine Learning Foundations is a free training course where you'll learn the fundamentals of building machine learned models using TensorFlow.</p> </inline-html> </div> <div class="tensorsite-content__cta-wrapper tensorsite-content__cta-wrapper--shorter"> <span class="tensorsite-price-tag"> <div class="tensorsite-price-tag__inner"> Free </div> </span> <a class="tensorsite-content__cta tensorsite-content__cta-icon tensorsite-icon--video" href="https://www.youtube.com/playlist?list=PLOU2XLYxmsII9mzQ-Xxug4l2o04JBrkLV" item-id="Machine Learning Foundations" rel="noopener noreferrer" tabindex="-1" target="_blank"> View series <span> </span> </a> </div> <div class="tensorsite-content__categories"> <div class="tensorsite-content__category tensorsite-icon--code"> <span class="tensorsite-content__category-text"> Code </span> </div> <div class="tensorsite-content__category tensorsite-icon--theory"> <span class="tensorsite-content__category-text"> Theory </span> </div> <div class="tensorsite-content__category tensorsite-icon--build"> <span class="tensorsite-content__category-text"> Build </span> </div> </div> </div> </div> <div class="tensorsite-card tensorsite-card--video"> <button aria-label="Watch the video" class="tensorsite-card__href devsite-dialog-button" data-modal-dialog-id="video-modal--3LLZzi48iB8" item-id="TensorFlow from the Ground Up"> </button> <div class="tensorsite-content__image-wrapper"> <img alt class="tensorsite-content__image" src="/static/site-assets/images/marketing/edu/edu_tensorflow-from-the-ground-up.jpg"> <svg aria-hidden="true" class="tensorsite-content__image__play-button" height="96" width="96" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <defs> <path d="M48 0C21.504 0 0 21.504 0 48s21.504 48 48 48 48-21.504 48-48S74.496 0 48 0z" id="b"> </path> <filter filterunits="objectBoundingBox" height="175%" id="a" width="175%" x="-37.5%" y="-37.5%"> <feoffset in="SourceAlpha" result="shadowOffsetOuter1"> </feoffset> <fegaussianblur in="shadowOffsetOuter1" result="shadowBlurOuter1" stddeviation="12"> </fegaussianblur> <fecolormatrix in="shadowBlurOuter1" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.08 0"> </fecolormatrix> </filter> <lineargradient id="c" x1="60.966%" x2="36.71%" y1="29.2%" y2="69.385%"> <stop offset="0%" stop-color="#FF9100"> </stop> <stop offset="100%" stop-color="#FF6F00"> </stop> </lineargradient> </defs> <g fill="none" fill-rule="nonzero"> <use fill="#000" filter="url(#a)" xlink:href="#b"> </use> <use fill="#FFF" xlink:href="#b"> </use> <path d="M41 63V33l20 15z" fill="url(#c)"> </path> </g> </svg> </div> <div class="tensorsite-content tensorsite-content--under-image"> <a class="tensorsite-content__title"> TensorFlow from the Ground Up </a> <div class="tensorsite-content__description"> <inline-html> <p>This ML Tech Talk is designed for those that know the basics of Machine Learning but need an overview on the fundamentals of TensorFlow (tensors, variables, and gradients without using high level APIs).</p> </inline-html> </div> <div class="tensorsite-content__cta-wrapper tensorsite-content__cta-wrapper--shorter"> <span class="tensorsite-price-tag"> <div class="tensorsite-price-tag__inner"> Free </div> </span> <a aria-label=" Watch the video " class="tensorsite-content__cta tensorsite-content__cta-icon tensorsite-icon--video" data-modal-dialog-id="video-modal--3LLZzi48iB8" item-id="TensorFlow from the Ground Up" tabindex="-1"> Watch the video <span> </span> </a> </div> <div class="tensorsite-content__categories"> <div class="tensorsite-content__category tensorsite-icon--code"> <span class="tensorsite-content__category-text"> Code </span> </div> <div class="tensorsite-content__category tensorsite-icon--theory"> <span class="tensorsite-content__category-text"> Theory </span> </div> </div> </div> </div> <div class="devsite-dialog tensorsite-video-modal" id="video-modal--3LLZzi48iB8"> <div class="tensorsite-video-modal__buttons"> <button class="devsite-dialog-close"> <i class="material-icons" aria-hidden="true" translate="no"> close </i> </button> </div> <div class="devsite-dialog-contents"> <div class="video-wrapper-full-width"> <iframe allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="true" class="devsite-embedded-youtube-video" data-autohide="1" data-showinfo="0" data-video-id="3LLZzi48iB8" frameborder="0"> </iframe> </div> </div> </div> <div class="tensorsite-card tensorsite-card--video"> <button aria-label="Watch the video" class="tensorsite-card__href devsite-dialog-button" data-modal-dialog-id="video-modal--AhE8RhPGH1A" item-id="Intro to Deep Learning"> </button> <div class="tensorsite-content__image-wrapper"> <img alt class="tensorsite-content__image" src="/static/site-assets/images/marketing/edu/edu_intro-to-deep-learning.jpg"> <svg aria-hidden="true" class="tensorsite-content__image__play-button" height="96" width="96" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <defs> <path d="M48 0C21.504 0 0 21.504 0 48s21.504 48 48 48 48-21.504 48-48S74.496 0 48 0z" id="b"> </path> <filter filterunits="objectBoundingBox" height="175%" id="a" width="175%" x="-37.5%" y="-37.5%"> <feoffset in="SourceAlpha" result="shadowOffsetOuter1"> </feoffset> <fegaussianblur in="shadowOffsetOuter1" result="shadowBlurOuter1" stddeviation="12"> </fegaussianblur> <fecolormatrix in="shadowBlurOuter1" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.08 0"> </fecolormatrix> </filter> <lineargradient id="c" x1="60.966%" x2="36.71%" y1="29.2%" y2="69.385%"> <stop offset="0%" stop-color="#FF9100"> </stop> <stop offset="100%" stop-color="#FF6F00"> </stop> </lineargradient> </defs> <g fill="none" fill-rule="nonzero"> <use fill="#000" filter="url(#a)" xlink:href="#b"> </use> <use fill="#FFF" xlink:href="#b"> </use> <path d="M41 63V33l20 15z" fill="url(#c)"> </path> </g> </svg> </div> <div class="tensorsite-content tensorsite-content--under-image"> <a class="tensorsite-content__title"> Intro to Deep Learning </a> <div class="tensorsite-content__description"> <inline-html> <p>This ML Tech Talk includes representation learning, families of neural networks and their applications, a first look inside a deep neural network, and many code examples and concepts from TensorFlow.</p> </inline-html> </div> <div class="tensorsite-content__cta-wrapper tensorsite-content__cta-wrapper--shorter"> <span class="tensorsite-price-tag"> <div class="tensorsite-price-tag__inner"> Free </div> </span> <a aria-label=" Watch the video " class="tensorsite-content__cta tensorsite-content__cta-icon tensorsite-icon--video" data-modal-dialog-id="video-modal--AhE8RhPGH1A" item-id="Intro to Deep Learning" tabindex="-1"> Watch the video <span> </span> </a> </div> <div class="tensorsite-content__categories"> <div class="tensorsite-content__category tensorsite-icon--code"> <span class="tensorsite-content__category-text"> Code </span> </div> <div class="tensorsite-content__category tensorsite-icon--theory"> <span class="tensorsite-content__category-text"> Theory </span> </div> </div> </div> </div> <div class="devsite-dialog tensorsite-video-modal" id="video-modal--AhE8RhPGH1A"> <div class="tensorsite-video-modal__buttons"> <button class="devsite-dialog-close"> <i class="material-icons" aria-hidden="true" translate="no"> close </i> </button> </div> <div class="devsite-dialog-contents"> <div class="video-wrapper-full-width"> <iframe allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="true" class="devsite-embedded-youtube-video" data-autohide="1" data-showinfo="0" data-video-id="AhE8RhPGH1A" frameborder="0"> </iframe> </div> </div> </div> <div class="tensorsite-card tensorsite-card--video"> <div class="tensorsite-content__image-wrapper"> <img alt class="tensorsite-content__image" src="/static/site-assets/images/marketing/edu/edu_coding-tensorflow.png"> </div> <div class="tensorsite-content tensorsite-content--under-image"> <a class="tensorsite-content__title" href="https://www.youtube.com/playlist?list=PLQY2H8rRoyvwLbzbnKJ59NkZvQAW9wLbx" item-id="Coding TensorFlow" rel="noopener noreferrer" target="_blank"> Coding TensorFlow </a> <div class="tensorsite-content__description"> <inline-html> <p>In this series, the TensorFlow Team looks at various parts of TensorFlow from a coding perspective, with videos for use of TensorFlow's high-level APIs, natural language processing, neural structured learning, and more.</p> </inline-html> </div> <div class="tensorsite-content__cta-wrapper tensorsite-content__cta-wrapper--shorter"> <span class="tensorsite-price-tag"> <div class="tensorsite-price-tag__inner"> Free </div> </span> <a class="tensorsite-content__cta tensorsite-content__cta-icon tensorsite-icon--video" href="https://www.youtube.com/playlist?list=PLQY2H8rRoyvwLbzbnKJ59NkZvQAW9wLbx" item-id="Coding TensorFlow" rel="noopener noreferrer" tabindex="-1" target="_blank"> View series <span> </span> </a> </div> <div class="tensorsite-content__categories"> <div class="tensorsite-content__category tensorsite-icon--code"> <span class="tensorsite-content__category-text"> Code </span> </div> <div class="tensorsite-content__category tensorsite-icon--build"> <span class="tensorsite-content__category-text"> Build </span> </div> </div> </div> </div> <div class="tensorsite-card tensorsite-card--video"> <button aria-label="Watch the video" class="tensorsite-card__href devsite-dialog-button" data-modal-dialog-id="video-modal--_1QtMPuYIVw" item-id="Spotting and solving everyday problems with machine learning"> </button> <div class="tensorsite-content__image-wrapper"> <img alt class="tensorsite-content__image" src="/static/site-assets/images/marketing/edu/edu_spotting-solving-problems-ml.jpg"> <svg aria-hidden="true" class="tensorsite-content__image__play-button" height="96" width="96" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <defs> <path d="M48 0C21.504 0 0 21.504 0 48s21.504 48 48 48 48-21.504 48-48S74.496 0 48 0z" id="b"> </path> <filter filterunits="objectBoundingBox" height="175%" id="a" width="175%" x="-37.5%" y="-37.5%"> <feoffset in="SourceAlpha" result="shadowOffsetOuter1"> </feoffset> <fegaussianblur in="shadowOffsetOuter1" result="shadowBlurOuter1" stddeviation="12"> </fegaussianblur> <fecolormatrix in="shadowBlurOuter1" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.08 0"> </fecolormatrix> </filter> <lineargradient id="c" x1="60.966%" x2="36.71%" y1="29.2%" y2="69.385%"> <stop offset="0%" stop-color="#FF9100"> </stop> <stop offset="100%" stop-color="#FF6F00"> </stop> </lineargradient> </defs> <g fill="none" fill-rule="nonzero"> <use fill="#000" filter="url(#a)" xlink:href="#b"> </use> <use fill="#FFF" xlink:href="#b"> </use> <path d="M41 63V33l20 15z" fill="url(#c)"> </path> </g> </svg> </div> <div class="tensorsite-content tensorsite-content--under-image"> <a class="tensorsite-content__title"> Spotting and solving everyday problems with machine learning </a> <div class="tensorsite-content__description"> <inline-html> <p>Learn to spot the most common ML use cases including analyzing multimedia, building smart search, transforming data, and how to quickly build them into your app with user-friendly tools.</p> </inline-html> </div> <div class="tensorsite-content__cta-wrapper tensorsite-content__cta-wrapper--shorter"> <span class="tensorsite-price-tag"> <div class="tensorsite-price-tag__inner"> Free </div> </span> <a aria-label=" Watch the video " class="tensorsite-content__cta tensorsite-content__cta-icon tensorsite-icon--video" data-modal-dialog-id="video-modal--_1QtMPuYIVw" item-id="Spotting and solving everyday problems with machine learning" tabindex="-1"> Watch the video <span> </span> </a> </div> <div class="tensorsite-content__categories"> <div class="tensorsite-content__category tensorsite-icon--theory"> <span class="tensorsite-content__category-text"> Theory </span> </div> </div> </div> </div> <div class="devsite-dialog tensorsite-video-modal" id="video-modal--_1QtMPuYIVw"> <div class="tensorsite-video-modal__buttons"> <button class="devsite-dialog-close"> <i class="material-icons" aria-hidden="true" translate="no"> close </i> </button> </div> <div class="devsite-dialog-contents"> <div class="video-wrapper-full-width"> <iframe allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="true" class="devsite-embedded-youtube-video" data-autohide="1" data-showinfo="0" data-video-id="_1QtMPuYIVw" frameborder="0"> </iframe> </div> </div> </div> </div> </div> <div class="tensorsite-group__divider"> </div> </section> <section #="" analytics="" anchors="" class="tensorsite-group tensorsite-group--gray tensorsite-group--row-3up" data-section-id="tfjs" for="" id="js"> <div class="tensorsite-side-side__background"> </div> <div class="tensorsite-container"> <div class="tensorsite-group__header"> <div class="tensorsite-content"> <h2 class="tensorsite-content__title" id="for-javascript" data-text=" For Javascript " tabindex="-1"> For Javascript </h2> <div class="tensorsite-content__description"> <inline-html> <p>Explore the latest resources at <a content-type="cta" href="/js" item-id="TensorFlow.js" rel="noopener noreferrer" target="_blank">TensorFlow.js</a>.</p> </inline-html> </div> <div class="tensorsite-content__toc"> <a class="tensorsite-content__cta tensorsite-content__cta-icon tensorsite-icon--arrow-upward" content-type="nav" href="#educational-resources" item-id="Back to Resource Library"> Back to Resource Library <span> </span> </a> </div> </div> </div> <div class="tensorsite-group__inner"> <div class="tensorsite-card tensorsite-card--video"> <div class="tensorsite-content__image-wrapper"> <img alt class="tensorsite-content__image" src="/static/site-assets/images/marketing/edu/edu_ml-for-web-developers-playlist.jpeg"> </div> <div class="tensorsite-content tensorsite-content--under-image"> <a class="tensorsite-content__title" href="https://youtube.com/playlist?list=PLOU2XLYxmsILr3HQpqjLAUkIPa5EaZiui" item-id="Machine Learning for Web Developers" rel="noopener noreferrer" target="_blank"> Machine Learning for Web Developers (Web ML) </a> <div class="tensorsite-content__description"> <inline-html> <p>Get a practical working knowledge of using ML in the browser with JavaScript. Learn how to write custom models from a blank canvas, retrain models via transfer learning, and convert models from Python.</p> </inline-html> </div> <div class="tensorsite-content__cta-wrapper"> <a class="tensorsite-content__cta tensorsite-content__cta-icon tensorsite-icon--video" href="https://youtube.com/playlist?list=PLOU2XLYxmsILr3HQpqjLAUkIPa5EaZiui" item-id="Machine Learning for Web Developers" rel="noopener noreferrer" tabindex="-1" target="_blank"> View series <span> </span> </a> </div> <div class="tensorsite-content__categories"> <div class="tensorsite-content__category tensorsite-icon--code"> <span class="tensorsite-content__category-text"> Code </span> </div> <div class="tensorsite-content__category tensorsite-icon--math"> <span class="tensorsite-content__category-text"> Math </span> </div> <div class="tensorsite-content__category tensorsite-icon--theory"> <span class="tensorsite-content__category-text"> Theory </span> </div> <div class="tensorsite-content__category tensorsite-icon--build"> <span class="tensorsite-content__category-text"> Build </span> </div> </div> </div> </div> <div class="tensorsite-card tensorsite-card--video"> <div class="tensorsite-content__image-wrapper"> <img alt class="tensorsite-content__image" src="/static/site-assets/images/marketing/edu/edu_learning-tensorflowjs-gant-laborde.jpg"> </div> <div class="tensorsite-content tensorsite-content--under-image"> <a class="tensorsite-content__title" href="https://www.oreilly.com/library/view/learning-tensorflowjs/9781492090786/" item-id="Learning TensorFlow.js" rel="noopener noreferrer" target="_blank"> Learning TensorFlow.js </a> <div class="tensorsite-content__subtitle tensorsite-content__subtitle--thin tensorsite-content__subtitle--under-title"> by Gant Laborde </div> <div class="tensorsite-content__description"> <inline-html> <p>A hands-on end-to-end approach to TensorFlow.js fundamentals for a broad technical audience. Once you finish this book, you'll know how to build and deploy production-ready deep learning systems with TensorFlow.js.</p> </inline-html> </div> <div class="tensorsite-content__cta-wrapper"> <a class="tensorsite-content__cta tensorsite-content__cta-icon tensorsite-icon--external" href="https://www.oreilly.com/library/view/learning-tensorflowjs/9781492090786/" item-id="Learning TensorFlow.js" rel="noopener noreferrer" tabindex="-1" target="_blank"> View book <span> </span> </a> </div> <div class="tensorsite-content__categories"> <div class="tensorsite-content__category tensorsite-icon--code"> <span class="tensorsite-content__category-text"> Code </span> </div> <div class="tensorsite-content__category tensorsite-icon--theory"> <span class="tensorsite-content__category-text"> Theory </span> </div> <div class="tensorsite-content__category tensorsite-icon--build"> <span class="tensorsite-content__category-text"> Build </span> </div> </div> </div> </div> <div class="tensorsite-card tensorsite-card--video"> <div class="tensorsite-content__image-wrapper"> <img alt class="tensorsite-content__image" src="/static/site-assets/images/marketing/edu/edu_getting_started_with_tf_js_by_tf.jpg"> </div> <div class="tensorsite-content tensorsite-content--under-image"> <a class="tensorsite-content__title" href="https://www.youtube.com/playlist?list=PLs6AluHXaQnjeI6jzDkpKXvbPj31i4GgF" item-id="Getting started with TensorFlow.js by TensorFlow" rel="noopener noreferrer" target="_blank"> Getting started with TensorFlow.js by TensorFlow </a> <div class="tensorsite-content__description"> <inline-html> <p>A 3-part series that explores both training and executing machine learned models with TensorFlow.js, and shows you how to create a machine learning model in JavaScript that executes directly in the browser.</p> </inline-html> </div> <div class="tensorsite-content__cta-wrapper tensorsite-content__cta-wrapper--shorter"> <span class="tensorsite-price-tag"> <div class="tensorsite-price-tag__inner"> Free </div> </span> <a class="tensorsite-content__cta tensorsite-content__cta-icon tensorsite-icon--video" href="https://www.youtube.com/playlist?list=PLs6AluHXaQnjeI6jzDkpKXvbPj31i4GgF" item-id="Getting started with TensorFlow.js by TensorFlow" rel="noopener noreferrer" tabindex="-1" target="_blank"> View series <span> </span> </a> </div> <div class="tensorsite-content__categories"> <div class="tensorsite-content__category tensorsite-icon--code"> <span class="tensorsite-content__category-text"> Code </span> </div> <div class="tensorsite-content__category tensorsite-icon--theory"> <span class="tensorsite-content__category-text"> Theory </span> </div> </div> </div> </div> <div class="tensorsite-card tensorsite-card--video"> <div class="tensorsite-content__image-wrapper"> <img alt class="tensorsite-content__image" src="/static/site-assets/images/marketing/learn/learn-js.jpeg"> </div> <div class="tensorsite-content tensorsite-content--under-image"> <a class="tensorsite-content__title" href="https://www.edx.org/course/google-ai-for-javascript-developers-with-tensorflowjs" item-id="Google AI for JavaScript developers with TensorFlow.js" rel="noopener noreferrer" target="_blank"> Google AI for JavaScript developers with TensorFlow.js </a> <div class="tensorsite-content__description"> <inline-html> <p>Go from zero to hero with web ML using TensorFlow.js. Learn how to create next generation web apps that can run client side and be used on almost any device.</p> </inline-html> </div> <div class="tensorsite-content__cta-wrapper tensorsite-content__cta-wrapper--shorter"> <span class="tensorsite-price-tag"> <div class="tensorsite-price-tag__inner"> Free </div> </span> <a class="tensorsite-content__cta tensorsite-content__cta-icon tensorsite-icon--external" href="https://www.edx.org/course/google-ai-for-javascript-developers-with-tensorflowjs" item-id="Google AI for JavaScript developers with TensorFlow.js" rel="noopener noreferrer" tabindex="-1" target="_blank"> View course <span> </span> </a> </div> <div class="tensorsite-content__categories"> <div class="tensorsite-content__category tensorsite-icon--code"> <span class="tensorsite-content__category-text"> Code </span> </div> <div class="tensorsite-content__category tensorsite-icon--theory"> <span class="tensorsite-content__category-text"> Theory </span> </div> <div class="tensorsite-content__category tensorsite-icon--build"> <span class="tensorsite-content__category-text"> Build </span> </div> </div> </div> </div> <div class="tensorsite-card tensorsite-card--video"> <div class="tensorsite-content__image-wrapper"> <img alt class="tensorsite-content__image" src="/static/site-assets/images/marketing/edu/edu_tf_js_intelligence_by_codingtrain.jpg"> </div> <div class="tensorsite-content tensorsite-content--under-image"> <a class="tensorsite-content__title" href="https://www.youtube.com/playlist?list=PLRqwX-V7Uu6YIeVA3dNxbR9PYj4wV31oQ" item-id="TensorFlow.js: Intelligence and Learning Series" rel="noopener noreferrer" target="_blank"> TensorFlow.js: Intelligence and Learning Series </a> <div class="tensorsite-content__subtitle tensorsite-content__subtitle--thin tensorsite-content__subtitle--under-title"> by The Coding Train </div> <div class="tensorsite-content__description"> <inline-html> <p>Part of a larger series on machine learning and building neural networks, this video playlist focuses on TensorFlow.js, the core API, and how to use the JavaScript library to train and deploy ML models.</p> </inline-html> </div> <div class="tensorsite-content__cta-wrapper tensorsite-content__cta-wrapper--shorter"> <span class="tensorsite-price-tag"> <div class="tensorsite-price-tag__inner"> Free </div> </span> <a class="tensorsite-content__cta tensorsite-content__cta-icon tensorsite-icon--video" href="https://www.youtube.com/playlist?list=PLRqwX-V7Uu6YIeVA3dNxbR9PYj4wV31oQ" item-id="TensorFlow.js: Intelligence and Learning Series" rel="noopener noreferrer" tabindex="-1" target="_blank"> View series <span> </span> </a> </div> <div class="tensorsite-content__categories"> <div class="tensorsite-content__category tensorsite-icon--code"> <span class="tensorsite-content__category-text"> Code </span> </div> <div class="tensorsite-content__category tensorsite-icon--math"> <span class="tensorsite-content__category-text"> Math </span> </div> <div class="tensorsite-content__category tensorsite-icon--theory"> <span class="tensorsite-content__category-text"> Theory </span> </div> </div> </div> </div> </div> </div> <div class="tensorsite-group__divider"> </div> </section> <section #="" analytics="" anchors="" class="tensorsite-group tensorsite-group--gray tensorsite-group--row-3up" data-section-id="tf lite" for="" id="lite"> <div class="tensorsite-side-side__background"> </div> <div class="tensorsite-container"> <div class="tensorsite-group__header"> <div class="tensorsite-content"> <h2 class="tensorsite-content__title" id="for-mobile-edge" data-text=" For Mobile &amp; Edge " tabindex="-1"> For Mobile &amp; Edge </h2> <div class="tensorsite-content__description"> <inline-html> <p>Explore the latest resources at <a content-type="cta" href="https://ai.google.dev/edge/" item-id="Google AI Edge" rel="noopener noreferrer" target="_blank">Google AI Edge</a>.</p> </inline-html> </div> <div class="tensorsite-content__toc"> <a class="tensorsite-content__cta tensorsite-content__cta-icon tensorsite-icon--arrow-upward" content-type="nav" href="#educational-resources" item-id="Back to Resource Library"> Back to Resource Library <span> </span> </a> </div> </div> </div> <div class="tensorsite-group__inner"> <div class="tensorsite-card tensorsite-card--video"> <div class="tensorsite-content__image-wrapper"> <img alt class="tensorsite-content__image" src="/static/site-assets/images/marketing/edu/edu_on-device-machine-learning.png"> </div> <div class="tensorsite-content tensorsite-content--under-image"> <p class="tensorsite-content__subtitle tensorsite-content__tag"> Google Developers </p> <a class="tensorsite-content__title" href="https://developers.google.com/learn/topics/on-device-ml#build-your-first-on-device-ml-app" item-id="On-Device Machine Learning" rel="noopener noreferrer" target="_blank"> On-Device Machine Learning </a> <div class="tensorsite-content__description"> <inline-html> <p>Learn how to build your first on-device ML app through learning pathways that provide step-by-step guides for common use cases including audio classification, visual product search, and more.</p> </inline-html> </div> <div class="tensorsite-content__cta-wrapper"> <a class="tensorsite-content__cta tensorsite-content__cta-icon tensorsite-icon--external" href="https://developers.google.com/learn/topics/on-device-ml#build-your-first-on-device-ml-app" item-id="On-Device Machine Learning" rel="noopener noreferrer" tabindex="-1" target="_blank"> Learn more <span> </span> </a> </div> <div class="tensorsite-content__categories"> <div class="tensorsite-content__category tensorsite-icon--code"> <span class="tensorsite-content__category-text"> Code </span> </div> <div class="tensorsite-content__category tensorsite-icon--build"> <span class="tensorsite-content__category-text"> Build </span> </div> </div> </div> </div> <div class="tensorsite-card tensorsite-card--video"> <div class="tensorsite-content__image-wrapper"> <img alt class="tensorsite-content__image" src="/static/site-assets/images/marketing/edu/edu_intro-to-tensorflow-lite.jpg"> </div> <div class="tensorsite-content tensorsite-content--under-image"> <a class="tensorsite-content__title" href="https://www.udacity.com/course/intro-to-tensorflow-lite--ud190" item-id="Introduction to LiteRT" rel="noopener noreferrer" target="_blank"> Introduction to LiteRT </a> <div class="tensorsite-content__description"> <inline-html> <p>Learn how to deploy deep learning models on mobile and embedded devices with LiteRT in this course, developed by the TensorFlow team and Udacity as a practical approach to model deployment for software developers.</p> </inline-html> </div> <div class="tensorsite-content__cta-wrapper tensorsite-content__cta-wrapper--shorter"> <span class="tensorsite-price-tag"> <div class="tensorsite-price-tag__inner"> Free </div> </span> <a class="tensorsite-content__cta tensorsite-content__cta-icon tensorsite-icon--external" href="https://www.udacity.com/course/intro-to-tensorflow-lite--ud190" item-id="Introduction to LiteRT" rel="noopener noreferrer" tabindex="-1" target="_blank"> View course <span> </span> </a> </div> <div class="tensorsite-content__categories"> <div class="tensorsite-content__category tensorsite-icon--code"> <span class="tensorsite-content__category-text"> Code </span> </div> <div class="tensorsite-content__category tensorsite-icon--theory"> <span class="tensorsite-content__category-text"> Theory </span> </div> <div class="tensorsite-content__category tensorsite-icon--build"> <span class="tensorsite-content__category-text"> Build </span> </div> </div> </div> </div> </div> </div> <div class="tensorsite-group__divider"> </div> </section> <section #="" analytics="" anchors="" class="tensorsite-group tensorsite-group--gray tensorsite-group--row-3up" data-section-id="tfx" for="" id="tfx"> <div class="tensorsite-side-side__background"> </div> <div class="tensorsite-container"> <div class="tensorsite-group__header"> <div class="tensorsite-content"> <h2 class="tensorsite-content__title" id="for-production" data-text=" For Production " tabindex="-1"> For Production </h2> <div class="tensorsite-content__description"> <inline-html> <p>Explore the latest resources at <a content-type="cta" href="/tfx" item-id="TFX" rel="noopener noreferrer" target="_blank">TFX</a>.</p> </inline-html> </div> <div class="tensorsite-content__toc"> <a class="tensorsite-content__cta tensorsite-content__cta-icon tensorsite-icon--arrow-upward" content-type="nav" href="#educational-resources" item-id="Back to Resource Library"> Back to Resource Library <span> </span> </a> </div> </div> </div> <div class="tensorsite-group__inner"> <div class="tensorsite-card tensorsite-card--video"> <button aria-label="Watch the video" class="tensorsite-card__href devsite-dialog-button" data-modal-dialog-id="video-modal--YeuvR6m6ACQ" item-id="ML engineering for production ML deployments with TFX"> </button> <div class="tensorsite-content__image-wrapper"> <img alt class="tensorsite-content__image" src="/static/site-assets/images/marketing/edu/edu_ml-engineering-for-production-deployments.jpg"> <svg aria-hidden="true" class="tensorsite-content__image__play-button" height="96" width="96" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <defs> <path d="M48 0C21.504 0 0 21.504 0 48s21.504 48 48 48 48-21.504 48-48S74.496 0 48 0z" id="b"> </path> <filter filterunits="objectBoundingBox" height="175%" id="a" width="175%" x="-37.5%" y="-37.5%"> <feoffset in="SourceAlpha" result="shadowOffsetOuter1"> </feoffset> <fegaussianblur in="shadowOffsetOuter1" result="shadowBlurOuter1" stddeviation="12"> </fegaussianblur> <fecolormatrix in="shadowBlurOuter1" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.08 0"> </fecolormatrix> </filter> <lineargradient id="c" x1="60.966%" x2="36.71%" y1="29.2%" y2="69.385%"> <stop offset="0%" stop-color="#FF9100"> </stop> <stop offset="100%" stop-color="#FF6F00"> </stop> </lineargradient> </defs> <g fill="none" fill-rule="nonzero"> <use fill="#000" filter="url(#a)" xlink:href="#b"> </use> <use fill="#FFF" xlink:href="#b"> </use> <path d="M41 63V33l20 15z" fill="url(#c)"> </path> </g> </svg> </div> <div class="tensorsite-content tensorsite-content--under-image"> <a class="tensorsite-content__title"> ML engineering for production ML deployments with TFX </a> <div class="tensorsite-content__description"> <inline-html> <p>Get a hands-on look at how to put together a production pipeline system with TFX. We'll quickly cover everything from data acquisition, model building, through to deployment and management.</p> </inline-html> </div> <div class="tensorsite-content__cta-wrapper tensorsite-content__cta-wrapper--shorter"> <span class="tensorsite-price-tag"> <div class="tensorsite-price-tag__inner"> Free </div> </span> <a aria-label=" Watch the video " class="tensorsite-content__cta tensorsite-content__cta-icon tensorsite-icon--video" data-modal-dialog-id="video-modal--YeuvR6m6ACQ" item-id="ML engineering for production ML deployments with TFX" tabindex="-1"> Watch the video <span> </span> </a> </div> <div class="tensorsite-content__categories"> <div class="tensorsite-content__category tensorsite-icon--code"> <span class="tensorsite-content__category-text"> Code </span> </div> <div class="tensorsite-content__category tensorsite-icon--build"> <span class="tensorsite-content__category-text"> Build </span> </div> </div> </div> </div> <div class="devsite-dialog tensorsite-video-modal" id="video-modal--YeuvR6m6ACQ"> <div class="tensorsite-video-modal__buttons"> <button class="devsite-dialog-close"> <i class="material-icons" aria-hidden="true" translate="no"> close </i> </button> </div> <div class="devsite-dialog-contents"> <div class="video-wrapper-full-width"> <iframe allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="true" class="devsite-embedded-youtube-video" data-autohide="1" data-showinfo="0" data-video-id="YeuvR6m6ACQ" frameborder="0"> </iframe> </div> </div> </div> <div class="tensorsite-card tensorsite-card--video"> <div class="tensorsite-content__image-wrapper"> <img alt class="tensorsite-content__image" src="/static/site-assets/images/marketing/edu/edu_building-ml-pipelines.png"> </div> <div class="tensorsite-content tensorsite-content--under-image"> <a class="tensorsite-content__title" href="https://www.oreilly.com/library/view/building-machine-learning/9781492053187/" item-id="Building Machine Learning Pipelines" rel="noopener noreferrer" target="_blank"> Building Machine Learning Pipelines </a> <div class="tensorsite-content__subtitle tensorsite-content__subtitle--thin tensorsite-content__subtitle--under-title"> by Hannes Hapke, Catherine Nelson </div> <div class="tensorsite-content__description"> <inline-html> <p>This book walks you through the steps of automating an ML pipeline using the TensorFlow ecosystem. The machine learning examples in this book are based on TensorFlow and Keras, but the core concepts can be applied to any framework.</p> </inline-html> </div> <div class="tensorsite-content__cta-wrapper"> <a class="tensorsite-content__cta tensorsite-content__cta-icon tensorsite-icon--external" href="https://www.oreilly.com/library/view/building-machine-learning/9781492053187/" item-id="Building Machine Learning Pipelines" rel="noopener noreferrer" tabindex="-1" target="_blank"> View book <span> </span> </a> </div> <div class="tensorsite-content__categories"> <div class="tensorsite-content__category tensorsite-icon--code"> <span class="tensorsite-content__category-text"> Code </span> </div> <div class="tensorsite-content__category tensorsite-icon--theory"> <span class="tensorsite-content__category-text"> Theory </span> </div> <div class="tensorsite-content__category tensorsite-icon--build"> <span class="tensorsite-content__category-text"> Build </span> </div> </div> </div> </div> <div class="tensorsite-card tensorsite-card--video"> <div class="tensorsite-content__image-wrapper"> <img alt class="tensorsite-content__image" src="/static/site-assets/images/marketing/edu/edu_intro-machine-learning-in-production.jpg"> </div> <div class="tensorsite-content tensorsite-content--under-image"> <p class="tensorsite-content__subtitle tensorsite-content__tag"> DeepLearning.AI </p> <a class="tensorsite-content__title" href="https://www.coursera.org/specializations/machine-learning-engineering-for-production-mlops/" item-id="Machine Learning Engineering for Production (MLOps) Specialization" rel="noopener noreferrer" target="_blank"> Machine Learning Engineering for Production (MLOps) Specialization </a> <div class="tensorsite-content__description"> <inline-html> <p>Expand your production engineering capabilities in this four-course specialization. Learn how to conceptualize, build, and maintain integrated systems that continuously operate in production.</p> </inline-html> </div> <div class="tensorsite-content__cta-wrapper"> <a class="tensorsite-content__cta tensorsite-content__cta-icon tensorsite-icon--external" href="https://www.coursera.org/specializations/machine-learning-engineering-for-production-mlops/" item-id="Machine Learning Engineering for Production (MLOps) Specialization" rel="noopener noreferrer" tabindex="-1" target="_blank"> View course <span> </span> </a> </div> <div class="tensorsite-content__categories"> <div class="tensorsite-content__category tensorsite-icon--code"> <span class="tensorsite-content__category-text"> Code </span> </div> <div class="tensorsite-content__category tensorsite-icon--theory"> <span class="tensorsite-content__category-text"> Theory </span> </div> <div class="tensorsite-content__category tensorsite-icon--build"> <span class="tensorsite-content__category-text"> Build </span> </div> </div> </div> </div> <div class="tensorsite-card tensorsite-card--video"> <div class="tensorsite-content__image-wrapper"> <img alt class="tensorsite-content__image" src="/static/site-assets/images/marketing/edu/edu_ml-pipelines-google-cloud.png"> </div> <div class="tensorsite-content tensorsite-content--under-image"> <a class="tensorsite-content__title" href="https://www.coursera.org/learn/ml-pipelines-google-cloud" item-id="ML Pipelines on Google Cloud" rel="noopener noreferrer" target="_blank"> ML Pipelines on Google Cloud </a> <div class="tensorsite-content__description"> <inline-html> <p>This advanced course covers TFX components, pipeline orchestration and automation, and how to manage ML metadata with Google Cloud.</p> </inline-html> </div> <div class="tensorsite-content__cta-wrapper"> <a class="tensorsite-content__cta tensorsite-content__cta-icon tensorsite-icon--external" href="https://www.coursera.org/learn/ml-pipelines-google-cloud" item-id="ML Pipelines on Google Cloud" rel="noopener noreferrer" tabindex="-1" target="_blank"> View course <span> </span> </a> </div> <div class="tensorsite-content__categories"> <div class="tensorsite-content__category tensorsite-icon--code"> <span class="tensorsite-content__category-text"> Code </span> </div> <div class="tensorsite-content__category tensorsite-icon--theory"> <span class="tensorsite-content__category-text"> Theory </span> </div> <div class="tensorsite-content__category tensorsite-icon--build"> <span class="tensorsite-content__category-text"> Build </span> </div> </div> </div> </div> </div> </div> <div class="tensorsite-group__divider"> </div> </section> <section #="" analytics="" anchors="" class="tensorsite-group tensorsite-group--gray tensorsite-group--row-3up" data-section-id="responsible ai" for="" id="human-centered-ai"> <div class="tensorsite-side-side__background"> </div> <div class="tensorsite-container"> <div class="tensorsite-group__header"> <div class="tensorsite-content"> <h2 class="tensorsite-content__title" id="human-centered-ai" data-text=" Human-centered AI " tabindex="-1"> Human-centered AI </h2> <div class="tensorsite-content__description"> <inline-html> <p>When designing an ML model, or building AI-driven applications, it's important to consider the people interacting with the product, and the best way to build fairness, interpretability, privacy, and security into these AI systems.</p> </inline-html> </div> <div class="tensorsite-content__toc"> <a class="tensorsite-content__cta tensorsite-content__cta-icon tensorsite-icon--arrow-upward" content-type="nav" href="#educational-resources" item-id="Back to Resource Library"> Back to Resource Library <span> </span> </a> </div> </div> </div> <div class="tensorsite-group__inner"> <div class="tensorsite-card"> <div class="tensorsite-content__image-wrapper"> <img alt class="tensorsite-content__image" src="/static/site-assets/images/marketing/edu/responsible_ai_workflow.png"> </div> <div class="tensorsite-content tensorsite-content--under-image"> <a class="tensorsite-content__title" devsite="true" href="/responsible_ai" item-id="Responsible AI practices"> Responsible AI practices </a> <div class="tensorsite-content__description"> <inline-html> <p>Learn how to integrate Responsible AI practices into your ML workflow using TensorFlow.</p> </inline-html> </div> <div class="tensorsite-content__cta-wrapper tensorsite-content__cta-wrapper--shorter"> <span class="tensorsite-price-tag"> <div class="tensorsite-price-tag__inner"> Free </div> </span> <a class="tensorsite-content__cta tensorsite-content__cta-icon tensorsite-icon--internal" devsite="true" href="/responsible_ai" item-id="Responsible AI practices" tabindex="-1"> Learn more <span> </span> </a> </div> </div> </div> <div class="tensorsite-card"> <div class="tensorsite-content__image-wrapper"> <img alt class="tensorsite-content__image" src="/static/site-assets/images/marketing/edu/edu_people_plus_ai_guidebook.jpg"> </div> <div class="tensorsite-content tensorsite-content--under-image"> <a class="tensorsite-content__title" href="https://pair.withgoogle.com/" item-id="People + AI guidebook" rel="noopener noreferrer" target="_blank"> People + AI guidebook </a> <div class="tensorsite-content__description"> <inline-html> <p>This guidebook from Google will help you build human-centered AI products. It'll enable you to avoid common mistakes, design excellent experiences, and focus on people as you build AI-driven applications.</p> </inline-html> </div> <div class="tensorsite-content__cta-wrapper tensorsite-content__cta-wrapper--shorter"> <span class="tensorsite-price-tag"> <div class="tensorsite-price-tag__inner"> Free </div> </span> <a class="tensorsite-content__cta tensorsite-content__cta-icon tensorsite-icon--external" href="https://pair.withgoogle.com/" item-id="People + AI guidebook" rel="noopener noreferrer" tabindex="-1" target="_blank"> Learn more <span> </span> </a> </div> </div> </div> <div class="tensorsite-card"> <div class="tensorsite-content__image-wrapper"> <img alt class="tensorsite-content__image" src="/static/site-assets/images/marketing/edu/edu_intro_to_fairness.jpg"> </div> <div class="tensorsite-content tensorsite-content--under-image"> <a class="tensorsite-content__title" href="https://developers.google.com/machine-learning/crash-course/fairness/video-lecture" item-id="Intro to Fairness in Machine Learning module" rel="noopener noreferrer" target="_blank"> Intro to Fairness in Machine Learning module </a> <div class="tensorsite-content__description"> <inline-html> <p>This one-hour module within Google's MLCC introduces learners to different types of human biases that can manifest in training data, as well as strategies for identifying, and evaluating their effects.</p> </inline-html> </div> <div class="tensorsite-content__cta-wrapper tensorsite-content__cta-wrapper--shorter"> <span class="tensorsite-price-tag"> <div class="tensorsite-price-tag__inner"> Free </div> </span> <a class="tensorsite-content__cta tensorsite-content__cta-icon tensorsite-icon--external" href="https://developers.google.com/machine-learning/crash-course/fairness/video-lecture" item-id="Intro to Fairness in Machine Learning module" rel="noopener noreferrer" tabindex="-1" target="_blank"> Learn more <span> </span> </a> </div> </div> </div> </div> </div> </section> <section class="tensorsite-footer" data-section-id="footer"> <div class="tensorsite-container tensorsite-footer__container"> <div class="tensorsite-footer__side tensorsite-footer__side--left"> </div> <div class="tensorsite-footer__side tensorsite-footer__side--right"> </div> <div class="tensorsite-footer__content"> <div class="tensorsite-content"> <h2 class="tensorsite-content__title tensorsite-content__title--grow" id="join-tensorflows-global-community" data-text=" Join TensorFlow's global community " tabindex="-1"> Join TensorFlow's global community </h2> <div class="tensorsite-content__cta-wrapper"> <a class="tensorsite-content__button tensorsite-button tensorsite-button--white" href="/community" item-id="Learn more"> Learn more </a> </div> </div> </div> </div> <div class="tensorsite-footer__lines"> </div> </section> <footer> </footer> </div> </div> <div class="devsite-floating-action-buttons"> </div> </article> <devsite-notification > </devsite-notification> <div class="devsite-content-data"> <template class="devsite-content-data-template"> [[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],[],[],[]] </template> </div> </devsite-content> </main> <devsite-footer-promos class="devsite-footer"> </devsite-footer-promos> <devsite-footer-linkboxes class="devsite-footer"> <nav class="devsite-footer-linkboxes nocontent" aria-label="Footer links"> <ul class="devsite-footer-linkboxes-list"> <li class="devsite-footer-linkbox "> <h3 class="devsite-footer-linkbox-heading no-link">Stay connected</h3> <ul class="devsite-footer-linkbox-list"> <li class="devsite-footer-linkbox-item"> <a href="//blog.tensorflow.org" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)" > Blog </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//discuss.tensorflow.org" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 2)" > Forum </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//github.com/tensorflow/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 3)" > GitHub </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//twitter.com/tensorflow" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 4)" > Twitter </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//youtube.com/tensorflow" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 5)" > YouTube </a> </li> </ul> </li> <li class="devsite-footer-linkbox "> <h3 class="devsite-footer-linkbox-heading no-link">Support</h3> <ul class="devsite-footer-linkbox-list"> <li class="devsite-footer-linkbox-item"> <a href="//github.com/tensorflow/tensorflow/issues" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)" > Issue tracker </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//github.com/tensorflow/tensorflow/blob/master/RELEASE.md" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 2)" > Release notes </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//stackoverflow.com/questions/tagged/tensorflow" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 3)" > Stack Overflow </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/extras/tensorflow_brand_guidelines.pdf" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 4)" > Brand guidelines </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/about/bib" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 5)" > Cite TensorFlow </a> </li> </ul> </li> </ul> </nav> </devsite-footer-linkboxes> <devsite-footer-utility class="devsite-footer"> <div class="devsite-footer-utility nocontent"> <nav class="devsite-footer-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> <li class="devsite-footer-utility-item devsite-footer-utility-button"> <span class="devsite-footer-utility-description">Sign up for the TensorFlow newsletter</span> <a class="devsite-footer-utility-link gc-analytics-event" href="//www.tensorflow.org/subscribe" data-category="Site-Wide Custom Events" data-label="Footer Subscribe link" > Subscribe </a> </li> </ul> <devsite-language-selector> <ul role="presentation"> <li role="presentation"> <a role="menuitem" lang="en" >English</a> </li> <li role="presentation"> <a role="menuitem" lang="es" >Español</a> </li> <li role="presentation"> <a role="menuitem" lang="es_419" >Español – América Latina</a> </li> <li role="presentation"> <a role="menuitem" lang="fr" >Français</a> </li> <li role="presentation"> <a role="menuitem" lang="id" >Indonesia</a> </li> <li role="presentation"> <a role="menuitem" lang="it" >Italiano</a> </li> <li role="presentation"> <a role="menuitem" lang="pl" >Polski</a> </li> <li role="presentation"> <a role="menuitem" lang="pt" >Português</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>[{&#34;dimensions&#34;: {&#34;dimension12&#34;: false, &#34;dimension6&#34;: &#34;en&#34;, &#34;dimension3&#34;: false, &#34;dimension1&#34;: &#34;Signed out&#34;, &#34;dimension4&#34;: &#34;TensorFlow&#34;, &#34;dimension5&#34;: &#34;en&#34;}, &#34;gaid&#34;: &#34;UA-69864048-1&#34;, &#34;metrics&#34;: {&#34;ratings_value&#34;: &#34;metric1&#34;, &#34;ratings_count&#34;: &#34;metric2&#34;}, &#34;purpose&#34;: 0}]</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-MXSL34P&#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;TensorFlow&#34;, &#34;signedIn&#34;: &#34;False&#34;, &#34;tenant&#34;: &#34;tensorflow&#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="PaihNL5aiTPJko+hANjApL5VSJAoy6"> (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/tensorflow/js/app_loader.js', '[15,"en",null,"/js/devsite_app_module.js","https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625","https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/tensorflow","https://tensorflow-dot-devsite-v2-prod-3p.appspot.com",1,null,["/_pwa/tensorflow/manifest.json","https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/images/video-placeholder.svg","https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/tensorflow/images/favicon.png","https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/tensorflow/images/lockup.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","www.tensorflow.org","AIzaSyB9bqgQ2t11WJsOX8qNsCQ6U-w91mmqF-I","AIzaSyAdYnStPdzjcJJtQ0mvIaeaMKj7_t6J_Fg",null,null,null,["Search__enable_page_map","Analytics__enable_clearcut_logging","DevPro__enable_developer_subscriptions","TpcFeatures__enable_mirror_tenant_redirects","MiscFeatureFlags__enable_explain_this_code","Profiles__enable_profile_collections","Cloud__enable_cloudx_experiment_ids","Search__enable_dynamic_content_confidential_banner","Cloud__enable_cloud_shell_fte_user_flow","Profiles__enable_release_notes_notifications","CloudShell__cloud_code_overflow_menu","Profiles__enable_complete_playlist_endpoint","MiscFeatureFlags__developers_footer_dark_image","Cloud__enable_cloud_facet_chat","Profiles__enable_page_saving","Cloud__enable_cloud_shell","Cloud__enable_legacy_calculator_redirect","Experiments__reqs_query_experiments","Search__enable_ai_eligibility_checks","Profiles__enable_public_developer_profiles","SignIn__enable_refresh_access_tokens","MiscFeatureFlags__enable_firebase_utm","DevPro__enable_cloud_innovators_plus","Cloud__enable_llm_concierge_chat","MiscFeatureFlags__emergency_css","MiscFeatureFlags__enable_project_variables","Cloud__enable_free_trial_server_call","Cloud__enable_cloud_dlp_service","BookNav__enable_tenant_cache_key","Profiles__enable_developer_profiles_callout","MiscFeatureFlags__developers_footer_image","CloudShell__cloud_shell_button","Cloud__enable_cloudx_ping","MiscFeatureFlags__enable_view_transitions","EngEduTelemetry__enable_engedu_telemetry","TpcFeatures__enable_required_headers","Profiles__enable_recognition_badges","Profiles__enable_completecodelab_endpoint","Search__enable_suggestions_from_borg","Profiles__require_profile_eligibility_for_signin","Concierge__enable_pushui","Profiles__enable_dashboard_curated_recommendations","Profiles__enable_awarding_url","MiscFeatureFlags__enable_variable_operator"],null,null,"AIzaSyA58TaKli1DculwmAmbpzLVGuWc8eCQgQc","https://developerscontentserving-pa.googleapis.com","AIzaSyDWBU60w0P9hEkr29kkksYs8Z7gvZ8u_wc","https://developerscontentsearch-pa.googleapis.com",2,4,null,"https://developerprofiles-pa.googleapis.com",[15,"tensorflow","TensorFlow","www.tensorflow.org",null,"tensorflow-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],[1,null,null,[1]],null,null,null,[1,null,1],[1,1,null,1,1]],null,[25,null,null,null,null,null,"/images/lockup.svg","/images/logo.png",null,null,null,1,1,null,null,null,null,null,null,null,null,1,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,null,null,[6,1],null,[[],[1,1]],[[["UA-69864048-1"],["UA-69864048-4"],null,null,["UA-69864048-5"],["GTM-MXSL34P"],null,null,[["UA-69864048-1",1]],null,[["UA-69864048-5",1]],[["GTM-MXSL34P",1]],1],[[1,1],[6,5],[3,2],[4,3],[5,4],[12,8]],[[1,1],[2,2]]],null,4]]') </script> <devsite-a11y-announce></devsite-a11y-announce> </body> </html>

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