CINXE.COM
Features | PyTorch
<!DOCTYPE html> <html lang="en"> <head> <!-- Google Tag Manager --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-T8XT4PS');</script> <!-- End Google Tag Manager --> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <link rel="shortcut icon" type="image/x-icon" href="/favicon.ico?"> <title> Features | PyTorch </title> <meta name="robots" content="index, follow" /> <meta name="description" content="" /> <meta property="og:image" content="https://pytorch.org/assets/images/social-share.jpg" /> <meta name="twitter:image" content="https://pytorch.org/assets/images/social-share.jpg" /> <meta property="og:locale" content="en_US" /> <meta property="og:type" content="website" /> <meta property="og:title" content="Features" /> <meta property="og:description" content="" /> <meta property="og:site_name" content="PyTorch" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:title" content="Features" /> <meta name="twitter:description" content="" /> <link rel="stylesheet" href="/assets/main.css"> <script src="/assets/vendor/jquery.min.js"></script> <script src="/assets/vendor/popper.min.js"></script> <script src="/assets/vendor/bootstrap.min.js"></script> <script src="/assets/vendor/anchor.min.js"></script> <script type="text/x-mathjax-config"> MathJax.Hub.Config({ tex2jax: { skipTags: ['script', 'noscript', 'style', 'textarea', 'pre'], inlineMath: [['$','$']] } }); </script> <script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script> <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-117752657-2" ></script> <script> window.dataLayer = window.dataLayer || []; function gtag() { dataLayer.push(arguments); } gtag("js", new Date()); gtag("config", "UA-117752657-2"); </script> <script> !function(f,b,e,v,n,t,s) {if(f.fbq)return;n=f.fbq=function(){n.callMethod? n.callMethod.apply(n,arguments):n.queue.push(arguments)}; if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; n.queue=[];t=b.createElement(e);t.async=!0; t.src=v;s=b.getElementsByTagName(e)[0]; s.parentNode.insertBefore(t,s)}(window,document,'script', 'https://connect.facebook.net/en_US/fbevents.js'); fbq('init', '243028289693773'); fbq('track', 'PageView'); </script> <noscript> <img height="1" width="1" src="https://www.facebook.com/tr?id=243028289693773&ev=PageView &noscript=1"/> </noscript> <!-- Twitter universal website tag code --> <img height="1" width="1" style="display:none;" alt="" src="https://analytics.twitter.com/i/adsct?p_id=Twitter&p_user_id=0&txn_id=o2gi1&events=%5B%5B%22pageview%22%2Cnull%5D%5D&tw_sale_amount=0&tw_order_quantity=0 (https://urldefense.proofpoint.com/v2/url?u=https-3A__analytics.twitter.com_i_adsct-3Fp-5Fid-3DTwitter-26p-5Fuser-5Fid-3D0-26txn-5Fid-3Do2gi1-26events-3D-255B-255B-2522pageview-2522-252Cnull-255D-255D-26tw-5Fsale-5Famount-3D0-26tw-5Forder-5Fquantity-3D0&d=DwMGaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=GMr8XYCDyeQQZuD3noL91A&m=dAJyokk16UvYy-vMrGn_JwYiGfp_eEgo25B9iGDCG-A&s=o6i4D0V0088WH2RnzIoqiF-vj45PL-2sTrsxQ0SNO3A&e=)" /> <img height="1" width="1" style="display:none;" alt="" src="//t.co/i/adsct?p_id=Twitter&p_user_id=0&txn_id=o2gi1&events=%5B%5B%22pageview%22%2Cnull%5D%5D&tw_sale_amount=0&tw_order_quantity=0 (https://urldefense.proofpoint.com/v2/url?u=https-3A__linkprotect.cudasvc.com_url-3Fa-3Dhttp-253a-252f-252ft.co-252fi-252fadsct-253fp-5Fid-253dTwitter-2526p-5Fuser-5Fid-253d0-2526txn-5Fid-253do2gi1-2526events-253d-25255B-25255B-252522pageview-252522-25252Cnull-25255D-25255D-2526tw-5Fsale-5Famount-253d0-2526tw-5Forder-5Fquantity-253d0-26c-3DE-2C1-2CC33dLwIhtuEcl5FhdztSnUwsioeej5k-2DWy0RYREBAq51kGji32A2Cw94YU9vQBpY5tPN3AukEw3C-5F-2DlbtndnLoR7-5FA-5FLoH0Rr7zLtP1ykptN-26typo-3D1&d=DwMGaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=GMr8XYCDyeQQZuD3noL91A&m=dAJyokk16UvYy-vMrGn_JwYiGfp_eEgo25B9iGDCG-A&s=Abgc3XBkhESv8XBYtLchdDZyISGsK6v_BB6cLMJGyCw&e=)" /> <!-- End Twitter universal website tag code --> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css" /> <link href="/feed.xml" type="application/atom+xml" rel="alternate" title="Pythorch Blog Posts" /> </head> <body class="features"> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-T8XT4PS" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <div class="hello-bar"> <div class="container"> Join us in Silicon Valley September 18-19 at the 2024 PyTorch Conference. <a target="_blank" href="https://events.linuxfoundation.org/pytorch-conference/?utm_source=www&utm_medium=homepage&utm_campaign=Pytorch-Conference-2024&utm_content=hello">Learn more</a>. </div> </div> <div class="container-fluid header-holder features-header"> <div class="container"> <div class="header-container"> <a class="header-logo" href="https://pytorch.org" aria-label="PyTorch"></a> <div class="main-menu"> <ul> <li class="main-menu-item"> <div id="dropdownMenuButton" data-toggle="resources-dropdown" class="resources-dropdown"> <a class="with-down-arrow"> Learn </a> <div class="resources-dropdown-menu"> <a class="nav-dropdown-item" href="/get-started"> <span class=dropdown-title>Get Started</span> <p>Run PyTorch locally or get started quickly with one of the supported cloud platforms</p> </a> <a class="nav-dropdown-item" href="https://pytorch.org/tutorials/"> <span class="dropdown-title">Tutorials</span> <p>Whats new in PyTorch tutorials</p> </a> <a class="nav-dropdown-item" href="https://pytorch.org/tutorials/beginner/basics/intro.html"> <span class="dropdown-title">Learn the Basics</span> <p>Familiarize yourself with PyTorch concepts and modules</p> </a> <a class="nav-dropdown-item" href="https://pytorch.org/tutorials/recipes/recipes_index.html"> <span class="dropdown-title">PyTorch Recipes</span> <p>Bite-size, ready-to-deploy PyTorch code examples</p> </a> <a class="nav-dropdown-item" href="https://pytorch.org/tutorials/beginner/introyt.html"> <span class="dropdown-title">Intro to PyTorch - YouTube Series</span> <p>Master PyTorch basics with our engaging YouTube tutorial series</p> </a> </div> </div> </li> <li class="main-menu-item"> <div id="dropdownMenuButton" data-toggle="resources-dropdown" class="resources-dropdown"> <a class="with-down-arrow"> Ecosystem </a> <div class="resources-dropdown-menu"> <a class="nav-dropdown-item" href="/ecosystem"> <span class="dropdown-title">Tools</span> <p>Learn about the tools and frameworks in the PyTorch Ecosystem</p> </a> <a class="nav-dropdown-item" href="/#community-module"> <span class=dropdown-title>Community</span> <p>Join the PyTorch developer community to contribute, learn, and get your questions answered.</p> </a> <a class="nav-dropdown-item" href="https://discuss.pytorch.org" target="_blank"> <span class=dropdown-title>Forums</span> <p>A place to discuss PyTorch code, issues, install, research</p> </a> <a class="nav-dropdown-item" href="/resources"> <span class=dropdown-title>Developer Resources</span> <p>Find resources and get questions answered</p> </a> <a class="nav-dropdown-item" href="/ecosystem/contributor-awards-2024"> <span class="dropdown-title">Contributor Awards - 2024</span> <p>Award winners announced at this year's PyTorch Conference</p> </a> </div> </div> </li> <li class="main-menu-item"> <div id="dropdownMenuButton" data-toggle="resources-dropdown" class="resources-dropdown"> <a class="with-down-arrow"> Edge </a> <div class="resources-dropdown-menu"> <a class="nav-dropdown-item" href="/edge"> <span class="dropdown-title">About PyTorch Edge</span> <p>Build innovative and privacy-aware AI experiences for edge devices</p> </a> <a class="nav-dropdown-item" href="/executorch-overview"> <span class="dropdown-title">ExecuTorch</span> <p>End-to-end solution for enabling on-device inference capabilities across mobile and edge devices</p> </a> <a class="nav-dropdown-item" target="_blank" href="https://pytorch.org/executorch/stable/index.html"> <span class="dropdown-title">ExecuTorch Documentation</span> </a> </div> </div> </li> <li class="main-menu-item"> <div id="docsDropdownButton" data-toggle="resources-dropdown" class="resources-dropdown"> <a class="with-down-arrow"> Docs </a> <div class="resources-dropdown-menu"> <a class="nav-dropdown-item" href="https://pytorch.org/docs"> <span class="dropdown-title">PyTorch</span> <p>Explore the documentation for comprehensive guidance on how to use PyTorch.</p> </a> <a class="nav-dropdown-item" href="/pytorch-domains"> <span class="dropdown-title">PyTorch Domains</span> <p> Read the PyTorch Domains documentation to learn more about domain-specific libraries.</p> </a> </div> </div> </li> <li class="main-menu-item"> <div id="dropdownMenuButton" data-toggle="resources-dropdown" class="resources-dropdown"> <a class="with-down-arrow"> Blog & News </a> <div class="resources-dropdown-menu"> <a class="nav-dropdown-item" href="/blog"> <span class="dropdown-title">PyTorch Blog</span> <p>Catch up on the latest technical news and happenings</p> </a> <a class="nav-dropdown-item" href="/community-blog"> <span class="dropdown-title">Community Blog</span> <p>Stories from the PyTorch ecosystem</p> </a> <a class="nav-dropdown-item" href="/videos"> <span class="dropdown-title">Videos</span> <p>Learn about the latest PyTorch tutorials, new, and more </p> </a> <a class="nav-dropdown-item" href="/community-stories"> <span class="dropdown-title">Community Stories</span> <p>Learn how our community solves real, everyday machine learning problems with PyTorch</p> </a> <a class="nav-dropdown-item" href="/events"> <span class=dropdown-title>Events</span> <p>Find events, webinars, and podcasts</p> </a> <a class="nav-dropdown-item" href="/newsletter"> <span class=dropdown-title>Newsletter</span> <p>Stay up-to-date with the latest updates</p> </a> </div> </div> </li> <li class="main-menu-item"> <div id="resourcesDropdownButton" data-toggle="resources-dropdown" class="resources-dropdown"> <a class="with-down-arrow"> About </a> <div class="resources-dropdown-menu"> <a class="nav-dropdown-item" href="/foundation"> <span class=dropdown-title>PyTorch Foundation</span> <p>Learn more about the PyTorch Foundation.</p> </a> <a class="nav-dropdown-item" href="/governing-board"> <span class=dropdown-title>Governing Board</span> </a> <a class="nav-dropdown-item" href="/credits"> <span class=dropdown-title>Cloud Credit Program</span> </a> <a class="nav-dropdown-item" href="/tac"> <span class=dropdown-title>Technical Advisory Council</span> </a> <a class="nav-dropdown-item" href="/staff"> <span class=dropdown-title>Staff</span> </a> <a class="nav-dropdown-item" href="/contact-us"> <span class=dropdown-title>Contact Us</span> </a> </div> </div> </li> <li class="main-menu-item"> <a href="/join" data-cta="join"> Become a Member </a> </li> <li class="main-menu-item" id="github-main-menu-link"> <a href="https://github.com/pytorch/pytorch" title="Go to PyTorch GitHub"> <div id="topnav-gh-icon"></div> </a> </li> <li class="navSearchWrapper reactNavSearchWrapper" key="search"> <div class="search-border"> <div id="search-icon"></div> <input id="search-input" type="text" title="Search" /> <div id="close-search">X</div> </div> </li> </ul> </div> <script src="/assets/main-menu-dropdown.js"></script> <a class="main-menu-open-button" href="#" data-behavior="open-mobile-menu"></a> </div> </div> </div> <div class="main-background features-background"></div> <div class="jumbotron jumbotron-fluid"> <div class="container"> <h1> End-to-end <br/>Machine Learning <br/> Framework </h1> <p class="lead">PyTorch enables fast, flexible experimentation and efficient production through a user-friendly front-end, distributed training, and ecosystem of tools and libraries. </p> <a href="/get-started" class="btn btn-lg with-right-arrow btn-white" data-cta="get-started"> Get Started </a> </div> </div> <div class="main-content-wrapper"> <div class="main-content"> <div class="container"> <!-- START CONTENT --> <div class="row features-row"> <div class="col-md-6"> <div class="feature-content"> <div class="feature-content-holder"> <div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="kn">import</span> <span class="nn">torch</span> <span class="k">class</span> <span class="nc">MyModule</span><span class="p">(</span><span class="n">torch</span><span class="p">.</span><span class="n">nn</span><span class="p">.</span><span class="n">Module</span><span class="p">):</span> <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">N</span><span class="p">,</span> <span class="n">M</span><span class="p">):</span> <span class="nb">super</span><span class="p">(</span><span class="n">MyModule</span><span class="p">,</span> <span class="bp">self</span><span class="p">).</span><span class="n">__init__</span><span class="p">()</span> <span class="bp">self</span><span class="p">.</span><span class="n">weight</span> <span class="o">=</span> <span class="n">torch</span><span class="p">.</span><span class="n">nn</span><span class="p">.</span><span class="n">Parameter</span><span class="p">(</span><span class="n">torch</span><span class="p">.</span><span class="n">rand</span><span class="p">(</span><span class="n">N</span><span class="p">,</span> <span class="n">M</span><span class="p">))</span> <span class="k">def</span> <span class="nf">forward</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="nb">input</span><span class="p">):</span> <span class="k">if</span> <span class="nb">input</span><span class="p">.</span><span class="nb">sum</span><span class="p">()</span> <span class="o">></span> <span class="mi">0</span><span class="p">:</span> <span class="n">output</span> <span class="o">=</span> <span class="bp">self</span><span class="p">.</span><span class="n">weight</span><span class="p">.</span><span class="n">mv</span><span class="p">(</span><span class="nb">input</span><span class="p">)</span> <span class="k">else</span><span class="p">:</span> <span class="n">output</span> <span class="o">=</span> <span class="bp">self</span><span class="p">.</span><span class="n">weight</span> <span class="o">+</span> <span class="nb">input</span> <span class="k">return</span> <span class="n">output</span> <span class="c1"># Compile the model code to a static representation </span> <span class="n">my_script_module</span> <span class="o">=</span> <span class="n">torch</span><span class="p">.</span><span class="n">jit</span><span class="p">.</span><span class="n">script</span><span class="p">(</span><span class="n">MyModule</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">4</span><span class="p">))</span> <span class="c1"># Save the compiled code and model data so it can be loaded elsewhere </span> <span class="n">my_script_module</span><span class="p">.</span><span class="n">save</span><span class="p">(</span><span class="s">"my_script_module.pt"</span><span class="p">)</span> </code></pre></div></div> </div> </div> </div> <div class="col-md-6"> <div class="feature-content"> <h3>Production Ready</h3> <p>With TorchScript, PyTorch provides ease-of-use and flexibility in eager mode, while seamlessly transitioning to graph mode for speed, optimization, and functionality in C++ runtime environments.</p> </div> </div> </div> <div class="row features-row"> <div class="col-md-6"> <div class="feature-content"> <h3>TorchServe</h3> <p>TorchServe is an easy to use tool for deploying PyTorch models at scale. It is cloud and environment agnostic and supports features such as multi-model serving, logging, metrics and the creation of RESTful endpoints for application integration.</p> </div> </div> <div class="col-md-6"> <div class="feature-content"> <div class="feature-content-holder"> <div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="c1">## Convert the model from PyTorch to TorchServe format </span> <span class="n">torch</span><span class="o">-</span><span class="n">model</span><span class="o">-</span><span class="n">archiver</span> <span class="o">--</span><span class="n">model</span><span class="o">-</span><span class="n">name</span> <span class="n">densenet161</span> \ <span class="o">--</span><span class="n">version</span> <span class="mf">1.0</span> <span class="o">--</span><span class="n">model</span><span class="o">-</span><span class="nb">file</span> <span class="n">serve</span><span class="o">/</span><span class="n">examples</span><span class="o">/</span><span class="n">image_classifier</span><span class="o">/</span><span class="n">densenet_161</span><span class="o">/</span><span class="n">model</span><span class="p">.</span><span class="n">py</span> \ <span class="o">--</span><span class="n">serialized</span><span class="o">-</span><span class="nb">file</span> <span class="n">densenet161</span><span class="o">-</span><span class="mi">8</span><span class="n">d451a50</span><span class="p">.</span><span class="n">pth</span> \ <span class="o">--</span><span class="n">extra</span><span class="o">-</span><span class="n">files</span> <span class="n">serve</span><span class="o">/</span><span class="n">examples</span><span class="o">/</span><span class="n">image_classifier</span><span class="o">/</span><span class="n">index_to_name</span><span class="p">.</span><span class="n">json</span> \ <span class="o">--</span><span class="n">handler</span> <span class="n">image_classifier</span> <span class="c1">## Host your PyTorch model </span> <span class="n">torchserve</span> <span class="o">--</span><span class="n">start</span> <span class="o">--</span><span class="n">model</span><span class="o">-</span><span class="n">store</span> <span class="n">model_store</span> <span class="o">--</span><span class="n">models</span> <span class="n">densenet161</span><span class="o">=</span><span class="n">densenet161</span><span class="p">.</span><span class="n">mar</span> </code></pre></div></div> </div> </div> </div> </div> <div class="row features-row"> <div class="col-md-6"> <div class="feature-content"> <div class="feature-content-holder"> <div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="kn">import</span> <span class="nn">torch.distributed</span> <span class="k">as</span> <span class="n">dist</span> <span class="kn">from</span> <span class="nn">torch.nn.parallel</span> <span class="kn">import</span> <span class="n">DistributedDataParallel</span> <span class="n">dist</span><span class="p">.</span><span class="n">init_process_group</span><span class="p">(</span><span class="n">backend</span><span class="o">=</span><span class="s">'gloo'</span><span class="p">)</span> <span class="n">model</span> <span class="o">=</span> <span class="n">DistributedDataParallel</span><span class="p">(</span><span class="n">model</span><span class="p">)</span> </code></pre></div></div> </div> </div> </div> <div class="col-md-6"> <div class="feature-content"> <h3>Distributed Training</h3> <p>Optimize performance in both research and production by taking advantage of native support for asynchronous execution of collective operations and peer-to-peer communication that is accessible from Python and C++.</p> </div> </div> </div> <div class="row features-row"> <div class="col-md-6"> <div class="feature-content"> <h3>Mobile (Experimental)</h3> <p>PyTorch supports an end-to-end workflow from Python to deployment on iOS and Android. It extends the PyTorch API to cover common preprocessing and integration tasks needed for incorporating ML in mobile applications.</p> </div> </div> <div class="col-md-6"> <div class="feature-content"> <div class="feature-content-holder"> <div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="c1">## Save your model </span> <span class="n">torch</span><span class="p">.</span><span class="n">jit</span><span class="p">.</span><span class="n">script</span><span class="p">(</span><span class="n">model</span><span class="p">).</span><span class="n">save</span><span class="p">(</span><span class="s">"my_mobile_model.pt"</span><span class="p">)</span> <span class="c1">## iOS prebuilt binary </span> <span class="n">pod</span> <span class="err">‘</span><span class="n">LibTorch</span><span class="err">’</span> <span class="c1">## Android prebuilt binary </span> <span class="n">implementation</span> <span class="s">'org.pytorch:pytorch_android:1.3.0'</span> <span class="c1">## Run your model (Android example) </span> <span class="n">Tensor</span> <span class="nb">input</span> <span class="o">=</span> <span class="n">Tensor</span><span class="p">.</span><span class="n">fromBlob</span><span class="p">(</span><span class="n">data</span><span class="p">,</span> <span class="n">new</span> <span class="nb">long</span><span class="p">[]{</span><span class="mi">1</span><span class="p">,</span> <span class="n">data</span><span class="p">.</span><span class="n">length</span><span class="p">});</span> <span class="n">IValue</span> <span class="n">output</span> <span class="o">=</span> <span class="n">module</span><span class="p">.</span><span class="n">forward</span><span class="p">(</span><span class="n">IValue</span><span class="p">.</span><span class="n">tensor</span><span class="p">(</span><span class="nb">input</span><span class="p">));</span> <span class="nb">float</span><span class="p">[]</span> <span class="n">scores</span> <span class="o">=</span> <span class="n">output</span><span class="p">.</span><span class="n">getTensor</span><span class="p">().</span><span class="n">getDataAsFloatArray</span><span class="p">();</span> </code></pre></div></div> </div> </div> </div> </div> <div class="row features-row"> <div class="col-md-6"> <div class="feature-content"> <div class="feature-content-holder"> <div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="kn">import</span> <span class="nn">torchvision.models</span> <span class="k">as</span> <span class="n">models</span> <span class="n">resnet18</span> <span class="o">=</span> <span class="n">models</span><span class="p">.</span><span class="n">resnet18</span><span class="p">(</span><span class="n">pretrained</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span> <span class="n">alexnet</span> <span class="o">=</span> <span class="n">models</span><span class="p">.</span><span class="n">alexnet</span><span class="p">(</span><span class="n">pretrained</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span> <span class="n">squeezenet</span> <span class="o">=</span> <span class="n">models</span><span class="p">.</span><span class="n">squeezenet1_0</span><span class="p">(</span><span class="n">pretrained</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span> <span class="n">vgg16</span> <span class="o">=</span> <span class="n">models</span><span class="p">.</span><span class="n">vgg16</span><span class="p">(</span><span class="n">pretrained</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span> <span class="n">densenet</span> <span class="o">=</span> <span class="n">models</span><span class="p">.</span><span class="n">densenet161</span><span class="p">(</span><span class="n">pretrained</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span> <span class="n">inception</span> <span class="o">=</span> <span class="n">models</span><span class="p">.</span><span class="n">inception_v3</span><span class="p">(</span><span class="n">pretrained</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span> </code></pre></div></div> </div> </div> </div> <div class="col-md-6"> <div class="feature-content"> <h3>Robust Ecosystem</h3> <p>An active community of researchers and developers have built a rich ecosystem of tools and libraries for extending PyTorch and supporting development in areas from computer vision to reinforcement learning.</p> </div> </div> </div> <div class="row features-row"> <div class="col-md-6"> <div class="feature-content"> <h3>Native ONNX Support</h3> <p>Export models in the standard ONNX (Open Neural Network Exchange) format for direct access to ONNX-compatible platforms, runtimes, visualizers, and more.</p> </div> </div> <div class="col-md-6"> <div class="feature-content"> <div class="feature-content-holder"> <div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="kn">import</span> <span class="nn">torch.onnx</span> <span class="kn">import</span> <span class="nn">torchvision</span> <span class="n">dummy_input</span> <span class="o">=</span> <span class="n">torch</span><span class="p">.</span><span class="n">randn</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">224</span><span class="p">,</span> <span class="mi">224</span><span class="p">)</span> <span class="n">model</span> <span class="o">=</span> <span class="n">torchvision</span><span class="p">.</span><span class="n">models</span><span class="p">.</span><span class="n">alexnet</span><span class="p">(</span><span class="n">pretrained</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span> <span class="n">torch</span><span class="p">.</span><span class="n">onnx</span><span class="p">.</span><span class="n">export</span><span class="p">(</span><span class="n">model</span><span class="p">,</span> <span class="n">dummy_input</span><span class="p">,</span> <span class="s">"alexnet.onnx"</span><span class="p">)</span> </code></pre></div></div> </div> </div> </div> </div> <div class="row features-row"> <div class="col-md-6"> <div class="feature-content"> <div class="feature-content-holder"> <div class="language-cpp highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="cp">#include <torch/torch.h> </span> <span class="n">torch</span><span class="o">::</span><span class="n">nn</span><span class="o">::</span><span class="n">Linear</span> <span class="nf">model</span><span class="p">(</span><span class="n">num_features</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span> <span class="n">torch</span><span class="o">::</span><span class="n">optim</span><span class="o">::</span><span class="n">SGD</span> <span class="nf">optimizer</span><span class="p">(</span><span class="n">model</span><span class="o">-></span><span class="n">parameters</span><span class="p">());</span> <span class="k">auto</span> <span class="n">data_loader</span> <span class="o">=</span> <span class="n">torch</span><span class="o">::</span><span class="n">data</span><span class="o">::</span><span class="n">data_loader</span><span class="p">(</span><span class="n">dataset</span><span class="p">);</span> <span class="k">for</span> <span class="p">(</span><span class="kt">size_t</span> <span class="n">epoch</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">epoch</span> <span class="o"><</span> <span class="mi">10</span><span class="p">;</span> <span class="o">++</span><span class="n">epoch</span><span class="p">)</span> <span class="p">{</span> <span class="k">for</span> <span class="p">(</span><span class="k">auto</span> <span class="n">batch</span> <span class="o">:</span> <span class="n">data_loader</span><span class="p">)</span> <span class="p">{</span> <span class="k">auto</span> <span class="n">prediction</span> <span class="o">=</span> <span class="n">model</span><span class="o">-></span><span class="n">forward</span><span class="p">(</span><span class="n">batch</span><span class="p">.</span><span class="n">data</span><span class="p">);</span> <span class="k">auto</span> <span class="n">loss</span> <span class="o">=</span> <span class="n">loss_function</span><span class="p">(</span><span class="n">prediction</span><span class="p">,</span> <span class="n">batch</span><span class="p">.</span><span class="n">target</span><span class="p">);</span> <span class="n">loss</span><span class="p">.</span><span class="n">backward</span><span class="p">();</span> <span class="n">optimizer</span><span class="p">.</span><span class="n">step</span><span class="p">();</span> <span class="p">}</span> <span class="p">}</span> </code></pre></div></div> </div> </div> </div> <div class="col-md-6"> <div class="feature-content"> <h3>C++ Front-End</h3> <p>The C++ frontend is a pure C++ interface to PyTorch that follows the design and architecture of the established Python frontend. It is intended to enable research in high performance, low latency and bare metal C++ applications.</p> </div> </div> </div> <div class="row features-row"> <div class="col-md-6"> <div class="feature-content"> <h3>Cloud Support</h3> <p>PyTorch is well supported on major cloud platforms, providing frictionless development and easy scaling through prebuilt images, large scale training on GPUs, ability to run models in a production scale environment, and more.</p> </div> </div> <div class="col-md-6"> <div class="feature-content"> <div class="feature-content-holder"> <div class="language-sh highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="nb">export </span><span class="nv">IMAGE_FAMILY</span><span class="o">=</span><span class="s2">"pytorch-latest-cpu"</span> <span class="nb">export </span><span class="nv">ZONE</span><span class="o">=</span><span class="s2">"us-west1-b"</span> <span class="nb">export </span><span class="nv">INSTANCE_NAME</span><span class="o">=</span><span class="s2">"my-instance"</span> gcloud compute instances create <span class="nv">$INSTANCE_NAME</span> <span class="se">\</span> <span class="nt">--zone</span><span class="o">=</span><span class="nv">$ZONE</span> <span class="se">\</span> <span class="nt">--image-family</span><span class="o">=</span><span class="nv">$IMAGE_FAMILY</span> <span class="se">\</span> <span class="nt">--image-project</span><span class="o">=</span>deeplearning-platform-release </code></pre></div></div> </div> </div> </div> </div> </div> </div> </div> <div class="container-fluid quick-start-module quick-starts"> <div class="container"> <div class="row"> <div class="col-md-8 start-locally-col"> <h3>Install PyTorch</h3> <p>Select your preferences and run the install command. Stable represents the most currently tested and supported version of PyTorch. This should be suitable for many users. Preview is available if you want the latest, not fully tested and supported, builds that are generated nightly. Please ensure that you have <b>met the prerequisites below (e.g., numpy)</b>, depending on your package manager. You can also <a href="/get-started/previous-versions">install previous versions of PyTorch</a>. Note that LibTorch is only available for C++. </p> <p><b>NOTE:</b> Latest PyTorch requires Python 3.9 or later.</p> <div class="row"> <div class="col-md-3 headings"> <div class="col-md-12 title-block"> <div class="option-text">PyTorch Build</div> </div> <div class="col-md-12 title-block"> <div class="option-text os-text">Your OS</div> </div> <div class="col-md-12 title-block"> <div class="option-text">Package</div> </div> <div class="col-md-12 title-block"> <div class="option-text">Language</div> </div> <div class="col-md-12 title-block"> <div class="option-text">Compute Platform</div> </div> <div class="col-md-12 title-block command-block"> <div class="option-text command-text">Run this Command:</div> </div> </div> <div class="col-md-9"> <div class="row ptbuild"> <div class="col-md-12 title-block mobile-heading"> <div class="option-text">PyTorch Build</div> </div> <div class="col-md-6 option block version selected" id="stable"> <div class="option-text">Stable (1.13.0)</div> </div> <div class="col-md-6 option block version" id="preview"> <div class="option-text">Preview (Nightly)</div> </div> </div> <div class="row os"> <div class="col-md-12 title-block mobile-heading"> <div class="option-text">Your OS</div> </div> <div class="col-md-4 option block" id="linux"> <div class="option-text">Linux</div> </div> <div class="col-md-4 option block" id="macos"> <div class="option-text">Mac</div> </div> <div class="col-md-4 option block" id="windows"> <div class="option-text">Windows</div> </div> </div> <div class="row package"> <div class="col-md-12 title-block mobile-heading"> <div class="option-text">Package</div> </div> <div class="col-md-3 option block" id="conda"> <div class="option-text">Conda</div> </div> <div class="col-md-3 option block selected" id="pip"> <div class="option-text">Pip</div> </div> <div class="col-md-3 option block" id="libtorch"> <div class="option-text">LibTorch</div> </div> <div class="col-md-3 option block" id="source"> <div class="option-text">Source</div> </div> </div> <div class="row language"> <div class="col-md-12 title-block mobile-heading"> <div class="option-text">Language</div> </div> <div class="col-md-6 option block version selected" id="python"> <div class="option-text">Python</div> </div> <div class="col-md-6 option block" id="cplusplus"> <div class="option-text">C++ / Java</div> </div> </div> <div class="row cuda"> <div class="col-md-12 title-block mobile-heading"> <div class="option-text">Compute Platform</div> </div> <div class="col-md-2 option block version" id="cuda.x"> <div class="option-text">CUDA 11.8</div> </div> <div class="col-md-2 option block version" id="cuda.y"> <div class="option-text">CUDA 12.1</div> </div> <div class="col-md-2 option block version" id="cuda.z"> <div class="option-text">CUDA 12.4</div> </div> <div class="col-md-3 option block version" id="rocm5.x"> <div class="option-text">ROCm 5.2</div> </div> <div class="col-md-3 option block version" id="accnone"> <div class="option-text">CPU</div> </div> </div> <div class="row"> <div class="col-md-12 title-block command-mobile-heading"> <div class="option-text">Run this Command:</div> </div> <div class="command-container"> <div class="col-md-12" id="command">conda install pytorch torchvision -c pytorch</div> </div> </div> </div> </div> <br> <a href="/get-started/previous-versions" class="btn btn-lg with-right-arrow btn-white prev-versions-btn"> Previous versions of PyTorch </a> </div> <div class="col-md-3 offset-md-1 cloud-options-col"> <h3>Quick Start With<br />Cloud Partners</h3> <p>Get up and running with PyTorch quickly through popular cloud platforms and machine learning services.</p> <div class="quick-start-guides"> <div class="cloud-option-row"> <div class="cloud-option" data-toggle="cloud-dropdown"> <div class="cloud-option-body aws" id="aws"> Amazon Web Services </div> <ul> <li><a href="https://aws.amazon.com/pytorch/">PyTorch on AWS</a></li> <li><a href="https://aws.amazon.com/sagemaker">Amazon SageMaker</a></li> <li><a href="https://docs.aws.amazon.com/deep-learning-containers/latest/devguide/deep-learning-containers-ec2-tutorials-training.html#deep-learning-containers-ec2-tutorials-training-pytorch">AWS Deep Learning Containers</a></li> <li><a href="https://docs.aws.amazon.com/dlami/latest/devguide/tutorial-pytorch.html">AWS Deep Learning AMIs</a></li> </ul> </div> </div> <div class="cloud-option-row"> <div class="cloud-option" data-toggle="cloud-dropdown"> <div class="cloud-option-body google-cloud" id="google-cloud"> Google Cloud Platform </div> <ul> <li><a href="https://cloud.google.com/deep-learning-vm/docs/pytorch_start_instance">Cloud Deep Learning VM Image</a></li> </ul> <ul> <li><a href="https://cloud.google.com/ai-platform/deep-learning-containers/">Deep Learning Containers</a></li> </ul> </div> </div> <div class="cloud-option-row"> <div class="cloud-option" data-toggle="cloud-dropdown"> <div class="cloud-option-body microsoft-azure" id="microsoft-azure"> <p>Microsoft Azure</p> </div> <ul> <li><a href="https://azure.microsoft.com/en-us/develop/pytorch/">PyTorch on Azure</a></li> <li><a href="https://docs.microsoft.com/en-us/azure/machine-learning/how-to-train-pytorch">Azure Machine Learning</a></li> <li><a href="https://docs.microsoft.com/en-us/azure/azure-functions/machine-learning-pytorch?tabs=bash">Azure Functions</a></li> </ul> </div> </div> <div class="cloud-option-row"> <div class="cloud-option" data-toggle="cloud-dropdown"> <div class="cloud-option-body lightning-studios" id="lightning-studios"> Lightning Studios </div> <ul> <li><a href="https://lightning.ai/">lightning.ai</a></li> </ul> </div> </div> </div> </div> </div> </div> </div> <script src="/assets/quick-start-module.js"></script> <div class="container-fluid docs-tutorials-resources"> <div class="container"> <div class="row"> <div class="col-md-4 text-center"> <h2>Docs</h2> <p>Access comprehensive developer documentation for PyTorch</p> <a class="with-right-arrow" href="/docs">View Docs</a> </div> <div class="col-md-4 text-center"> <h2>Tutorials</h2> <p>Get in-depth tutorials for beginners and advanced developers</p> <a class="with-right-arrow" href="https://pytorch.org/tutorials">View Tutorials</a> </div> <div class="col-md-4 text-center"> <h2>Resources</h2> <p>Find development resources and get your questions answered</p> <a class="with-right-arrow" href="/resources">View Resources</a> </div> </div> </div> </div> <footer class="site-footer"> <div class="container footer-container"> <div class="newsletter" id="newsletter"> <p class="newsletter__title is-style-max-width-800"><strong>Stay in touch</strong> for updates, event info, and the latest news</p> <script charset="utf-8" type="text/javascript" src="//js.hsforms.net/forms/embed/v2.js"></script> <script> hbspt.forms.create({ region: "na1", portalId: "8112310", formId: "2fb2231c-000b-4ec5-88a0-1ab242549c9e" }); </script> <p class="newsletter__privacy">By submitting this form, I consent to receive marketing emails from the LF and its projects regarding their events, training, research, developments, and related announcements. I understand that I can unsubscribe at any time using the links in the footers of the emails I receive. <a href="https://www.linuxfoundation.org/privacy/">Privacy Policy</a>.</p> </div> <div class="lf-grid"> <div class="footer-logo-wrapper"> <a href="https://pytorch.org" class="footer-logo"> <img src="/assets/images/logo-icon.svg" alt="PyTorch logo" width="40"> </a> </div> <ul class="social-links"> <li><a href="https://www.facebook.com/pytorch" target="_blank" title="PyTorch on Facebook"> <svg xmlns="http://www.w3.org/2000/svg" viewbox="-0.51 -0.26 26.45 26.45" aria-label="Facebook"><path fill="currentColor" d="M25.497 13.075c0-2.45-.698-4.848-2.011-6.911a12.765 12.765 0 0 0-5.398-4.73A12.671 12.671 0 0 0 11.008.38a12.705 12.705 0 0 0-6.529 2.95A12.827 12.827 0 0 0 .563 9.358a12.896 12.896 0 0 0-.07 7.201 12.831 12.831 0 0 0 3.801 6.103 12.709 12.709 0 0 0 6.471 3.078v-8.957H7.53v-3.708h3.235v-2.824c0-3.213 1.903-4.988 4.813-4.988.956.014 1.909.097 2.852.25V8.67h-1.607a1.83 1.83 0 0 0-1.518.497 1.854 1.854 0 0 0-.561 1.505v2.404h3.535l-.563 3.708h-2.97v8.957a12.725 12.725 0 0 0 7.697-4.337 12.87 12.87 0 0 0 3.054-8.328z"/></svg> </a></li> <li><a href="https://twitter.com/pytorch" target="_blank" title="PyTorch on X"> <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 300 300" aria-label="X"><path fill="currentColor" d="M178.57 127.15 290.27 0h-26.46l-97.03 110.38L89.34 0H0l117.13 166.93L0 300.25h26.46l102.4-116.59 81.8 116.59h89.34M36.01 19.54H76.66l187.13 262.13h-40.66"/></svg> </a></li> <li><a href="https://www.youtube.com/pytorch" target="_blank" title="PyTorch on YouTube"> <svg xmlns="http://www.w3.org/2000/svg" viewbox="0.21 0.27 34.45 25.07" aria-label="YouTube"><path fill="currentColor" d="M33.729 6.084s-.327-2.33-1.317-3.356a4.691 4.691 0 0 0-3.32-1.432c-4.634-.34-11.589-.34-11.589-.34h-.014s-6.954 0-11.59.342a4.692 4.692 0 0 0-3.32 1.432c-.993 1.025-1.315 3.354-1.315 3.354a52.189 52.189 0 0 0-.331 5.473v2.566c.014 1.829.125 3.656.331 5.472 0 0 .322 2.33 1.316 3.36 1.26 1.345 2.916 1.3 3.653 1.445 2.65.26 11.263.34 11.263.34s6.96-.01 11.597-.353a4.691 4.691 0 0 0 3.32-1.432c.993-1.026 1.316-3.356 1.316-3.356.206-1.817.316-3.644.33-5.473v-2.57a52.26 52.26 0 0 0-.33-5.472zM14.076 17.232V7.729l8.951 4.768-8.95 4.735z"/></svg> </a></li> <li><a href="https://www.linkedin.com/company/pytorch" target="_blank" title="PyTorch on LinkedIn"> <svg xmlns="http://www.w3.org/2000/svg" viewbox="-10.23 -10.23 531.96 531.96" aria-label="LinkedIn"><rect width="512" height="512" rx="0" fill="currentColor"/><circle fill="#000" cx="142" cy="138" r="37"/><path stroke="#000" stroke-width="66" d="M244 194v198M142 194v198"/><path fill="#000" d="M276 282c0-20 13-40 36-40 24 0 33 18 33 45v105h66V279c0-61-32-89-76-89-34 0-51 19-59 32"/></svg> </a></li> <li><a href="https://join.slack.com/t/pytorch/shared_invite/zt-2j2la612p-miUinTTaxXczKOJw48poHA" target="_blank" title="PyTorch Slack"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0.16 -0.03 21.19 21.19" aria-label="Slack"><path fill="currentColor" d="M4.896 13.27a2.147 2.147 0 0 1-2.141 2.142A2.147 2.147 0 0 1 .613 13.27c0-1.178.963-2.141 2.142-2.141h2.141v2.141zm1.08 0c0-1.178.962-2.141 2.141-2.141s2.142.963 2.142 2.141v5.363a2.147 2.147 0 0 1-2.142 2.141 2.147 2.147 0 0 1-2.141-2.142V13.27zm2.141-8.6a2.147 2.147 0 0 1-2.141-2.14c0-1.18.962-2.142 2.141-2.142s2.142.963 2.142 2.141v2.142H8.117zm0 1.08c1.179 0 2.141.962 2.141 2.141a2.147 2.147 0 0 1-2.141 2.142H2.755A2.147 2.147 0 0 1 .613 7.89c0-1.179.963-2.141 2.142-2.141h5.362zm8.599 2.141c0-1.179.963-2.141 2.141-2.141 1.179 0 2.143.962 2.143 2.14a2.147 2.147 0 0 1-2.142 2.142h-2.141V7.89zm-1.08 0a2.147 2.147 0 0 1-2.141 2.142 2.147 2.147 0 0 1-2.141-2.142V2.53c0-1.178.962-2.141 2.141-2.141s2.142.963 2.142 2.141v5.362zm-2.141 8.6c1.179 0 2.142.962 2.142 2.14a2.147 2.147 0 0 1-2.142 2.142 2.147 2.147 0 0 1-2.141-2.141V16.49h2.141zm0-1.08a2.147 2.147 0 0 1-2.141-2.141c0-1.179.962-2.142 2.141-2.142h5.362c1.179 0 2.142.963 2.142 2.142a2.147 2.147 0 0 1-2.142 2.142h-5.362z"></path></svg> </a></li> <li><a href="/wechat" title="PyTorch on WeChat"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0.14 -0.17 38.02 33.02" aria-label="WeChat"><path fill="currentColor" d="M26.289 10.976a12.972 12.972 0 0 0-8.742 3.53 10.386 10.386 0 0 0-3.224 8.795c-1.326-.164-2.535-.345-3.75-.448a2.332 2.332 0 0 0-1.273.216c-1.18.666-2.311 1.418-3.652 2.255.246-1.112.405-2.087.687-3.024a1.15 1.15 0 0 0-.523-1.52C1.737 17.902.02 13.601 1.307 9.165c1.189-4.1 4.11-6.587 8.077-7.884A13.54 13.54 0 0 1 24.18 5.617a10.135 10.135 0 0 1 2.109 5.359zM10.668 9.594a1.564 1.564 0 0 0-2.095-1.472 1.52 1.52 0 0 0-.895 1.964 1.502 1.502 0 0 0 1.391.966 1.545 1.545 0 0 0 1.598-1.46v.002zm8.15-1.566a1.567 1.567 0 0 0-1.528 1.543 1.528 1.528 0 0 0 1.571 1.492 1.52 1.52 0 0 0 1.375-2.117 1.518 1.518 0 0 0-1.415-.919l-.003.001z"></path><path fill="currentColor" d="M33.914 32.137c-1.075-.478-2.062-1.196-3.11-1.306-1.049-.11-2.145.494-3.24.605a10.821 10.821 0 0 1-8.781-2.864c-4.682-4.33-4.013-10.97 1.403-14.518 4.811-3.154 11.874-2.102 15.268 2.273a8.671 8.671 0 0 1-1.002 12.095c-1.046.929-1.422 1.693-.751 2.917.102.257.174.525.213.798zM21.68 20.292a1.264 1.264 0 1 0 .01-2.528 1.264 1.264 0 0 0-.01 2.528zm7.887-2.526a1.266 1.266 0 0 0-1.256 1.21 1.247 1.247 0 1 0 1.256-1.21z"></path></svg> </a></li> </ul> </div> <div class="privacy-policy"> <div class="copyright"> <p>© Copyright The Linux Foundation. The PyTorch Foundation is a project of The Linux Foundation. For web site terms of use, trademark policy and other policies applicable to The PyTorch Foundation please see <a href="https://www.linuxfoundation.org/legal/policies/">Linux Foundation Policies</a>. The PyTorch Foundation supports the PyTorch open source project, which has been established as PyTorch Project a Series of LF Projects, LLC. For policies applicable to the PyTorch Project a Series of LF Projects, LLC, please see <a href="https://www.lfprojects.org/policies/">LF Projects, LLC Policies</a>. <a href="https://www.linuxfoundation.org/privacy">Privacy Policy</a> and <a href="https://www.linuxfoundation.org/terms">Terms of Use</a>.</p> </div> </div> </div> <img height="1" width="1" style="border-style:none;" alt="" src="https://www.googleadservices.com/pagead/conversion/795629140/?label=txkmCPmdtosBENSssfsC&guid=ON&script=0"/> </footer> <div class="mobile-main-menu"> <div class="container-fluid"> <div class="container"> <div class="mobile-main-menu-header-container"> <a class="header-logo" href="https://pytorch.org" aria-label="PyTorch"></a> <a class="main-menu-close-button" href="#" data-behavior="close-mobile-menu"></a> </div> </div> </div> <div class="mobile-main-menu-links-container"> <div class="main-menu"> <ul> <li class="navSearchWrapper reactNavSearchWrapper tabletSearchWrapper" key="search"> <div class="mobile-search-border"> <input id="mobile-search-input" type="text" title="Search" /> <div id="mobile-search-icon"></div> </div> </li> <li class="resources-mobile-menu-title"> <a>Learn</a> </li> <ul class="resources-mobile-menu-items"> <li> <a href="/get-started">Get Started</a> </li> <li> <a href="https://pytorch.org/tutorials">Tutorials</a> </li> <li> <a href="https://pytorch.org/tutorials/beginner/basics/intro.html">Learn the Basics</a> </li> <li> <a href="https://pytorch.org/tutorials/recipes/recipes_index.html">PyTorch Recipes</a> </li> <li> <a href="https://pytorch.org/tutorials/beginner/introyt.html">Introduction to PyTorch - YouTube Series</a> </li> </ul> <li class="resources-mobile-menu-title"> <a>Ecosystem</a> </li> <ul class="resources-mobile-menu-items"> <li> <a href="/ecosystem">Tools</a> </li> <li> <a href="/#community-module">Community</a> </li> <li> <a href="https://discuss.pytorch.org">Forums</a> </li> <li> <a href="/resources">Developer Resources</a> </li> <li> <a href="/ecosystem/contributor-awards-2024">Contributor Awards - 2024</a> </li> </ul> <li class="resources-mobile-menu-title"> <a>Edge</a> </li> <ul class="resources-mobile-menu-items"> <li> <a href="/edge">About PyTorch Edge</a> </li> <li> <a href="/executorch-overview">ExecuTorch</a> </li> <li> <a href="https://pytorch.org/executorch/stable/index.html">ExecuTorch Documentation</a> </li> </ul> <li class="resources-mobile-menu-title"> <a>Docs</a> </li> <ul class="resources-mobile-menu-items"> <li> <a href="https://pytorch.org/docs">PyTorch</a> </li> <li> <a href="/pytorch-domains">PyTorch Domains</a> </li> </ul> <li class="resources-mobile-menu-title"> <a>Blog & News</a> </li> <ul class="resources-mobile-menu-items"> <li> <a href="/blog">PyTorch Blog</a> </li> <li> <a href="/community-blog">Community Blog</a> </li> <li> <a href="/videos">Videos</a> </li> <li> <a href="/community-stories">Community Stories</a> </li> <li> <a href="/events">Events</a> </li> <li> <a href="/newsletter">Newsletter</a> </li> </ul> <li class="resources-mobile-menu-title"> <a>About</a> </li> <ul class="resources-mobile-menu-items"> <li> <a href="/foundation">PyTorch Foundation</a> </li> <li> <a href="/governing-board">Governing Board</a> </li> <li> <a href="/credits">Cloud Credit Program</a> </li> <li> <a href="/tac">Technical Advisory Council</a> </li> <li> <a href="/staff">Staff</a> </li> <li> <a href="/contact-us">Contact Us</a> </li> </ul> <li class="resources-mobile-menu-title"> <a href="/join">Become a Member</a> </li> <li class="resources-mobile-menu-title"> <a href="https://github.com/pytorch/pytorch" title="Go to PyTorch GitHub"><div id="topnav-gh-icon"></div></a> </li> </ul> </div> </div> </div> <script src="/assets/mobile-menu.js"></script> <script src="/assets/scroll-to-anchor.js"></script> <script src="/assets/external-links-new-tab.js"></script> <script src="/assets/search-bar.js"></script> <script src="/assets/cookie-banner.js"></script> <script type="text/javascript"> mobileMenu.bind(); anchors.add('.pytorch-article h2, .pytorch-article h3, .pytorch-article h4, .pytorch-article h5'); // Add class to links that have code blocks, since we cannot create links in code blocks $("a code.highlighter-rouge").each(function(e) { $(this).closest("a").addClass("has-code"); }); scrollToAnchor.bind(); var hasStaticHeader = $(".blog-header, .blog-detail-header, .resources-header, .get-started-header, .features-header, .ecosystem-header, .hub-header, .mobile-header, .announcement-header, .comm-stories-header").length > 0; if (!hasStaticHeader) { $(window).on("scroll", function() { var top = $(this).scrollTop(); var fullPosition = $(".main-background").height() - $(".header-holder").height(); if (top <= 40) { $(".header-holder").css({"backgroundColor": "rgba(0, 0, 0, 0.165)"}); } else if (top >= fullPosition) { $(".header-holder").css({"backgroundColor": "#000000"}); } else { var bgColor = "rgba(0, 0, 0, " + top / fullPosition + ")"; $(".header-holder").css({"backgroundColor": bgColor}); } }); } </script> <script src="/assets/track-events.js"></script> <script>trackEvents.bind();</script> <div class="cookie-banner-wrapper"> <div class="container"> <p class="gdpr-notice">To analyze traffic and optimize your experience, we serve cookies on this site. By clicking or navigating, you agree to allow our usage of cookies. As the current maintainers of this site, Facebook’s Cookies Policy applies. Learn more, including about available controls: <a href="https://www.facebook.com/policies/cookies/">Cookies Policy</a>.</p> <img class="close-button" src="/assets/images/pytorch-x.svg"> </div> </div> </body> </html>