CINXE.COM
FAQ - AutoKeras
<!doctype html> <html lang="en" class="no-js"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <meta name="description" content="Documentation for AutoKeras."> <link rel="canonical" href="http://autokeras.com/tutorial/faq/"> <link rel="prev" href="../load/"> <link rel="next" href="../../extensions/tf_cloud/"> <link rel="icon" href="/img/favicon.png"> <meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.14"> <title>FAQ - AutoKeras</title> <link rel="stylesheet" href="../../assets/stylesheets/main.10ba22f1.min.css"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"> <style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style> <link rel="stylesheet" href="../../stylesheets/extra.css"> <script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script> <script id="__analytics">function __md_analytics(){function n(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],n("js",new Date),n("config","G-GTF9QP8DFD"),document.addEventListener("DOMContentLoaded",function(){document.forms.search&&document.forms.search.query.addEventListener("blur",function(){this.value&&n("event","search",{search_term:this.value})}),document$.subscribe(function(){var a=document.forms.feedback;if(void 0!==a)for(var e of a.querySelectorAll("[type=submit]"))e.addEventListener("click",function(e){e.preventDefault();var t=document.location.pathname,e=this.getAttribute("data-md-value");n("event","feedback",{page:t,data:e}),a.firstElementChild.disabled=!0;e=a.querySelector(".md-feedback__note [data-md-value='"+e+"']");e&&(e.hidden=!1)}),a.hidden=!1}),location$.subscribe(function(e){n("config","G-GTF9QP8DFD",{page_path:e.pathname})})});var e=document.createElement("script");e.async=!0,e.src="https://www.googletagmanager.com/gtag/js?id=G-GTF9QP8DFD",document.getElementById("__analytics").insertAdjacentElement("afterEnd",e)}</script> <script>"undefined"!=typeof __md_analytics&&__md_analytics()</script> </head> <body dir="ltr"> <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off"> <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off"> <label class="md-overlay" for="__drawer"></label> <div data-md-component="skip"> <a href="#how-to-resume-a-previously-killed-run" class="md-skip"> Skip to content </a> </div> <div data-md-component="announce"> </div> <header class="md-header md-header--shadow" data-md-component="header"> <nav class="md-header__inner md-grid" aria-label="Header"> <a href="../.." title="AutoKeras" class="md-header__button md-logo" aria-label="AutoKeras" data-md-component="logo"> <img src="/img/logo_white.svg" alt="logo"> </a> <label class="md-header__button md-icon" for="__drawer"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg> </label> <div class="md-header__title" data-md-component="header-title"> <div class="md-header__ellipsis"> <div class="md-header__topic"> <span class="md-ellipsis"> AutoKeras </span> </div> <div class="md-header__topic" data-md-component="header-topic"> <span class="md-ellipsis"> FAQ </span> </div> </div> </div> <script>var media,input,key,value,palette=__md_get("__palette");if(palette&&palette.color){"(prefers-color-scheme)"===palette.color.media&&(media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']"),palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent"));for([key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for="__search"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> </label> <div class="md-search" data-md-component="search" role="dialog"> <label class="md-search__overlay" for="__search"></label> <div class="md-search__inner" role="search"> <form class="md-search__form" name="search"> <input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required> <label class="md-search__icon md-icon" for="__search"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </label> <nav class="md-search__options" aria-label="Search"> <button type="reset" class="md-search__icon md-icon" title="Clear" aria-label="Clear" tabindex="-1"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> </nav> </form> <div class="md-search__output"> <div class="md-search__scrollwrap" data-md-scrollfix> <div class="md-search-result" data-md-component="search-result"> <div class="md-search-result__meta"> Initializing search </div> <ol class="md-search-result__list" role="presentation"></ol> </div> </div> </div> </div> </div> <div class="md-header__source"> <a href="https://github.com/keras-team/autokeras" title="Go to repository" class="md-source" data-md-component="source"> <div class="md-source__icon md-icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class="md-source__repository"> GitHub </div> </a> </div> </nav> </header> <div class="md-container" data-md-component="container"> <main class="md-main" data-md-component="main"> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" > <div class="md-sidebar__scrollwrap"> <div class="md-sidebar__inner"> <nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0"> <label class="md-nav__title" for="__drawer"> <a href="../.." title="AutoKeras" class="md-nav__button md-logo" aria-label="AutoKeras" data-md-component="logo"> <img src="/img/logo_white.svg" alt="logo"> </a> AutoKeras </label> <div class="md-nav__source"> <a href="https://github.com/keras-team/autokeras" title="Go to repository" class="md-source" data-md-component="source"> <div class="md-source__icon md-icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class="md-source__repository"> GitHub </div> </a> </div> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../.." class="md-nav__link"> <span class="md-ellipsis"> Home </span> </a> </li> <li class="md-nav__item"> <a href="../../install/" class="md-nav__link"> <span class="md-ellipsis"> Installation </span> </a> </li> <li class="md-nav__item md-nav__item--active md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" checked> <label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="0"> <span class="md-ellipsis"> Tutorials </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="true"> <label class="md-nav__title" for="__nav_3"> <span class="md-nav__icon md-icon"></span> Tutorials </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../overview/" class="md-nav__link"> <span class="md-ellipsis"> Overview </span> </a> </li> <li class="md-nav__item"> <a href="../image_classification/" class="md-nav__link"> <span class="md-ellipsis"> Image Classification </span> </a> </li> <li class="md-nav__item"> <a href="../image_regression/" class="md-nav__link"> <span class="md-ellipsis"> Image Regression </span> </a> </li> <li class="md-nav__item"> <a href="../text_classification/" class="md-nav__link"> <span class="md-ellipsis"> Text Classification </span> </a> </li> <li class="md-nav__item"> <a href="../text_regression/" class="md-nav__link"> <span class="md-ellipsis"> Text Regression </span> </a> </li> <li class="md-nav__item"> <a href="../multi/" class="md-nav__link"> <span class="md-ellipsis"> Multi-Modal and Multi-Task </span> </a> </li> <li class="md-nav__item"> <a href="../customized/" class="md-nav__link"> <span class="md-ellipsis"> Customized Model </span> </a> </li> <li class="md-nav__item"> <a href="../export/" class="md-nav__link"> <span class="md-ellipsis"> Export Model </span> </a> </li> <li class="md-nav__item"> <a href="../load/" class="md-nav__link"> <span class="md-ellipsis"> Load Data from Disk </span> </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type="checkbox" id="__toc"> <label class="md-nav__link md-nav__link--active" for="__toc"> <span class="md-ellipsis"> FAQ </span> <span class="md-nav__icon md-icon"></span> </label> <a href="./" class="md-nav__link md-nav__link--active"> <span class="md-ellipsis"> FAQ </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class="md-nav__title" for="__toc"> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix> <li class="md-nav__item"> <a href="#how-to-resume-a-previously-killed-run" class="md-nav__link"> <span class="md-ellipsis"> How to resume a previously killed run? </span> </a> </li> <li class="md-nav__item"> <a href="#how-to-customize-metrics-and-loss" class="md-nav__link"> <span class="md-ellipsis"> How to customize metrics and loss? </span> </a> </li> <li class="md-nav__item"> <a href="#how-to-use-customized-metrics-to-select-the-best-model" class="md-nav__link"> <span class="md-ellipsis"> How to use customized metrics to select the best model? </span> </a> </li> <li class="md-nav__item"> <a href="#how-to-use-multiple-gpus" class="md-nav__link"> <span class="md-ellipsis"> How to use multiple GPUs? </span> </a> </li> <li class="md-nav__item"> <a href="#how-to-constrain-the-model-size" class="md-nav__link"> <span class="md-ellipsis"> How to constrain the model size? </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4" > <label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="0"> <span class="md-ellipsis"> Extensions </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_4"> <span class="md-nav__icon md-icon"></span> Extensions </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../extensions/tf_cloud/" class="md-nav__link"> <span class="md-ellipsis"> TensorFlow Cloud </span> </a> </li> <li class="md-nav__item"> <a href="../../extensions/trains/" class="md-nav__link"> <span class="md-ellipsis"> TRAINS </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="../../docker/" class="md-nav__link"> <span class="md-ellipsis"> Docker </span> </a> </li> <li class="md-nav__item"> <a href="../../contributing/" class="md-nav__link"> <span class="md-ellipsis"> Contributing Guide </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_7" > <label class="md-nav__link" for="__nav_7" id="__nav_7_label" tabindex="0"> <span class="md-ellipsis"> Documentation </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_7"> <span class="md-nav__icon md-icon"></span> Documentation </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../image_classifier/" class="md-nav__link"> <span class="md-ellipsis"> ImageClassifier </span> </a> </li> <li class="md-nav__item"> <a href="../../image_regressor/" class="md-nav__link"> <span class="md-ellipsis"> ImageRegressor </span> </a> </li> <li class="md-nav__item"> <a href="../../text_classifier/" class="md-nav__link"> <span class="md-ellipsis"> TextClassifier </span> </a> </li> <li class="md-nav__item"> <a href="../../text_regressor/" class="md-nav__link"> <span class="md-ellipsis"> TextRegressor </span> </a> </li> <li class="md-nav__item"> <a href="../../auto_model/" class="md-nav__link"> <span class="md-ellipsis"> AutoModel </span> </a> </li> <li class="md-nav__item"> <a href="../../base/" class="md-nav__link"> <span class="md-ellipsis"> Base Class </span> </a> </li> <li class="md-nav__item"> <a href="../../node/" class="md-nav__link"> <span class="md-ellipsis"> Node </span> </a> </li> <li class="md-nav__item"> <a href="../../block/" class="md-nav__link"> <span class="md-ellipsis"> Block </span> </a> </li> <li class="md-nav__item"> <a href="../../utils/" class="md-nav__link"> <span class="md-ellipsis"> Utils </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="../../benchmarks/" class="md-nav__link"> <span class="md-ellipsis"> Benchmarks </span> </a> </li> <li class="md-nav__item"> <a href="../../about/" class="md-nav__link"> <span class="md-ellipsis"> About </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" > <div class="md-sidebar__scrollwrap"> <div class="md-sidebar__inner"> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class="md-nav__title" for="__toc"> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix> <li class="md-nav__item"> <a href="#how-to-resume-a-previously-killed-run" class="md-nav__link"> <span class="md-ellipsis"> How to resume a previously killed run? </span> </a> </li> <li class="md-nav__item"> <a href="#how-to-customize-metrics-and-loss" class="md-nav__link"> <span class="md-ellipsis"> How to customize metrics and loss? </span> </a> </li> <li class="md-nav__item"> <a href="#how-to-use-customized-metrics-to-select-the-best-model" class="md-nav__link"> <span class="md-ellipsis"> How to use customized metrics to select the best model? </span> </a> </li> <li class="md-nav__item"> <a href="#how-to-use-multiple-gpus" class="md-nav__link"> <span class="md-ellipsis"> How to use multiple GPUs? </span> </a> </li> <li class="md-nav__item"> <a href="#how-to-constrain-the-model-size" class="md-nav__link"> <span class="md-ellipsis"> How to constrain the model size? </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-content" data-md-component="content"> <article class="md-content__inner md-typeset"> <h1>FAQ</h1> <h2 id="how-to-resume-a-previously-killed-run">How to resume a previously killed run?</h2> <p>This feature is controlled by the <code>overwrite</code> argument of <code>AutoModel</code> or any other task APIs. It is set to <code>False</code> by default, which means it would not overwrite the contents of the directory. In other words, it will continue the previous fit.</p> <p>You can just run the same code again. It will automatically resume the previously killed run.</p> <h2 id="how-to-customize-metrics-and-loss">How to customize metrics and loss?</h2> <p>Please see the code example below.</p> <div class="highlight"><pre><span></span><code><span class="kn">import</span> <span class="nn">autokeras</span> <span class="k">as</span> <span class="nn">ak</span> <span class="n">clf</span> <span class="o">=</span> <span class="n">ak</span><span class="o">.</span><span class="n">ImageClassifier</span><span class="p">(</span> <span class="n">max_trials</span><span class="o">=</span><span class="mi">3</span><span class="p">,</span> <span class="n">metrics</span><span class="o">=</span><span class="p">[</span><span class="s1">'mse'</span><span class="p">],</span> <span class="n">loss</span><span class="o">=</span><span class="s1">'mse'</span><span class="p">,</span> <span class="p">)</span> </code></pre></div> <h2 id="how-to-use-customized-metrics-to-select-the-best-model">How to use customized metrics to select the best model?</h2> <p>By default, AutoKeras use validation loss as the metric for selecting the best model. Below is a code example of using customized metric for selecting models. Please read the comments for the details.</p> <div class="highlight"><pre><span></span><code><span class="c1"># Implement your customized metric according to the tutorial.</span> <span class="c1"># https://keras.io/api/metrics/#creating-custom-metrics</span> <span class="kn">import</span> <span class="nn">autokeras</span> <span class="k">as</span> <span class="nn">ak</span> <span class="k">def</span> <span class="nf">f1_score</span><span class="p">(</span><span class="n">y_true</span><span class="p">,</span> <span class="n">y_pred</span><span class="p">):</span> <span class="o">...</span> <span class="n">clf</span> <span class="o">=</span> <span class="n">ak</span><span class="o">.</span><span class="n">ImageClassifier</span><span class="p">(</span> <span class="n">max_trials</span><span class="o">=</span><span class="mi">3</span><span class="p">,</span> <span class="c1"># Wrap the function into a Keras Tuner Objective </span> <span class="c1"># and pass it to AutoKeras.</span> <span class="c1"># Direction can be 'min' or 'max'</span> <span class="c1"># meaning we want to minimize or maximize the metric.</span> <span class="c1"># 'val_f1_score' is just add a 'val_' prefix</span> <span class="c1"># to the function name or the metric name.</span> <span class="n">objective</span><span class="o">=</span><span class="n">kerastuner</span><span class="o">.</span><span class="n">Objective</span><span class="p">(</span><span class="s1">'val_f1_score'</span><span class="p">,</span> <span class="n">direction</span><span class="o">=</span><span class="s1">'max'</span><span class="p">),</span> <span class="c1"># Include it as one of the metrics.</span> <span class="n">metrics</span><span class="o">=</span><span class="p">[</span><span class="n">f1_score</span><span class="p">],</span> <span class="p">)</span> </code></pre></div> <h2 id="how-to-use-multiple-gpus">How to use multiple GPUs?</h2> <p>You can use the <code>distribution_strategy</code> argument when initializing any model you created with AutoKeras, like AutoModel, ImageClassifier and so on. This argument is supported by Keras Tuner. AutoKeras supports the arguments supported by Keras Tuner. Please see the discription of the argument <a href="https://keras-team.github.io/keras-tuner/documentation/tuners/#tuner-class">here</a>.</p> <div class="highlight"><pre><span></span><code><span class="kn">import</span> <span class="nn">tensorflow</span> <span class="k">as</span> <span class="nn">tf</span> <span class="kn">import</span> <span class="nn">autokeras</span> <span class="k">as</span> <span class="nn">ak</span> <span class="n">auto_model</span> <span class="o">=</span> <span class="n">ak</span><span class="o">.</span><span class="n">ImageClassifier</span><span class="p">(</span> <span class="n">max_trials</span><span class="o">=</span><span class="mi">3</span><span class="p">,</span> <span class="n">distribution_strategy</span><span class="o">=</span><span class="n">tf</span><span class="o">.</span><span class="n">distribute</span><span class="o">.</span><span class="n">MirroredStrategy</span><span class="p">(),</span> <span class="p">)</span> </code></pre></div> <h2 id="how-to-constrain-the-model-size">How to constrain the model size?</h2> <p>You can use the <code>max_model_size</code> argument for any model in AutoKeras.</p> <div class="highlight"><pre><span></span><code><span class="kn">import</span> <span class="nn">autokeras</span> <span class="k">as</span> <span class="nn">ak</span> <span class="n">auto_model</span> <span class="o">=</span> <span class="n">ak</span><span class="o">.</span><span class="n">ImageClassifier</span><span class="p">(</span> <span class="n">max_trials</span><span class="o">=</span><span class="mi">3</span><span class="p">,</span> <span class="n">max_model_size</span><span class="o">=</span><span class="mi">1000000000</span><span class="p">,</span> <span class="p">)</span> </code></pre></div> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> </main> <footer class="md-footer"> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class="md-copyright"> Made with <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener"> Material for MkDocs </a> </div> </div> </div> </footer> </div> <div class="md-dialog" data-md-component="dialog"> <div class="md-dialog__inner md-typeset"></div> </div> <script id="__config" type="application/json">{"base": "../..", "features": [], "search": "../../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script> <script src="../../assets/javascripts/bundle.bd41221c.min.js"></script> <script src="https://unpkg.com/mermaid@8.4.4/dist/mermaid.min.js"></script> </body> </html>