api/file_torch_library.h.html (563 lines of code) (raw):

<!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>File library.h &mdash; PyTorch master documentation</title> <link rel="canonical" href="https://pytorch.org/docs/stable/api/file_torch_library.h.html"/> <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" /> <!-- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> --> <link rel="stylesheet" href="../_static/cpp_theme.css" type="text/css" /> <link rel="stylesheet" href="../_static/collapsible-lists/css/tree_view.css" type="text/css" /> <link rel="index" title="Index" href="../genindex.html" /> <link rel="search" title="Search" href="../search.html" /> <!-- Google Analytics --> <!-- End Google Analytics --> <script src="../_static/js/modernizr.min.js"></script> <!-- Preload the theme fonts --> <link rel="preload" href="../_static/fonts/FreightSans/freight-sans-book.woff2" as="font" type="font/woff2" crossorigin="anonymous"> <link rel="preload" href="../_static/fonts/FreightSans/freight-sans-medium.woff2" as="font" type="font/woff2" crossorigin="anonymous"> <link rel="preload" href="../_static/fonts/IBMPlexMono/IBMPlexMono-Medium.woff2" as="font" type="font/woff2" crossorigin="anonymous"> <link rel="preload" href="../_static/fonts/FreightSans/freight-sans-bold.woff2" as="font" type="font/woff2" crossorigin="anonymous"> <link rel="preload" href="../_static/fonts/FreightSans/freight-sans-medium-italic.woff2" as="font" type="font/woff2" crossorigin="anonymous"> <link rel="preload" href="../_static/fonts/IBMPlexMono/IBMPlexMono-SemiBold.woff2" as="font" type="font/woff2" crossorigin="anonymous"> <!-- Preload the katex fonts --> <link rel="preload" href="https://cdn.jsdelivr.net/npm/katex@0.10.0/dist/fonts/KaTeX_Math-Italic.woff2" as="font" type="font/woff2" crossorigin="anonymous"> <link rel="preload" href="https://cdn.jsdelivr.net/npm/katex@0.10.0/dist/fonts/KaTeX_Main-Regular.woff2" as="font" type="font/woff2" crossorigin="anonymous"> <link rel="preload" href="https://cdn.jsdelivr.net/npm/katex@0.10.0/dist/fonts/KaTeX_Main-Bold.woff2" as="font" type="font/woff2" crossorigin="anonymous"> <link rel="preload" href="https://cdn.jsdelivr.net/npm/katex@0.10.0/dist/fonts/KaTeX_Size1-Regular.woff2" as="font" type="font/woff2" crossorigin="anonymous"> <link rel="preload" href="https://cdn.jsdelivr.net/npm/katex@0.10.0/dist/fonts/KaTeX_Size4-Regular.woff2" as="font" type="font/woff2" crossorigin="anonymous"> <link rel="preload" href="https://cdn.jsdelivr.net/npm/katex@0.10.0/dist/fonts/KaTeX_Size2-Regular.woff2" as="font" type="font/woff2" crossorigin="anonymous"> <link rel="preload" href="https://cdn.jsdelivr.net/npm/katex@0.10.0/dist/fonts/KaTeX_Size3-Regular.woff2" as="font" type="font/woff2" crossorigin="anonymous"> <link rel="preload" href="https://cdn.jsdelivr.net/npm/katex@0.10.0/dist/fonts/KaTeX_Caligraphic-Regular.woff2" as="font" type="font/woff2" crossorigin="anonymous"> <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.15.2/css/all.css" integrity="sha384-vSIIfh2YWi9wW0r9iZe7RJPrKwp6bG+s9QZMoITbCckVJqGCCRhc+ccxNcdpHuYu" crossorigin="anonymous"> </head> <div class="container-fluid header-holder tutorials-header" id="header-holder"> <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> <a href="https://pytorch.org/get-started">Get Started</a> </li> <li> <a href="https://pytorch.org/ecosystem">Ecosystem</a> </li> <li> <a href="https://pytorch.org/mobile">Mobile</a> </li> <li> <a href="https://pytorch.org/blog/">Blog</a> </li> <li> <a href="https://pytorch.org/tutorials">Tutorials</a> </li> <li class="active docs-active"> <div id="resourcesDropdownButton" data-toggle="resources-dropdown" class="resources-dropdown"> <a class="resource-option with-down-orange-arrow"> Docs </a> <div class="resources-dropdown-menu"> <a class="doc-dropdown-option nav-dropdown-item" href="https://pytorch.org/docs/stable/index.html"> <span class="dropdown-title">PyTorch</span> <p></p> </a> <a class="doc-dropdown-option nav-dropdown-item" href="https://pytorch.org/audio/stable/index.html"> <span class="dropdown-title">torchaudio</span> <p></p> </a> <a class="doc-dropdown-option nav-dropdown-item" href="https://pytorch.org/text/stable/index.html"> <span class="dropdown-title">torchtext</span> <p></p> </a> <a class="doc-dropdown-option nav-dropdown-item" href="https://pytorch.org/vision/stable/index.html"> <span class="dropdown-title">torchvision</span> <p></p> </a> <a class="doc-dropdown-option nav-dropdown-item" href="https://pytorch.org/torchrec"> <span class="dropdown-title">TorchRec</span> <p></p> </a> <a class="doc-dropdown-option nav-dropdown-item" href="https://pytorch.org/data"> <span class="dropdown-title">TorchData</span> <p></p> </a> <a class="doc-dropdown-option nav-dropdown-item" href="https://pytorch.org/serve/"> <span class="dropdown-title">TorchServe</span> <p></p> </a> <a class="doc-dropdown-option nav-dropdown-item" href="https://pytorch.org/xla"> <span class="dropdown-title">PyTorch on XLA Devices</span> <p></p> </a> </div> </li> <li> <div id="resourcesDropdownButton" data-toggle="resources-dropdown" class="resources-dropdown"> <a class="resource-option with-down-arrow"> Resources </a> <div class="resources-dropdown-menu"> <a class="nav-dropdown-item" href="https://pytorch.org/features"> <span class="dropdown-title">About</span> <p>Learn about PyTorch’s features and capabilities</p> </a> <a class="nav-dropdown-item" href="https://pytorch.org/#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://pytorch.org/resources"> <span class="dropdown-title">Developer Resources</span> <p>Find resources and get 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="https://pytorch.org/hub"> <span class="dropdown-title">Models (Beta)</span> <p>Discover, publish, and reuse pre-trained models</p> </a> </div> </div> </li> <li> <a href="https://github.com/pytorch/pytorch">GitHub</a> </li> </ul> </div> <a class="main-menu-open-button" href="#" data-behavior="open-mobile-menu"></a> </div> </div> </div> <body class="pytorch-body"> <div class="table-of-contents-link-wrapper"> <span>Table of Contents</span> <a href="#" class="toggle-table-of-contents" data-behavior="toggle-table-of-contents"></a> </div> <nav data-toggle="wy-nav-shift" class="pytorch-left-menu" id="pytorch-left-menu"> <div class="pytorch-side-scroll"> <div class="pytorch-menu pytorch-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <div class="pytorch-left-menu-search"> <div class="version"> master </div> <div role="search"> <form id="rtd-search-form" class="wy-form" action="../search.html" method="get"> <input type="text" name="q" placeholder="Search Docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <ul> <li class="toctree-l1"><a class="reference internal" href="../installing.html">Installing C++ Distributions of PyTorch</a></li> <li class="toctree-l1"><a class="reference internal" href="../frontend.html">The C++ Frontend</a></li> <li class="toctree-l1"><a class="reference internal" href="library_root.html">Library API</a></li> </ul> <p class="caption"><span class="caption-text">Notes</span></p> <ul> <li class="toctree-l1"><a class="reference internal" href="../notes/faq.html">FAQ</a></li> <li class="toctree-l1"><a class="reference internal" href="../notes/inference_mode.html">Inference Mode</a></li> <li class="toctree-l1"><a class="reference internal" href="../notes/maybe_owned.html">MaybeOwned&lt;Tensor&gt;</a></li> <li class="toctree-l1"><a class="reference internal" href="../notes/tensor_basics.html">Tensor Basics</a></li> <li class="toctree-l1"><a class="reference internal" href="../notes/tensor_creation.html">Tensor Creation API</a></li> <li class="toctree-l1"><a class="reference internal" href="../notes/tensor_cuda_stream.html">Tensor CUDA Stream API</a></li> <li class="toctree-l1"><a class="reference internal" href="../notes/tensor_indexing.html">Tensor Indexing API</a></li> <li class="toctree-l1"><a class="reference internal" href="../notes/versioning.html">Library Versioning</a></li> </ul> </div> </div> </nav> <div class="pytorch-container"> <div class="pytorch-page-level-bar" id="pytorch-page-level-bar"> <div class="pytorch-breadcrumbs-wrapper"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="pytorch-breadcrumbs"> <li> <a href="../index.html"> Docs </a> &gt; </li> <li>File library.h</li> <li class="pytorch-breadcrumbs-aside"> <!-- User defined GitHub URL --> <a href="https://github.com/pytorch/pytorch" class="fa fa-github"> Edit on GitHub</a> </li> </ul> </div> </div> <div class="pytorch-shortcuts-wrapper" id="pytorch-shortcuts-wrapper"> Shortcuts </div> </div> <section data-toggle="wy-nav-shift" id="pytorch-content-wrap" class="pytorch-content-wrap"> <div class="pytorch-content-left"> <div class="rst-content"> <div role="main" class="main-content" itemscope="itemscope" itemtype="http://schema.org/Article"> <article itemprop="articleBody" id="pytorch-article" class="pytorch-article"> <div class="section" id="file-library-h"> <span id="file-torch-library-h"></span><h1>File library.h<a class="headerlink" href="#file-library-h" title="Permalink to this headline">¶</a></h1> <p>↰ <a class="reference internal" href="dir_torch.html#dir-torch"><span class="std std-ref">Parent directory</span></a> (<code class="docutils literal notranslate"><span class="pre">torch</span></code>)</p> <p>This header provides an API for extending PyTorch’s core library of operators with user defined operators and data types.</p> <div class="contents local topic" id="page-contents"> <p class="topic-title">Page Contents</p> <ul class="simple"> <li><p><a class="reference internal" href="#definition-torch-library-h" id="id1">Definition (<code class="docutils literal notranslate"><span class="pre">torch/library.h</span></code>)</a></p></li> <li><p><a class="reference internal" href="#detailed-description" id="id2">Detailed Description</a></p></li> <li><p><a class="reference internal" href="#includes" id="id3">Includes</a></p></li> <li><p><a class="reference internal" href="#included-by" id="id4">Included By</a></p></li> <li><p><a class="reference internal" href="#namespaces" id="id5">Namespaces</a></p></li> <li><p><a class="reference internal" href="#classes" id="id6">Classes</a></p></li> <li><p><a class="reference internal" href="#functions" id="id7">Functions</a></p></li> <li><p><a class="reference internal" href="#defines" id="id8">Defines</a></p></li> </ul> </div> <div class="section" id="definition-torch-library-h"> <h2>Definition (<code class="docutils literal notranslate"><span class="pre">torch/library.h</span></code>)<a class="headerlink" href="#definition-torch-library-h" title="Permalink to this headline">¶</a></h2> <div class="toctree-wrapper compound"> <ul> <li class="toctree-l1"><a class="reference internal" href="program_listing_file_torch_library.h.html">Program Listing for File library.h</a></li> </ul> </div> </div> <div class="section" id="detailed-description"> <h2>Detailed Description<a class="headerlink" href="#detailed-description" title="Permalink to this headline">¶</a></h2> <p>This API can be used in a few ways:</p> <ul class="simple"> <li><p>You can define new custom operators and classes with <a class="reference internal" href="define_library_8h_1a0bd5fb09d25dfb58e750d712fc5afb84.html#exhale-define-library-8h-1a0bd5fb09d25dfb58e750d712fc5afb84"><span class="std std-ref">Define TORCH_LIBRARY</span></a>, making them available for use in both eager Python as well as in TorchScript. This API is modeled off of pybind11’s <code class="docutils literal notranslate"><span class="pre">PYBIND11_MODULE</span></code> macro, as the provided functionality is similar (pybind11 lets you bind C++ to Python only; <code class="docutils literal notranslate"><span class="pre">torch/library.h</span></code> lets you bind C++ simultaneously to Python and TorchScript).</p></li> <li><p>You can override existing operators with <a class="reference internal" href="define_library_8h_1a800b28569c0f7d0d9732bf8b6342d9f3.html#exhale-define-library-8h-1a800b28569c0f7d0d9732bf8b6342d9f3"><span class="std std-ref">Define TORCH_LIBRARY_IMPL</span></a>, providing a new implementation for these operators for a custom backend (e.g., XLA). When you pass operators with tensors of your custom backend, your overridden implementations will be called instead of the standard implementations.</p></li> <li><p>You can use both capabilities at the same time, allowing you to write custom operators that register CPU/CUDA/Autograd implementations without having to write the boilerplate conditionals yourself.</p></li> </ul> <p>For a tutorial style introduction to the library API, check out the Extending TorchScript with Custom C++ Operators tutorial. //Definealibrarywhoseoperatorsliveinthenamespace’myops’. //Youmustdefinealloftheoperatorsforthislibraryin //thisnamespace. TORCH_LIBRARY(myops,m){ //Defineaoperatorwithexactlyoneimplementationforallbackends. m.def(“add(Tensorself,Tensorother)-&gt;Tensor”,&amp;add_impl);</p> <p>//Defineaschemaforanoperator,butprovidenoimplementation //(usethissyntaxifyouwanttousethedispatcher) m.def(“mul(Tensorself,Tensorother)-&gt;Tensor”);</p> <p>//Provideanimplementationforadefinedoperator(youcan //providemultiple;oneperbackend).Thedispatchertakescareof //callingthecorrectimplementationdependingonifwegetaCPU //tensororaCUDAtensor m.impl(“mul”,torch::kCPU,&amp;mul_cpu_impl); m.impl(“mul”,torch::kCUDA,&amp;mul_cuda_impl); }</p> <p>//Defineimplementationsforoperatorsforanon-standardbackend, //e.g.,XLA(validvaluesareentriesofDispatchKey).Thiscan //beusedtodefineoperatorsinadifferentfilethantheinitial //TORCH_LIBRARYdefinition(e.g.,ifitisinanexternallibrary) TORCH_LIBRARY_IMPL(myops,XLA,m){ m.impl(“mul”,&amp;mul_xla_impl); }</p> </div> <div class="section" id="includes"> <h2>Includes<a class="headerlink" href="#includes" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li><p><code class="docutils literal notranslate"><span class="pre">ATen/core/op_registration/infer_schema.h</span></code></p></li> <li><p><code class="docutils literal notranslate"><span class="pre">ATen/core/op_registration/op_allowlist.h</span></code></p></li> <li><p><code class="docutils literal notranslate"><span class="pre">ATen/core/op_registration/op_registration.h</span></code></p></li> <li><p><code class="docutils literal notranslate"><span class="pre">c10/core/DispatchKey.h</span></code></p></li> <li><p><code class="docutils literal notranslate"><span class="pre">torch/csrc/jit/frontend/function_schema_parser.h</span></code></p></li> <li><p><code class="docutils literal notranslate"><span class="pre">torch/custom_class.h</span></code> (<a class="reference internal" href="file_torch_custom_class.h.html#file-torch-custom-class-h"><span class="std std-ref">File custom_class.h</span></a>)</p></li> </ul> </div> <div class="section" id="included-by"> <h2>Included By<a class="headerlink" href="#included-by" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li><p><a class="reference internal" href="file_torch_csrc_api_include_torch_types.h.html#file-torch-csrc-api-include-torch-types-h"><span class="std std-ref">File types.h</span></a></p></li> <li><p><a class="reference internal" href="file_torch_custom_class.h.html#file-torch-custom-class-h"><span class="std std-ref">File custom_class.h</span></a></p></li> </ul> </div> <div class="section" id="namespaces"> <h2>Namespaces<a class="headerlink" href="#namespaces" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li><p><a class="reference internal" href="namespace_torch.html#namespace-torch"><span class="std std-ref">Namespace torch</span></a></p></li> <li><p><a class="reference internal" href="namespace_torch__detail.html#namespace-torch-detail"><span class="std std-ref">Namespace torch::detail</span></a></p></li> </ul> </div> <div class="section" id="classes"> <h2>Classes<a class="headerlink" href="#classes" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li><p><a class="reference internal" href="classtorch_1_1class__.html#exhale-class-classtorch-1-1class"><span class="std std-ref">Template Class class_</span></a></p></li> <li><p><a class="reference internal" href="classtorch_1_1_cpp_function.html#exhale-class-classtorch-1-1-cpp-function"><span class="std std-ref">Class CppFunction</span></a></p></li> <li><p><a class="reference internal" href="classtorch_1_1detail_1_1_class_not_selected.html#exhale-class-classtorch-1-1detail-1-1-class-not-selected"><span class="std std-ref">Class ClassNotSelected</span></a></p></li> <li><p><a class="reference internal" href="classtorch_1_1detail_1_1_selective_str.html#exhale-class-classtorch-1-1detail-1-1-selective-str"><span class="std std-ref">Template Class SelectiveStr</span></a></p></li> <li><p><a class="reference internal" href="classtorch_1_1detail_1_1_torch_library_init.html#exhale-class-classtorch-1-1detail-1-1-torch-library-init"><span class="std std-ref">Class TorchLibraryInit</span></a></p></li> <li><p><a class="reference internal" href="classtorch_1_1_library.html#exhale-class-classtorch-1-1-library"><span class="std std-ref">Class Library</span></a></p></li> </ul> </div> <div class="section" id="functions"> <h2>Functions<a class="headerlink" href="#functions" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li><p><a class="reference internal" href="function_namespacetorch_1_1detail_1a342444776cc0b8161e88ac158d847293.html#exhale-function-namespacetorch-1-1detail-1a342444776cc0b8161e88ac158d847293"><span class="std std-ref">Function torch::detail::constructSchemaOrName(c10::FunctionSchema&amp;&amp;)</span></a></p></li> <li><p><a class="reference internal" href="function_namespacetorch_1_1detail_1a3f2bbd0ea529200d36fa1e866e823be9.html#exhale-function-namespacetorch-1-1detail-1a3f2bbd0ea529200d36fa1e866e823be9"><span class="std std-ref">Function torch::detail::constructSchemaOrName(c10::OperatorName&amp;&amp;)</span></a></p></li> <li><p><a class="reference internal" href="function_namespacetorch_1_1detail_1a5348dac760b9c88da5bd2f69dfdab83d.html#exhale-function-namespacetorch-1-1detail-1a5348dac760b9c88da5bd2f69dfdab83d"><span class="std std-ref">Function torch::detail::constructSchemaOrName(const char *)</span></a></p></li> <li><p><a class="reference internal" href="function_group__torch-dispatch-overloads_1ga91120ca3079a024775f01ea37e7fcbd8.html#exhale-function-group-torch-dispatch-overloads-1ga91120ca3079a024775f01ea37e7fcbd8"><span class="std std-ref">Template Function torch::dispatch(c10::DispatchKey, Func&amp;&amp;)</span></a></p></li> <li><p><a class="reference internal" href="function_group__torch-dispatch-overloads_1ga2037ceb48b4bcf8a09f3f2def4e1b545.html#exhale-function-group-torch-dispatch-overloads-1ga2037ceb48b4bcf8a09f3f2def4e1b545"><span class="std std-ref">Template Function torch::dispatch(c10::DeviceType, Func&amp;&amp;)</span></a></p></li> <li><p><a class="reference internal" href="function_group__torch-schema-overloads_1ga8113206fb9a640d3fc22ca2c49a1b3d9.html#exhale-function-group-torch-schema-overloads-1ga8113206fb9a640d3fc22ca2c49a1b3d9"><span class="std std-ref">Function torch::schema(const char *, c10::AliasAnalysisKind)</span></a></p></li> <li><p><a class="reference internal" href="function_group__torch-schema-overloads_1ga201401ec7c0cb2145698d01f6a7ed10e.html#exhale-function-group-torch-schema-overloads-1ga201401ec7c0cb2145698d01f6a7ed10e"><span class="std std-ref">Function torch::schema(const char *)</span></a></p></li> <li><p><a class="reference internal" href="function_group__torch-schema-overloads_1ga4f19c794ea92aec0028da4c382ef409d.html#exhale-function-group-torch-schema-overloads-1ga4f19c794ea92aec0028da4c382ef409d"><span class="std std-ref">Function torch::schema(c10::FunctionSchema&amp;&amp;)</span></a></p></li> </ul> </div> <div class="section" id="defines"> <h2>Defines<a class="headerlink" href="#defines" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li><p><a class="reference internal" href="define_library_8h_1a7c50f3ba858b115d20cda8ca5e84e1db.html#exhale-define-library-8h-1a7c50f3ba858b115d20cda8ca5e84e1db"><span class="std std-ref">Define _TORCH_LIBRARY_FRAGMENT</span></a></p></li> <li><p><a class="reference internal" href="define_library_8h_1ad734202578236c555136bff6337becbd.html#exhale-define-library-8h-1ad734202578236c555136bff6337becbd"><span class="std std-ref">Define _TORCH_LIBRARY_IMPL</span></a></p></li> <li><p><a class="reference internal" href="define_library_8h_1af7172260a7c49ffb402486261122bfd6.html#exhale-define-library-8h-1af7172260a7c49ffb402486261122bfd6"><span class="std std-ref">Define MAKE_TORCH_LIBRARY</span></a></p></li> <li><p><a class="reference internal" href="define_library_8h_1aa07933001180e84f94ba264671a856ee.html#exhale-define-library-8h-1aa07933001180e84f94ba264671a856ee"><span class="std std-ref">Define MAKE_TORCH_LIBRARY_IMPL</span></a></p></li> <li><p><a class="reference internal" href="define_library_8h_1a0bd5fb09d25dfb58e750d712fc5afb84.html#exhale-define-library-8h-1a0bd5fb09d25dfb58e750d712fc5afb84"><span class="std std-ref">Define TORCH_LIBRARY</span></a></p></li> <li><p><a class="reference internal" href="define_library_8h_1a2eabc7781e58671237d9d0d282ee1814.html#exhale-define-library-8h-1a2eabc7781e58671237d9d0d282ee1814"><span class="std std-ref">Define TORCH_LIBRARY_FRAGMENT</span></a></p></li> <li><p><a class="reference internal" href="define_library_8h_1a800b28569c0f7d0d9732bf8b6342d9f3.html#exhale-define-library-8h-1a800b28569c0f7d0d9732bf8b6342d9f3"><span class="std std-ref">Define TORCH_LIBRARY_IMPL</span></a></p></li> <li><p><a class="reference internal" href="define_library_8h_1a2e48a234b185f3c2fd80a77fbee8d98d.html#exhale-define-library-8h-1a2e48a234b185f3c2fd80a77fbee8d98d"><span class="std std-ref">Define TORCH_SELECTIVE_CLASS</span></a></p></li> <li><p><a class="reference internal" href="define_library_8h_1a52347fd3fabb0d7989a84aa265ff9bef.html#exhale-define-library-8h-1a52347fd3fabb0d7989a84aa265ff9bef"><span class="std std-ref">Define TORCH_SELECTIVE_NAME</span></a></p></li> <li><p><a class="reference internal" href="define_library_8h_1ae2e6d410e2ce4a8d9aff6e212e802d08.html#exhale-define-library-8h-1ae2e6d410e2ce4a8d9aff6e212e802d08"><span class="std std-ref">Define TORCH_SELECTIVE_SCHEMA</span></a></p></li> </ul> </div> </div> </article> </div> <footer> <hr> <div role="contentinfo"> <p> &copy; Copyright 2019, Torch Contributors. </p> </div> <div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </div> </footer> </div> </div> <div class="pytorch-content-right" id="pytorch-content-right"> <div class="pytorch-right-menu" id="pytorch-right-menu"> <div class="pytorch-side-scroll" id="pytorch-side-scroll-right"> <ul> <li><a class="reference internal" href="#">File library.h</a><ul> <li><a class="reference internal" href="#definition-torch-library-h">Definition (<code class="docutils literal notranslate"><span class="pre">torch/library.h</span></code>)</a></li> <li><a class="reference internal" href="#detailed-description">Detailed Description</a></li> <li><a class="reference internal" href="#includes">Includes</a></li> <li><a class="reference internal" href="#included-by">Included By</a></li> <li><a class="reference internal" href="#namespaces">Namespaces</a></li> <li><a class="reference internal" href="#classes">Classes</a></li> <li><a class="reference internal" href="#functions">Functions</a></li> <li><a class="reference internal" href="#defines">Defines</a></li> </ul> </li> </ul> </div> </div> </div> </section> </div> <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script> <script src="../_static/jquery.js"></script> <script src="../_static/underscore.js"></script> <script src="../_static/doctools.js"></script> <script src="../_static/language_data.js"></script> <script src="../_static/collapsible-lists/js/CollapsibleLists.compressed.js"></script> <script src="../_static/collapsible-lists/js/apply-collapsible-lists.js"></script> <script type="text/javascript" src="../_static/js/vendor/popper.min.js"></script> <script type="text/javascript" src="../_static/js/vendor/bootstrap.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/list.js/1.5.0/list.min.js"></script> <script type="text/javascript" src="../_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.Navigation.enable(true); }); </script> <!-- Begin Footer --> <div class="container-fluid docs-tutorials-resources" id="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="https://pytorch.org/docs/stable/index.html">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="https://pytorch.org/resources">View Resources</a> </div> </div> </div> </div> <footer class="site-footer"> <div class="container footer-container"> <div class="footer-logo-wrapper"> <a href="https://pytorch.org/" class="footer-logo"></a> </div> <div class="footer-links-wrapper"> <div class="footer-links-col"> <ul> <li class="list-title"><a href="https://pytorch.org/">PyTorch</a></li> <li><a href="https://pytorch.org/get-started">Get Started</a></li> <li><a href="https://pytorch.org/features">Features</a></li> <li><a href="https://pytorch.org/ecosystem">Ecosystem</a></li> <li><a href="https://pytorch.org/blog/">Blog</a></li> <li><a href="https://github.com/pytorch/pytorch/blob/master/CONTRIBUTING.md">Contributing</a></li> </ul> </div> <div class="footer-links-col"> <ul> <li class="list-title"><a href="https://pytorch.org/resources">Resources</a></li> <li><a href="https://pytorch.org/tutorials">Tutorials</a></li> <li><a href="https://pytorch.org/docs/stable/index.html">Docs</a></li> <li><a href="https://discuss.pytorch.org" target="_blank">Discuss</a></li> <li><a href="https://github.com/pytorch/pytorch/issues" target="_blank">Github Issues</a></li> <li><a href="https://pytorch.org/assets/brand-guidelines/PyTorch-Brand-Guidelines.pdf" target="_blank">Brand Guidelines</a></li> </ul> </div> <div class="footer-links-col follow-us-col"> <ul> <li class="list-title">Stay Connected</li> <li> <div id="mc_embed_signup"> <form action="https://twitter.us14.list-manage.com/subscribe/post?u=75419c71fe0a935e53dfa4a3f&id=91d0dccd39" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="email-subscribe-form validate" target="_blank" novalidate> <div id="mc_embed_signup_scroll" class="email-subscribe-form-fields-wrapper"> <div class="mc-field-group"> <label for="mce-EMAIL" style="display:none;">Email Address</label> <input type="email" value="" name="EMAIL" class="required email" id="mce-EMAIL" placeholder="Email Address"> </div> <div id="mce-responses" class="clear"> <div class="response" id="mce-error-response" style="display:none"></div> <div class="response" id="mce-success-response" style="display:none"></div> </div> <!-- real people should not fill this in and expect good things - do not remove this or risk form bot signups--> <div style="position: absolute; left: -5000px;" aria-hidden="true"><input type="text" name="b_75419c71fe0a935e53dfa4a3f_91d0dccd39" tabindex="-1" value=""></div> <div class="clear"> <input type="submit" value="" name="subscribe" id="mc-embedded-subscribe" class="button email-subscribe-button"> </div> </div> </form> </div> </li> </ul> <div class="footer-social-icons"> <a href="https://www.facebook.com/pytorch" target="_blank" class="facebook"></a> <a href="https://twitter.com/pytorch" target="_blank" class="twitter"></a> <a href="https://www.youtube.com/pytorch" target="_blank" class="youtube"></a> </div> </div> </div> </div> </footer> <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="../_static/images/pytorch-x.svg"> </div> </div> <!-- End Footer --> <!-- Begin Mobile Menu --> <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> <a href="https://pytorch.org/get-started">Get Started</a> </li> <li> <a href="https://pytorch.org/ecosystem">Ecosystem</a> </li> <li> <a href="https://pytorch.org/mobile">Mobile</a> </li> <li> <a href="https://pytorch.org/hub">PyTorch Hub</a> </li> <li> <a href="https://pytorch.org/blog/">Blog</a> </li> <li> <a href="https://pytorch.org/tutorials">Tutorials</a> </li> <li class="resources-mobile-menu-title" class="active"> Docs </li> <ul class="resources-mobile-menu-items"> <li> <a href="https://pytorch.org/docs/stable/index.html">PyTorch</a> </li> <li> <a href="https://pytorch.org/audio/stable/index.html">torchaudio</a> </li> <li> <a href="https://pytorch.org/text/stable/index.html">torchtext</a> </li> <li> <a href="https://pytorch.org/vision/stable/index.html">torchvision</a> </li> <li> <a href="https://pytorch.org/elastic/">TorchElastic</a> </li> <li> <a href="https://pytorch.org/serve/">TorchServe</a> </li> <li> <a href="https://pytorch.org/xla">PyTorch on XLA Devices</a> </li> </ul> <li class="resources-mobile-menu-title"> Resources </li> <ul class="resources-mobile-menu-items"> <li> <a href="https://pytorch.org/resources">Developer Resources</a> </li> <li> <a href="https://pytorch.org/features">About</a> </li> <li> <a href="https://pytorch.org/hub">Models (Beta)</a> </li> <li> <a href="https://pytorch.org/#community-module">Community</a> </li> <li> <a href="https://discuss.pytorch.org/">Forums</a> </li> </ul> <li> <a href="https://github.com/pytorch/pytorch">Github</a> </li> </ul> </div> </div> </div> <!-- End Mobile Menu --> <script type="text/javascript" src="../_static/js/vendor/anchor.min.js"></script> <script type="text/javascript"> $(document).ready(function() { mobileMenu.bind(); mobileTOC.bind(); pytorchAnchors.bind(); sideMenus.bind(); scrollToAnchor.bind(); highlightNavigation.bind(); mainMenuDropdown.bind(); filterTags.bind(); // Add class to links that have code blocks, since we cannot create links in code blocks $("article.pytorch-article a span.pre").each(function(e) { $(this).closest("a").addClass("has-code"); }); }) </script> </body> </html>