torch-rb 0.1.7 → 0.1.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +6 -1
- data/ext/torch/ext.cpp +17 -4
- data/ext/torch/extconf.rb +3 -0
- data/ext/torch/templates.hpp +22 -20
- data/lib/torch/native/function.rb +1 -0
- data/lib/torch/native/native_functions.yaml +275 -621
- data/lib/torch/version.rb +1 -1
- metadata +2 -9
- data/ext/torch/nn_functions.cpp +0 -615
- data/ext/torch/nn_functions.hpp +0 -6
- data/ext/torch/tensor_functions.cpp +0 -1920
- data/ext/torch/tensor_functions.hpp +0 -6
- data/ext/torch/torch_functions.cpp +0 -2975
- data/ext/torch/torch_functions.hpp +0 -6
- data/lib/torch/ext.bundle +0 -0
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: fca87cb9b6d255287e9fafadf786c113798abbe76b36c82b8271b79cfbf3c2b9
         | 
| 4 | 
            +
              data.tar.gz: 4813c71f5ad6d078e78da03cf59f8036e9e76258ffb67f538899bba146dcba2a
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 22c7150e6a7d9132c40c67819beecc6b8c69b268bd227a8e4aa324ef5e2707004691d5b65dcd4ba1ac537bfaf783947da7e5a323417cffcbf7d348768c40b7c6
         | 
| 7 | 
            +
              data.tar.gz: 8a86c6b68efe6ad85a261d7033b87f040c22b2c670a0238accd6246274caed17b86d7b424441bba80c5ea67ec1bf53b05444dfb0c45ea5b8a52806d0ce19ec1e
         | 
    
        data/CHANGELOG.md
    CHANGED
    
    
    
        data/ext/torch/ext.cpp
    CHANGED
    
    | @@ -16,6 +16,12 @@ | |
| 16 16 |  | 
| 17 17 | 
             
            using namespace Rice;
         | 
| 18 18 |  | 
| 19 | 
            +
            // need to make a distinction between parameters and tensors
         | 
| 20 | 
            +
            class Parameter: public torch::autograd::Variable {
         | 
| 21 | 
            +
              public:
         | 
| 22 | 
            +
                Parameter(Tensor&& t) : torch::autograd::Variable(t) { }
         | 
| 23 | 
            +
            };
         | 
| 24 | 
            +
             | 
| 19 25 | 
             
            extern "C"
         | 
| 20 26 | 
             
            void Init_ext()
         | 
| 21 27 | 
             
            {
         | 
| @@ -136,7 +142,13 @@ void Init_ext() | |
| 136 142 | 
             
                      for (size_t i = 0; i < a.size(); i++) {
         | 
| 137 143 | 
             
                        vec.push_back(from_ruby<float>(a[i]));
         | 
| 138 144 | 
             
                      }
         | 
| 139 | 
            -
                       | 
| 145 | 
            +
                      // hack for requires_grad error
         | 
| 146 | 
            +
                      if (options.requires_grad()) {
         | 
| 147 | 
            +
                        t = torch::tensor(vec, options.requires_grad(c10::nullopt));
         | 
| 148 | 
            +
                        t.set_requires_grad(true);
         | 
| 149 | 
            +
                      } else {
         | 
| 150 | 
            +
                        t = torch::tensor(vec, options);
         | 
| 151 | 
            +
                      }
         | 
| 140 152 | 
             
                    }
         | 
| 141 153 | 
             
                    return t.reshape(size);
         | 
| 142 154 | 
             
                  });
         | 
| @@ -146,6 +158,7 @@ void Init_ext() | |
| 146 158 | 
             
                .define_method("sparse?", &torch::Tensor::is_sparse)
         | 
| 147 159 | 
             
                .define_method("quantized?", &torch::Tensor::is_quantized)
         | 
| 148 160 | 
             
                .define_method("dim", &torch::Tensor::dim)
         | 
| 161 | 
            +
                .define_method("numel", &torch::Tensor::numel)
         | 
| 149 162 | 
             
                .define_method("element_size", &torch::Tensor::element_size)
         | 
| 150 163 | 
             
                .define_method("requires_grad", &torch::Tensor::requires_grad)
         | 
| 151 164 | 
             
                .define_method(
         | 
| @@ -260,7 +273,7 @@ void Init_ext() | |
| 260 273 | 
             
                    auto data = torch::autograd::as_variable_ref(rd).detach();
         | 
| 261 274 | 
             
                    data.unsafeGetTensorImpl()->set_allow_tensor_metadata_change(true);
         | 
| 262 275 | 
             
                    auto var = data.set_requires_grad(requires_grad);
         | 
| 263 | 
            -
                    return  | 
| 276 | 
            +
                    return Parameter(std::move(var));
         | 
| 264 277 | 
             
                  });
         | 
| 265 278 |  | 
| 266 279 | 
             
              Class rb_cTensorOptions = define_class_under<torch::TensorOptions>(rb_mTorch, "TensorOptions")
         | 
| @@ -375,10 +388,10 @@ void Init_ext() | |
| 375 388 | 
             
                    return torch::nn::init::sparse_(tensor, sparsity, std);
         | 
| 376 389 | 
             
                  });
         | 
| 377 390 |  | 
| 378 | 
            -
              Class rb_cParameter = define_class_under< | 
| 391 | 
            +
              Class rb_cParameter = define_class_under<Parameter, torch::Tensor>(rb_mNN, "Parameter")
         | 
| 379 392 | 
             
                .define_method(
         | 
| 380 393 | 
             
                  "grad",
         | 
| 381 | 
            -
                  *[]( | 
| 394 | 
            +
                  *[](Parameter& self) {
         | 
| 382 395 | 
             
                    auto grad = self.grad();
         | 
| 383 396 | 
             
                    return grad.defined() ? to_ruby<torch::Tensor>(grad) : Nil;
         | 
| 384 397 | 
             
                  });
         | 
    
        data/ext/torch/extconf.rb
    CHANGED
    
    | @@ -10,6 +10,9 @@ $CXXFLAGS << " -std=c++11" | |
| 10 10 | 
             
            # silence ruby/intern.h warning
         | 
| 11 11 | 
             
            $CXXFLAGS << " -Wno-deprecated-register"
         | 
| 12 12 |  | 
| 13 | 
            +
            # silence torch warnings
         | 
| 14 | 
            +
            $CXXFLAGS << " -Wno-shorten-64-to-32 -Wno-missing-noreturn"
         | 
| 15 | 
            +
             | 
| 13 16 | 
             
            inc, lib = dir_config("torch")
         | 
| 14 17 |  | 
| 15 18 | 
             
            inc ||= "/usr/local/include"
         | 
    
        data/ext/torch/templates.hpp
    CHANGED
    
    | @@ -1,5 +1,9 @@ | |
| 1 1 | 
             
            #pragma once
         | 
| 2 2 |  | 
| 3 | 
            +
            #ifdef isfinite
         | 
| 4 | 
            +
            #undef isfinite
         | 
| 5 | 
            +
            #endif
         | 
| 6 | 
            +
             | 
| 3 7 | 
             
            #include <rice/Array.hpp>
         | 
| 4 8 | 
             
            #include <rice/Object.hpp>
         | 
| 5 9 |  | 
| @@ -79,12 +83,11 @@ class FanModeType { | |
| 79 83 | 
             
                FanModeType(Object o) {
         | 
| 80 84 | 
             
                  s = String(o).str();
         | 
| 81 85 | 
             
                }
         | 
| 82 | 
            -
                 | 
| 83 | 
            -
                operator torch::nn::init::FanMode() {
         | 
| 86 | 
            +
                operator torch::nn::init::FanModeType() {
         | 
| 84 87 | 
             
                  if (s == "fan_in") {
         | 
| 85 | 
            -
                    return torch:: | 
| 88 | 
            +
                    return torch::kFanIn;
         | 
| 86 89 | 
             
                  } else if (s == "fan_out") {
         | 
| 87 | 
            -
                    return torch:: | 
| 90 | 
            +
                    return torch::kFanOut;
         | 
| 88 91 | 
             
                  } else {
         | 
| 89 92 | 
             
                    throw std::runtime_error("Unsupported nonlinearity type: " + s);
         | 
| 90 93 | 
             
                  }
         | 
| @@ -104,30 +107,29 @@ class NonlinearityType { | |
| 104 107 | 
             
                NonlinearityType(Object o) {
         | 
| 105 108 | 
             
                  s = String(o).str();
         | 
| 106 109 | 
             
                }
         | 
| 107 | 
            -
                 | 
| 108 | 
            -
                operator torch::nn::init::Nonlinearity() {
         | 
| 110 | 
            +
                operator torch::nn::init::NonlinearityType() {
         | 
| 109 111 | 
             
                  if (s == "linear") {
         | 
| 110 | 
            -
                    return torch:: | 
| 112 | 
            +
                    return torch::kLinear;
         | 
| 111 113 | 
             
                  } else if (s == "conv1d") {
         | 
| 112 | 
            -
                    return torch:: | 
| 114 | 
            +
                    return torch::kConv1D;
         | 
| 113 115 | 
             
                  } else if (s == "conv2d") {
         | 
| 114 | 
            -
                    return torch:: | 
| 116 | 
            +
                    return torch::kConv2D;
         | 
| 115 117 | 
             
                  } else if (s == "conv3d") {
         | 
| 116 | 
            -
                    return torch:: | 
| 118 | 
            +
                    return torch::kConv3D;
         | 
| 117 119 | 
             
                  } else if (s == "conv_transpose1d") {
         | 
| 118 | 
            -
                    return torch:: | 
| 120 | 
            +
                    return torch::kConvTranspose1D;
         | 
| 119 121 | 
             
                  } else if (s == "conv_transpose2d") {
         | 
| 120 | 
            -
                    return torch:: | 
| 122 | 
            +
                    return torch::kConvTranspose2D;
         | 
| 121 123 | 
             
                  } else if (s == "conv_transpose3d") {
         | 
| 122 | 
            -
                    return torch:: | 
| 124 | 
            +
                    return torch::kConvTranspose3D;
         | 
| 123 125 | 
             
                  } else if (s == "sigmoid") {
         | 
| 124 | 
            -
                    return torch:: | 
| 126 | 
            +
                    return torch::kSigmoid;
         | 
| 125 127 | 
             
                  } else if (s == "tanh") {
         | 
| 126 | 
            -
                    return torch:: | 
| 128 | 
            +
                    return torch::kTanh;
         | 
| 127 129 | 
             
                  } else if (s == "relu") {
         | 
| 128 | 
            -
                    return torch:: | 
| 130 | 
            +
                    return torch::kReLU;
         | 
| 129 131 | 
             
                  } else if (s == "leaky_relu") {
         | 
| 130 | 
            -
                    return torch:: | 
| 132 | 
            +
                    return torch::kLeakyReLU;
         | 
| 131 133 | 
             
                  } else {
         | 
| 132 134 | 
             
                    throw std::runtime_error("Unsupported nonlinearity type: " + s);
         | 
| 133 135 | 
             
                  }
         | 
| @@ -149,14 +151,14 @@ class MyReduction { | |
| 149 151 | 
             
                }
         | 
| 150 152 | 
             
                operator int64_t() {
         | 
| 151 153 | 
             
                  if (value.is_nil()) {
         | 
| 152 | 
            -
                    return Reduction::None;
         | 
| 154 | 
            +
                    return torch::Reduction::None;
         | 
| 153 155 | 
             
                  }
         | 
| 154 156 |  | 
| 155 157 | 
             
                  std::string s = String(value).str();
         | 
| 156 158 | 
             
                  if (s == "mean") {
         | 
| 157 | 
            -
                    return Reduction::Mean;
         | 
| 159 | 
            +
                    return torch::Reduction::Mean;
         | 
| 158 160 | 
             
                  } else if (s == "sum") {
         | 
| 159 | 
            -
                    return Reduction::Sum;
         | 
| 161 | 
            +
                    return torch::Reduction::Sum;
         | 
| 160 162 | 
             
                  } else {
         | 
| 161 163 | 
             
                    throw std::runtime_error("Unsupported reduction: " + s);
         | 
| 162 164 | 
             
                  }
         | 
| @@ -37,19 +37,38 @@ | |
| 37 37 | 
             
              use_c10_dispatcher: full
         | 
| 38 38 | 
             
              variants: function
         | 
| 39 39 |  | 
| 40 | 
            -
             | 
| 40 | 
            +
            # Computes the gradient of current tensor w.r.t. graph leaves.
         | 
| 41 | 
            +
            - func: backward(Tensor self, Tensor? gradient=None, bool keep_graph=False, bool create_graph=False) -> ()
         | 
| 41 42 | 
             
              variants: method
         | 
| 42 43 |  | 
| 43 | 
            -
             | 
| 44 | 
            +
            # DEPRECATED. Sets the tensor data held by this `Variable` to be the same as
         | 
| 45 | 
            +
            # `new_data`.  It requires that `new_data` and `Variable` have compatible tensor
         | 
| 46 | 
            +
            # type, by checking `_has_compatible_shallow_copy_type(this, new_data)`.
         | 
| 47 | 
            +
            #
         | 
| 48 | 
            +
            # This function is deprecated because it doesn't really make sense in a world
         | 
| 49 | 
            +
            # where Variables *are* Tensors (as opposed to them containing tensors, which
         | 
| 50 | 
            +
            # is what the previous interpretation was.)
         | 
| 51 | 
            +
            - func: set_data(Tensor(a!) self, Tensor new_data) -> ()
         | 
| 52 | 
            +
              use_c10_dispatcher: unboxed_only
         | 
| 44 53 | 
             
              variants: method
         | 
| 45 54 |  | 
| 46 55 | 
             
            - func: data(Tensor self) -> Tensor
         | 
| 47 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 48 56 | 
             
              variants: method
         | 
| 49 57 |  | 
| 58 | 
            +
            # True if this `Variable` is a leaf and thus does not have a `grad_fn`.
         | 
| 50 59 | 
             
            - func: is_leaf(Tensor self) -> bool
         | 
| 51 60 | 
             
              variants: method
         | 
| 52 61 |  | 
| 62 | 
            +
            # Returns the output index of this variable from the forward operation that
         | 
| 63 | 
            +
            # produced it.  Conversely, it returns the input index of the gradient `Node` to
         | 
| 64 | 
            +
            # which this `Variable` is connected (because in the gradient computation,
         | 
| 65 | 
            +
            # inputs and outputs switch meaning).  For example:
         | 
| 66 | 
            +
            #
         | 
| 67 | 
            +
            #   y0, y1, y2 = f(x)
         | 
| 68 | 
            +
            #   assert y0.output_nr == 0
         | 
| 69 | 
            +
            #   assert y1.output_nr == 1
         | 
| 70 | 
            +
            #   assert y2.output_nr == 2
         | 
| 71 | 
            +
            #
         | 
| 53 72 | 
             
            - func: output_nr(Tensor self) -> int
         | 
| 54 73 | 
             
              variants: method
         | 
| 55 74 | 
             
              supports_named_tensor: True
         | 
| @@ -57,6 +76,9 @@ | |
| 57 76 | 
             
            - func: _version(Tensor self) -> int
         | 
| 58 77 | 
             
              variants: method
         | 
| 59 78 |  | 
| 79 | 
            +
            - func: requires_grad_(Tensor(a!) self, bool _requires_grad=True) -> Tensor(a!)
         | 
| 80 | 
            +
              variants: method
         | 
| 81 | 
            +
             | 
| 60 82 | 
             
            - func: rename_(Tensor(a!) self, Dimname[]? names) -> Tensor(a!)
         | 
| 61 83 | 
             
              variants: method
         | 
| 62 84 | 
             
              supports_named_tensor: True
         | 
| @@ -65,38 +87,43 @@ | |
| 65 87 | 
             
              variants: method
         | 
| 66 88 | 
             
              supports_named_tensor: True
         | 
| 67 89 |  | 
| 68 | 
            -
            - func: align_to(Tensor(a) self,  | 
| 90 | 
            +
            - func: align_to(Tensor(a) self, Dimname[] names) -> Tensor(a)
         | 
| 91 | 
            +
              variants: method
         | 
| 92 | 
            +
              supports_named_tensor: True
         | 
| 93 | 
            +
             | 
| 94 | 
            +
            - func: align_to.ellipsis_idx(Tensor(a) self, Dimname[] order, int ellipsis_idx) -> Tensor(a)
         | 
| 69 95 | 
             
              variants: method
         | 
| 70 96 | 
             
              supports_named_tensor: True
         | 
| 71 97 |  | 
| 72 98 | 
             
            - func: align_as(Tensor self, Tensor other) -> Tensor
         | 
| 73 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 74 99 | 
             
              variants: method
         | 
| 75 100 | 
             
              supports_named_tensor: True
         | 
| 76 101 |  | 
| 77 102 | 
             
            - func: align_tensors(Tensor[] tensors) -> Tensor[]
         | 
| 78 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 79 103 | 
             
              supports_named_tensor: True
         | 
| 80 104 |  | 
| 81 | 
            -
            - func: refine_names(Tensor(a) self,  | 
| 105 | 
            +
            - func: refine_names(Tensor(a) self, Dimname[] names) -> Tensor(a)
         | 
| 82 106 | 
             
              variants: method
         | 
| 83 107 | 
             
              supports_named_tensor: True
         | 
| 84 108 |  | 
| 85 | 
            -
            - func: unflatten(Tensor self, Dimname dim, int[] sizes,  | 
| 109 | 
            +
            - func: unflatten.Dimname(Tensor self, Dimname dim, int[] sizes, Dimname[] names) -> Tensor
         | 
| 86 110 | 
             
              variants: method
         | 
| 87 111 | 
             
              supports_named_tensor: True
         | 
| 88 112 |  | 
| 89 | 
            -
            - func: unflatten(Tensor self, int dim, int[] sizes,  | 
| 113 | 
            +
            - func: unflatten.int(Tensor self, int dim, int[] sizes, Dimname[] names) -> Tensor
         | 
| 90 114 | 
             
              variants: method
         | 
| 91 115 | 
             
              supports_named_tensor: True
         | 
| 92 116 |  | 
| 117 | 
            +
             | 
| 118 | 
            +
            - func: _use_cudnn_ctc_loss(Tensor log_probs, Tensor targets, int[] input_lengths, int[] target_lengths, int blank) -> bool
         | 
| 119 | 
            +
              dispatch:
         | 
| 120 | 
            +
                CUDA: _use_cudnn_ctc_loss
         | 
| 121 | 
            +
             | 
| 93 122 | 
             
            - func: _cudnn_ctc_loss(Tensor log_probs, Tensor targets, int[] input_lengths, int[] target_lengths, int blank, bool deterministic, bool zero_infinity) -> (Tensor, Tensor)
         | 
| 94 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 95 123 | 
             
              dispatch:
         | 
| 96 124 | 
             
                CUDA: _cudnn_ctc_loss
         | 
| 97 125 |  | 
| 98 126 | 
             
            - func: _cudnn_rnn_flatten_weight(Tensor[] weight_arr, int weight_stride0, int input_size, int mode, int hidden_size, int num_layers, bool batch_first, bool bidirectional) -> Tensor
         | 
| 99 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 100 127 | 
             
              dispatch:
         | 
| 101 128 | 
             
                CUDA: _cudnn_rnn_flatten_weight
         | 
| 102 129 |  | 
| @@ -117,7 +144,6 @@ | |
| 117 144 | 
             
              variants: function
         | 
| 118 145 |  | 
| 119 146 | 
             
            - func: _fused_dropout(Tensor self, float p, Generator? generator=None) -> (Tensor, Tensor)
         | 
| 120 | 
            -
              use_c10_dispatcher: 'unboxed_only'
         | 
| 121 147 | 
             
              variants: function
         | 
| 122 148 | 
             
              dispatch:
         | 
| 123 149 | 
             
                 CUDA: fused_dropout_cuda
         | 
| @@ -132,15 +158,12 @@ | |
| 132 158 | 
             
            - func: _sobol_engine_draw(Tensor quasi, int n, Tensor sobolstate, int dimension, int num_generated, ScalarType? dtype) -> (Tensor, Tensor)
         | 
| 133 159 |  | 
| 134 160 | 
             
            - func: _sobol_engine_ff_(Tensor(a!) self, int n, Tensor sobolstate, int dimension, int num_generated) -> Tensor(a!)
         | 
| 135 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 136 161 |  | 
| 137 162 |  | 
| 138 163 | 
             
            - func: _sobol_engine_scramble_(Tensor(a!) self, Tensor ltm, int dimension) -> Tensor(a!)
         | 
| 139 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 140 164 |  | 
| 141 165 |  | 
| 142 166 | 
             
            - func: _sobol_engine_initialize_state_(Tensor(a!) self, int dimension) -> Tensor(a!)
         | 
| 143 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 144 167 |  | 
| 145 168 |  | 
| 146 169 | 
             
            - func: _reshape_from_tensor(Tensor self, Tensor shape) -> Tensor
         | 
| @@ -154,27 +177,23 @@ | |
| 154 177 | 
             
              supports_named_tensor: True
         | 
| 155 178 |  | 
| 156 179 | 
             
            - func: dropout_(Tensor(a!) self, float p, bool train) -> Tensor(a!)
         | 
| 157 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 158 180 | 
             
              supports_named_tensor: True
         | 
| 159 181 |  | 
| 160 182 | 
             
            - func: feature_dropout(Tensor input, float p, bool train) -> Tensor
         | 
| 161 183 | 
             
              use_c10_dispatcher: full
         | 
| 162 184 |  | 
| 163 185 | 
             
            - func: feature_dropout_(Tensor(a!) self, float p, bool train) -> Tensor(a!)
         | 
| 164 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 165 186 |  | 
| 166 187 | 
             
            - func: alpha_dropout(Tensor input, float p, bool train) -> Tensor
         | 
| 167 188 | 
             
              use_c10_dispatcher: full
         | 
| 168 189 |  | 
| 169 190 | 
             
            - func: alpha_dropout_(Tensor(a!) self, float p, bool train) -> Tensor(a!)
         | 
| 170 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 171 191 |  | 
| 172 192 |  | 
| 173 193 | 
             
            - func: feature_alpha_dropout(Tensor input, float p, bool train) -> Tensor
         | 
| 174 194 | 
             
              use_c10_dispatcher: full
         | 
| 175 195 |  | 
| 176 196 | 
             
            - func: feature_alpha_dropout_(Tensor(a!) self, float p, bool train) -> Tensor(a!)
         | 
| 177 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 178 197 |  | 
| 179 198 |  | 
| 180 199 | 
             
            - func: abs(Tensor self) -> Tensor
         | 
| @@ -183,18 +202,55 @@ | |
| 183 202 | 
             
              supports_named_tensor: True
         | 
| 184 203 |  | 
| 185 204 | 
             
            - func: abs_(Tensor(a!) self) -> Tensor(a!)
         | 
| 186 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 187 205 | 
             
              variants: function, method
         | 
| 188 206 | 
             
              supports_named_tensor: True
         | 
| 189 | 
            -
              dispatch:
         | 
| 190 | 
            -
                CPU: _abs__cpu
         | 
| 191 | 
            -
                CUDA: _abs__cuda
         | 
| 192 207 |  | 
| 193 208 | 
             
            - func: abs.out(Tensor self, *, Tensor(a!) out) -> Tensor(a!)
         | 
| 194 209 | 
             
              supports_named_tensor: True
         | 
| 210 | 
            +
             | 
| 211 | 
            +
            - func: angle(Tensor self) -> Tensor
         | 
| 212 | 
            +
              variants: function, method
         | 
| 213 | 
            +
              supports_named_tensor: True
         | 
| 214 | 
            +
              named_guard: False
         | 
| 215 | 
            +
             | 
| 216 | 
            +
            - func: angle.out(Tensor self, *, Tensor(a!) out) -> Tensor(a!)
         | 
| 217 | 
            +
              named_guard: False
         | 
| 218 | 
            +
              supports_named_tensor: True
         | 
| 219 | 
            +
              dispatch:
         | 
| 220 | 
            +
                CPU: _angle_out_cpu
         | 
| 221 | 
            +
             | 
| 222 | 
            +
            - func: real(Tensor self) -> Tensor
         | 
| 223 | 
            +
              variants: function, method
         | 
| 224 | 
            +
              named_guard: False
         | 
| 225 | 
            +
              supports_named_tensor: True
         | 
| 226 | 
            +
             | 
| 227 | 
            +
            - func: real.out(Tensor self, *, Tensor(a!) out) -> Tensor(a!)
         | 
| 228 | 
            +
              named_guard: False
         | 
| 229 | 
            +
              supports_named_tensor: True
         | 
| 230 | 
            +
              dispatch:
         | 
| 231 | 
            +
                CPU: _real_out_cpu
         | 
| 232 | 
            +
             | 
| 233 | 
            +
            - func: imag(Tensor self) -> Tensor
         | 
| 234 | 
            +
              variants: function, method
         | 
| 235 | 
            +
              named_guard: False
         | 
| 236 | 
            +
              supports_named_tensor: True
         | 
| 237 | 
            +
             | 
| 238 | 
            +
            - func: imag.out(Tensor self, *, Tensor(a!) out) -> Tensor(a!)
         | 
| 239 | 
            +
              named_guard: False
         | 
| 240 | 
            +
              supports_named_tensor: True
         | 
| 241 | 
            +
              dispatch:
         | 
| 242 | 
            +
                CPU: _imag_out_cpu
         | 
| 243 | 
            +
             | 
| 244 | 
            +
            - func: conj(Tensor self) -> Tensor
         | 
| 245 | 
            +
              variants: function, method
         | 
| 246 | 
            +
              named_guard: False
         | 
| 247 | 
            +
              supports_named_tensor: True
         | 
| 248 | 
            +
             | 
| 249 | 
            +
            - func: conj.out(Tensor self, *, Tensor(a!) out) -> Tensor(a!)
         | 
| 250 | 
            +
              named_guard: False
         | 
| 251 | 
            +
              supports_named_tensor: True
         | 
| 195 252 | 
             
              dispatch:
         | 
| 196 | 
            -
                CPU:  | 
| 197 | 
            -
                CUDA: _abs_out_cuda
         | 
| 253 | 
            +
                CPU: _conj_out_cpu
         | 
| 198 254 |  | 
| 199 255 | 
             
            - func: acos(Tensor self) -> Tensor
         | 
| 200 256 | 
             
              use_c10_dispatcher: full
         | 
| @@ -202,28 +258,18 @@ | |
| 202 258 | 
             
              variants: function, method
         | 
| 203 259 |  | 
| 204 260 | 
             
            - func: acos_(Tensor(a!) self) -> Tensor(a!)
         | 
| 205 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 206 261 | 
             
              supports_named_tensor: True
         | 
| 207 262 | 
             
              variants: function, method
         | 
| 208 | 
            -
              dispatch:
         | 
| 209 | 
            -
                CPU: _acos__cpu
         | 
| 210 | 
            -
                CUDA: _acos__cuda
         | 
| 211 263 |  | 
| 212 264 | 
             
            - func: acos.out(Tensor self, *, Tensor(a!) out) -> Tensor(a!)
         | 
| 213 265 | 
             
              supports_named_tensor: True
         | 
| 214 | 
            -
              dispatch:
         | 
| 215 | 
            -
                CPU: _acos_out_cpu
         | 
| 216 | 
            -
                CUDA: _acos_out_cuda
         | 
| 217 266 |  | 
| 218 267 | 
             
            - func: avg_pool1d(Tensor self, int[1] kernel_size, int[1] stride=[], int[1] padding=0, bool ceil_mode=False, bool count_include_pad=True) -> Tensor
         | 
| 219 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 220 268 |  | 
| 221 269 | 
             
            - func: adaptive_avg_pool1d(Tensor self, int[1] output_size) -> Tensor
         | 
| 222 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 223 270 |  | 
| 224 271 | 
             
            # Return: (Tensor output, Tensor indices)
         | 
| 225 272 | 
             
            - func: adaptive_max_pool1d(Tensor self, int[1] output_size) -> (Tensor, Tensor)
         | 
| 226 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 227 273 |  | 
| 228 274 | 
             
            - func: add.Tensor(Tensor self, Tensor other, *, Scalar alpha=1) -> Tensor
         | 
| 229 275 | 
             
              use_c10_dispatcher: full
         | 
| @@ -237,7 +283,6 @@ | |
| 237 283 | 
             
              supports_named_tensor: True
         | 
| 238 284 |  | 
| 239 285 | 
             
            - func: add_.Tensor(Tensor(a!) self, Tensor other, *, Scalar alpha=1) -> Tensor(a!)
         | 
| 240 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 241 286 | 
             
              variants: method
         | 
| 242 287 | 
             
              dispatch:
         | 
| 243 288 | 
             
                CPU: add_
         | 
| @@ -263,7 +308,6 @@ | |
| 263 308 | 
             
              supports_named_tensor: True
         | 
| 264 309 |  | 
| 265 310 | 
             
            - func: add_.Scalar(Tensor(a!) self, Scalar other, Scalar alpha=1) -> Tensor(a!)
         | 
| 266 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 267 311 | 
             
              variants: method
         | 
| 268 312 | 
             
              supports_named_tensor: True
         | 
| 269 313 |  | 
| @@ -276,7 +320,6 @@ | |
| 276 320 | 
             
              supports_named_tensor: True
         | 
| 277 321 |  | 
| 278 322 | 
             
            - func: addmv_(Tensor(a!) self, Tensor mat, Tensor vec, *, Scalar beta=1, Scalar alpha=1) -> Tensor(a!)
         | 
| 279 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 280 323 | 
             
              variants: function, method
         | 
| 281 324 | 
             
              dispatch:
         | 
| 282 325 | 
             
                CPU: legacy::cpu::_th_addmv_
         | 
| @@ -294,17 +337,14 @@ | |
| 294 337 | 
             
              variants: function, method
         | 
| 295 338 |  | 
| 296 339 | 
             
            - func: addr_(Tensor(a!) self, Tensor vec1, Tensor vec2, *, Scalar beta=1, Scalar alpha=1) -> Tensor(a!)
         | 
| 297 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 298 340 | 
             
              variants: method
         | 
| 299 341 |  | 
| 300 342 | 
             
            - func: addr.out(Tensor self, Tensor vec1, Tensor vec2, *, Scalar beta=1, Scalar alpha=1, Tensor(a!) out) -> Tensor(a!)
         | 
| 301 343 |  | 
| 302 344 | 
             
            - func: affine_grid_generator(Tensor theta, int[] size, bool align_corners) -> Tensor
         | 
| 303 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 304 345 | 
             
              variants: function
         | 
| 305 346 |  | 
| 306 347 | 
             
            - func: affine_grid_generator_backward(Tensor grad, int[] size, bool align_corners) -> Tensor
         | 
| 307 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 308 348 | 
             
              variants: function
         | 
| 309 349 |  | 
| 310 350 | 
             
            - func: all.dim(Tensor self, int dim, bool keepdim=False) -> Tensor
         | 
| @@ -363,7 +403,6 @@ | |
| 363 403 | 
             
              variants: function, method
         | 
| 364 404 |  | 
| 365 405 | 
             
            - func: as_strided(Tensor(a) self, int[] size, int[] stride, int? storage_offset=None) -> Tensor(a)
         | 
| 366 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 367 406 | 
             
              variants: function, method
         | 
| 368 407 | 
             
              dispatch:
         | 
| 369 408 | 
             
                CPU: as_strided_tensorimpl
         | 
| @@ -373,7 +412,6 @@ | |
| 373 412 | 
             
              supports_named_tensor: True
         | 
| 374 413 |  | 
| 375 414 | 
             
            - func: as_strided_(Tensor(a!) self, int[] size, int[] stride, int? storage_offset=None) -> Tensor(a!)
         | 
| 376 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 377 415 | 
             
              variants: function, method
         | 
| 378 416 | 
             
              device_guard: False
         | 
| 379 417 |  | 
| @@ -383,18 +421,11 @@ | |
| 383 421 | 
             
              variants: function, method
         | 
| 384 422 |  | 
| 385 423 | 
             
            - func: asin_(Tensor(a!) self) -> Tensor(a!)
         | 
| 386 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 387 424 | 
             
              supports_named_tensor: True
         | 
| 388 425 | 
             
              variants: function, method
         | 
| 389 | 
            -
              dispatch:
         | 
| 390 | 
            -
                CPU: _asin__cpu
         | 
| 391 | 
            -
                CUDA: _asin__cuda
         | 
| 392 426 |  | 
| 393 427 | 
             
            - func: asin.out(Tensor self, *, Tensor(a!) out) -> Tensor(a!)
         | 
| 394 428 | 
             
              supports_named_tensor: True
         | 
| 395 | 
            -
              dispatch:
         | 
| 396 | 
            -
                CPU: _asin_out_cpu
         | 
| 397 | 
            -
                CUDA: _asin_out_cuda
         | 
| 398 429 |  | 
| 399 430 | 
             
            - func: atan(Tensor self) -> Tensor
         | 
| 400 431 | 
             
              use_c10_dispatcher: full
         | 
| @@ -402,7 +433,6 @@ | |
| 402 433 | 
             
              variants: function, method
         | 
| 403 434 |  | 
| 404 435 | 
             
            - func: atan_(Tensor(a!) self) -> Tensor(a!)
         | 
| 405 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 406 436 | 
             
              supports_named_tensor: True
         | 
| 407 437 | 
             
              variants: function, method
         | 
| 408 438 | 
             
              dispatch:
         | 
| @@ -423,14 +453,12 @@ | |
| 423 453 | 
             
                CUDA: baddbmm_cuda
         | 
| 424 454 |  | 
| 425 455 | 
             
            - func: baddbmm_(Tensor(a!) self, Tensor batch1, Tensor batch2, *, Scalar beta=1, Scalar alpha=1) -> Tensor(a!)
         | 
| 426 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 427 456 | 
             
              variants: method
         | 
| 428 457 | 
             
              dispatch:
         | 
| 429 458 | 
             
                CPU: baddbmm__cpu
         | 
| 430 459 | 
             
                CUDA: baddbmm__cuda
         | 
| 431 460 |  | 
| 432 461 | 
             
            - func: _baddbmm_mkl_(Tensor(a!) self, Tensor batch1, Tensor batch2, *, Scalar beta=1, Scalar alpha=1) -> Tensor(a!)
         | 
| 433 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 434 462 | 
             
              variants: function
         | 
| 435 463 |  | 
| 436 464 | 
             
            - func: baddbmm.out(Tensor self, Tensor batch1, Tensor batch2, *, Scalar beta=1, Scalar alpha=1, Tensor(a!) out) -> Tensor(a!)
         | 
| @@ -445,13 +473,12 @@ | |
| 445 473 |  | 
| 446 474 | 
             
            - func: batch_norm(Tensor input, Tensor? weight, Tensor? bias, Tensor? running_mean, Tensor? running_var, bool training, float momentum, float eps, bool cudnn_enabled) -> Tensor
         | 
| 447 475 |  | 
| 448 | 
            -
            - func: _batch_norm_impl_index(Tensor input, Tensor? weight, Tensor? bias, Tensor? running_mean, Tensor? running_var, bool training, float momentum, float eps, bool cudnn_enabled) -> (Tensor, Tensor, Tensor, int)
         | 
| 476 | 
            +
            - func: _batch_norm_impl_index(Tensor input, Tensor? weight, Tensor? bias, Tensor? running_mean, Tensor? running_var, bool training, float momentum, float eps, bool cudnn_enabled) -> (Tensor, Tensor, Tensor, Tensor, int)
         | 
| 449 477 |  | 
| 450 | 
            -
            - func: _batch_norm_impl_index_backward(int impl_index, Tensor input, Tensor grad_output, Tensor? weight, Tensor? running_mean, Tensor? running_var, Tensor? save_mean, Tensor? save_var_transform, bool train, float eps, bool[3] output_mask) -> (Tensor, Tensor, Tensor)
         | 
| 478 | 
            +
            - func: _batch_norm_impl_index_backward(int impl_index, Tensor input, Tensor grad_output, Tensor? weight, Tensor? running_mean, Tensor? running_var, Tensor? save_mean, Tensor? save_var_transform, bool train, float eps, bool[3] output_mask, Tensor reservedSpace) -> (Tensor, Tensor, Tensor)
         | 
| 451 479 |  | 
| 452 480 | 
             
            # Sample bernoulli with values in `self` as probability.
         | 
| 453 481 | 
             
            - func: bernoulli(Tensor self, *, Generator? generator=None) -> Tensor
         | 
| 454 | 
            -
              use_c10_dispatcher: 'unboxed_only'
         | 
| 455 482 | 
             
              variants: function, method
         | 
| 456 483 | 
             
              supports_named_tensor: True
         | 
| 457 484 |  | 
| @@ -460,7 +487,6 @@ | |
| 460 487 | 
             
              supports_named_tensor: True
         | 
| 461 488 |  | 
| 462 489 | 
             
            - func: bernoulli_.Tensor(Tensor(a!) self, Tensor p, *, Generator? generator=None) -> Tensor(a!)
         | 
| 463 | 
            -
              use_c10_dispatcher: 'unboxed_only'
         | 
| 464 490 | 
             
              variants: method
         | 
| 465 491 | 
             
              dispatch:
         | 
| 466 492 | 
             
                CPU: bernoulli_tensor_cpu_
         | 
| @@ -468,7 +494,6 @@ | |
| 468 494 | 
             
              supports_named_tensor: True
         | 
| 469 495 |  | 
| 470 496 | 
             
            - func: bernoulli_.float(Tensor(a!) self, float p=0.5, *, Generator? generator=None) -> Tensor(a!)
         | 
| 471 | 
            -
              use_c10_dispatcher: 'unboxed_only'
         | 
| 472 497 | 
             
              variants: method
         | 
| 473 498 | 
             
              dispatch:
         | 
| 474 499 | 
             
                CPU: bernoulli_scalar_cpu_
         | 
| @@ -479,7 +504,6 @@ | |
| 479 504 | 
             
            # There is no default valid on `p` here because it would introduce ambiguity
         | 
| 480 505 | 
             
            # with `bernoulli(Tensor self, *, Generator? generator=None)` declaration.
         | 
| 481 506 | 
             
            - func: bernoulli.p(Tensor self, float p, *, Generator? generator=None) -> Tensor
         | 
| 482 | 
            -
              use_c10_dispatcher: 'unboxed_only'
         | 
| 483 507 | 
             
              variants: function, method
         | 
| 484 508 |  | 
| 485 509 | 
             
            - func: bilinear(Tensor input1, Tensor input2, Tensor weight, Tensor? bias) -> Tensor
         | 
| @@ -502,7 +526,6 @@ | |
| 502 526 | 
             
              variants: function, method
         | 
| 503 527 |  | 
| 504 528 | 
             
            - func: bitwise_not_(Tensor(a!) self) -> Tensor(a!)
         | 
| 505 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 506 529 | 
             
              supports_named_tensor: True
         | 
| 507 530 | 
             
              variants: method
         | 
| 508 531 |  | 
| @@ -513,12 +536,10 @@ | |
| 513 536 | 
             
                CUDA: bitwise_not_out
         | 
| 514 537 |  | 
| 515 538 | 
             
            - func: logical_not(Tensor self) -> Tensor
         | 
| 516 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 517 539 | 
             
              supports_named_tensor: True
         | 
| 518 540 | 
             
              variants: function, method
         | 
| 519 541 |  | 
| 520 542 | 
             
            - func: logical_not_(Tensor(a!) self) -> Tensor(a!)
         | 
| 521 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 522 543 | 
             
              supports_named_tensor: True
         | 
| 523 544 | 
             
              variants: method
         | 
| 524 545 |  | 
| @@ -529,12 +550,10 @@ | |
| 529 550 | 
             
                CUDA: logical_not_out
         | 
| 530 551 |  | 
| 531 552 | 
             
            - func: logical_xor(Tensor self, Tensor other) -> Tensor
         | 
| 532 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 533 553 | 
             
              variants: function, method
         | 
| 534 554 | 
             
              supports_named_tensor: True
         | 
| 535 555 |  | 
| 536 556 | 
             
            - func: logical_xor_(Tensor(a!) self, Tensor other) -> Tensor(a!)
         | 
| 537 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 538 557 | 
             
              variants: method
         | 
| 539 558 | 
             
              supports_named_tensor: True
         | 
| 540 559 |  | 
| @@ -564,11 +583,9 @@ | |
| 564 583 | 
             
              supports_named_tensor: True
         | 
| 565 584 |  | 
| 566 585 | 
             
            - func: broadcast_tensors(Tensor[] tensors) -> Tensor[]
         | 
| 567 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 568 586 | 
             
              device_guard: False
         | 
| 569 587 |  | 
| 570 588 | 
             
            - func: cat(Tensor[] tensors, int dim=0) -> Tensor
         | 
| 571 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 572 589 | 
             
              supports_named_tensor: True
         | 
| 573 590 |  | 
| 574 591 | 
             
            - func: cat.out(Tensor[] tensors, int dim=0, *, Tensor(a!) out) -> Tensor(a!)
         | 
| @@ -586,7 +603,6 @@ | |
| 586 603 | 
             
              variants: function, method
         | 
| 587 604 |  | 
| 588 605 | 
             
            - func: ceil_(Tensor(a!) self) -> Tensor(a!)
         | 
| 589 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 590 606 | 
             
              supports_named_tensor: True
         | 
| 591 607 | 
             
              variants: function, method
         | 
| 592 608 |  | 
| @@ -597,11 +613,9 @@ | |
| 597 613 | 
             
                CUDA: ceil_out
         | 
| 598 614 |  | 
| 599 615 | 
             
            - func: chain_matmul(Tensor[] matrices) -> Tensor
         | 
| 600 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 601 616 | 
             
              variants: function
         | 
| 602 617 |  | 
| 603 618 | 
             
            - func: chunk(Tensor(a) self, int chunks, int dim=0) -> Tensor(a)[]
         | 
| 604 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 605 619 | 
             
              variants: function, method
         | 
| 606 620 | 
             
              device_guard: False
         | 
| 607 621 | 
             
              supports_named_tensor: True
         | 
| @@ -612,7 +626,6 @@ | |
| 612 626 | 
             
              variants: function, method
         | 
| 613 627 |  | 
| 614 628 | 
             
            - func: clamp_(Tensor(a!) self, Scalar? min=None, Scalar? max=None) -> Tensor(a!)
         | 
| 615 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 616 629 | 
             
              supports_named_tensor: True
         | 
| 617 630 | 
             
              variants: function, method
         | 
| 618 631 | 
             
              dispatch:
         | 
| @@ -631,7 +644,6 @@ | |
| 631 644 | 
             
              variants: function, method
         | 
| 632 645 |  | 
| 633 646 | 
             
            - func: clamp_max_(Tensor(a!) self, Scalar max) -> Tensor(a!)
         | 
| 634 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 635 647 | 
             
              supports_named_tensor: True
         | 
| 636 648 | 
             
              variants: function, method
         | 
| 637 649 | 
             
              dispatch:
         | 
| @@ -650,7 +662,6 @@ | |
| 650 662 | 
             
              variants: function, method
         | 
| 651 663 |  | 
| 652 664 | 
             
            - func: clamp_min_(Tensor(a!) self, Scalar min) -> Tensor(a!)
         | 
| 653 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 654 665 | 
             
              supports_named_tensor: True
         | 
| 655 666 | 
             
              variants: function, method
         | 
| 656 667 | 
             
              dispatch:
         | 
| @@ -668,7 +679,6 @@ | |
| 668 679 | 
             
              device_guard: False
         | 
| 669 680 |  | 
| 670 681 | 
             
            - func: constant_pad_nd(Tensor self, int[] pad, Scalar value=0) -> Tensor
         | 
| 671 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 672 682 | 
             
              variants: function
         | 
| 673 683 |  | 
| 674 684 | 
             
            - func: contiguous(Tensor self, *, MemoryFormat memory_format=contiguous_format) -> Tensor
         | 
| @@ -697,7 +707,6 @@ | |
| 697 707 | 
             
              use_c10_dispatcher: full
         | 
| 698 708 |  | 
| 699 709 | 
             
            - func: conv_tbc_backward(Tensor self, Tensor input, Tensor weight, Tensor bias, int pad) -> (Tensor, Tensor, Tensor)
         | 
| 700 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 701 710 |  | 
| 702 711 | 
             
            # NB: we inherit the goofy argument order from PyTorch torch.nn.functional
         | 
| 703 712 | 
             
            - func: conv_transpose1d(Tensor input, Tensor weight, Tensor? bias=None, int[1] stride=1, int[1] padding=0, int[1] output_padding=0, int groups=1, int[1] dilation=1) -> Tensor
         | 
| @@ -707,7 +716,6 @@ | |
| 707 716 | 
             
            - func: conv_transpose3d.input(Tensor input, Tensor weight, Tensor? bias=None, int[3] stride=1, int[3] padding=0, int[3] output_padding=0, int groups=1, int[3] dilation=1) -> Tensor
         | 
| 708 717 |  | 
| 709 718 | 
             
            - func: copy_(Tensor(a!) self, Tensor src, bool non_blocking=False) -> Tensor(a!)
         | 
| 710 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 711 719 | 
             
              variants: method
         | 
| 712 720 | 
             
              device_guard: False
         | 
| 713 721 | 
             
              supports_named_tensor: True
         | 
| @@ -722,7 +730,6 @@ | |
| 722 730 | 
             
              variants: function, method
         | 
| 723 731 |  | 
| 724 732 | 
             
            - func: cos_(Tensor(a!) self) -> Tensor(a!)
         | 
| 725 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 726 733 | 
             
              supports_named_tensor: True
         | 
| 727 734 | 
             
              variants: function, method
         | 
| 728 735 | 
             
              dispatch:
         | 
| @@ -741,7 +748,6 @@ | |
| 741 748 | 
             
              variants: function, method
         | 
| 742 749 |  | 
| 743 750 | 
             
            - func: cosh_(Tensor(a!) self) -> Tensor(a!)
         | 
| 744 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 745 751 | 
             
              supports_named_tensor: True
         | 
| 746 752 | 
             
              variants: function, method
         | 
| 747 753 | 
             
              dispatch:
         | 
| @@ -768,12 +774,12 @@ | |
| 768 774 | 
             
              dispatch:
         | 
| 769 775 | 
             
                CUDA: cudnn_affine_grid_generator_backward
         | 
| 770 776 |  | 
| 771 | 
            -
            - func: cudnn_batch_norm(Tensor input, Tensor weight, Tensor? bias, Tensor? running_mean, Tensor? running_var, bool training, float exponential_average_factor, float epsilon) -> (Tensor, Tensor, Tensor)
         | 
| 777 | 
            +
            - func: cudnn_batch_norm(Tensor input, Tensor weight, Tensor? bias, Tensor? running_mean, Tensor? running_var, bool training, float exponential_average_factor, float epsilon) -> (Tensor, Tensor, Tensor, Tensor)
         | 
| 772 778 | 
             
              dispatch:
         | 
| 773 779 | 
             
                CUDA: cudnn_batch_norm
         | 
| 774 780 |  | 
| 775 781 | 
             
            # NB: You can only use this if you used cudnn_batch_norm training=True
         | 
| 776 | 
            -
            - func: cudnn_batch_norm_backward(Tensor input, Tensor grad_output, Tensor weight, Tensor? running_mean, Tensor? running_var, Tensor? save_mean, Tensor? save_var, float epsilon) -> (Tensor, Tensor, Tensor)
         | 
| 782 | 
            +
            - func: cudnn_batch_norm_backward(Tensor input, Tensor grad_output, Tensor weight, Tensor? running_mean, Tensor? running_var, Tensor? save_mean, Tensor? save_var, float epsilon, Tensor reserveSpace) -> (Tensor, Tensor, Tensor)
         | 
| 777 783 | 
             
              dispatch:
         | 
| 778 784 | 
             
                CUDA: cudnn_batch_norm_backward
         | 
| 779 785 |  | 
| @@ -782,12 +788,10 @@ | |
| 782 788 | 
             
                CUDA: cudnn_convolution
         | 
| 783 789 |  | 
| 784 790 | 
             
            - func: cudnn_convolution_backward_input(int[] self_size, Tensor grad_output, Tensor weight, int[] padding, int[] stride, int[] dilation, int groups, bool benchmark, bool deterministic) -> Tensor
         | 
| 785 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 786 791 | 
             
              dispatch:
         | 
| 787 792 | 
             
                CUDA: cudnn_convolution_backward_input
         | 
| 788 793 |  | 
| 789 794 | 
             
            - func: cudnn_convolution_backward(Tensor self, Tensor grad_output, Tensor weight, int[] padding, int[] stride, int[] dilation, int groups, bool benchmark, bool deterministic, bool[3] output_mask) -> (Tensor, Tensor, Tensor)
         | 
| 790 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 791 795 | 
             
              dispatch:
         | 
| 792 796 | 
             
                CUDA: cudnn_convolution_backward
         | 
| 793 797 |  | 
| @@ -797,7 +801,6 @@ | |
| 797 801 | 
             
                CUDA: cudnn_convolution_backward_bias
         | 
| 798 802 |  | 
| 799 803 | 
             
            - func: cudnn_convolution_backward_weight(int[] weight_size, Tensor grad_output, Tensor self, int[] padding, int[] stride, int[] dilation, int groups, bool benchmark, bool deterministic) -> Tensor
         | 
| 800 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 801 804 | 
             
              dispatch:
         | 
| 802 805 | 
             
                CUDA: cudnn_convolution_backward_weight
         | 
| 803 806 |  | 
| @@ -808,7 +811,6 @@ | |
| 808 811 | 
             
            # NB: output_padding not strictly needed here, but it's helpful for the float
         | 
| 809 812 | 
             
            # backwards
         | 
| 810 813 | 
             
            - func: cudnn_convolution_transpose_backward(Tensor self, Tensor grad_output, Tensor weight, int[] padding, int[] output_padding, int[] stride, int[] dilation, int groups, bool benchmark, bool deterministic, bool[3] output_mask) -> (Tensor, Tensor, Tensor)
         | 
| 811 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 812 814 | 
             
              dispatch:
         | 
| 813 815 | 
             
                CUDA: cudnn_convolution_transpose_backward
         | 
| 814 816 |  | 
| @@ -818,12 +820,10 @@ | |
| 818 820 | 
             
                CUDA: cudnn_convolution_backward_bias
         | 
| 819 821 |  | 
| 820 822 | 
             
            - func: cudnn_convolution_transpose_backward_input(Tensor grad_output, Tensor weight, int[] padding, int[] stride, int[] dilation, int groups, bool benchmark, bool deterministic) -> Tensor
         | 
| 821 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 822 823 | 
             
              dispatch:
         | 
| 823 824 | 
             
                CUDA: cudnn_convolution_transpose_backward_input
         | 
| 824 825 |  | 
| 825 826 | 
             
            - func: cudnn_convolution_transpose_backward_weight(int[] weight_size, Tensor grad_output, Tensor self, int[] padding, int[] stride, int[] dilation, int groups, bool benchmark, bool deterministic) -> Tensor
         | 
| 826 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 827 827 | 
             
              dispatch:
         | 
| 828 828 | 
             
                CUDA: cudnn_convolution_transpose_backward_weight
         | 
| 829 829 |  | 
| @@ -834,7 +834,6 @@ | |
| 834 834 | 
             
                CUDA: cudnn_grid_sampler_forward
         | 
| 835 835 |  | 
| 836 836 | 
             
            - func: cudnn_grid_sampler_backward(Tensor self, Tensor grid, Tensor grad_output) -> (Tensor grad_self, Tensor grad_grid)
         | 
| 837 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 838 837 | 
             
              dispatch:
         | 
| 839 838 | 
             
                CUDA: cudnn_grid_sampler_backward
         | 
| 840 839 |  | 
| @@ -867,20 +866,17 @@ | |
| 867 866 | 
             
              supports_named_tensor: True
         | 
| 868 867 |  | 
| 869 868 | 
             
            - func: ctc_loss.IntList(Tensor log_probs, Tensor targets, int[] input_lengths, int[] target_lengths, int blank=0, int reduction=Mean, bool zero_infinity=False) -> Tensor
         | 
| 870 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 871 869 |  | 
| 872 870 | 
             
            # convenience function that converts to intlists for you
         | 
| 873 871 | 
             
            - func: ctc_loss.Tensor(Tensor log_probs, Tensor targets, Tensor input_lengths, Tensor target_lengths, int blank=0, int reduction=Mean, bool zero_infinity=False) -> Tensor
         | 
| 874 872 | 
             
              use_c10_dispatcher: full
         | 
| 875 873 |  | 
| 876 874 | 
             
            - func: _ctc_loss(Tensor log_probs, Tensor targets, int[] input_lengths, int[] target_lengths, int blank=0, bool zero_infinity=False) -> (Tensor, Tensor)
         | 
| 877 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 878 875 | 
             
              dispatch:
         | 
| 879 876 | 
             
                CPU:  ctc_loss_cpu
         | 
| 880 877 | 
             
                CUDA: ctc_loss_gpu
         | 
| 881 878 |  | 
| 882 879 | 
             
            - func: _ctc_loss_backward(Tensor grad, Tensor log_probs, Tensor targets, int[] input_lengths, int[] target_lengths, Tensor neg_log_likelihood, Tensor log_alpha, int blank, bool zero_infinity=False) -> Tensor
         | 
| 883 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 884 880 | 
             
              dispatch:
         | 
| 885 881 | 
             
                CPU: ctc_loss_backward_cpu
         | 
| 886 882 | 
             
                CUDA: ctc_loss_backward_gpu
         | 
| @@ -898,11 +894,9 @@ | |
| 898 894 | 
             
              variants: function, method
         | 
| 899 895 |  | 
| 900 896 | 
             
            - func: diagonal(Tensor(a) self, int offset=0, int dim1=0, int dim2=1) -> Tensor(a)
         | 
| 901 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 902 897 | 
             
              variants: function, method
         | 
| 903 898 |  | 
| 904 899 | 
             
            - func: fill_diagonal_(Tensor(a!) self, Scalar fill_value, bool wrap=False) -> Tensor(a!)
         | 
| 905 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 906 900 | 
             
              variants: method
         | 
| 907 901 |  | 
| 908 902 | 
             
            - func: div.Tensor(Tensor self, Tensor other) -> Tensor
         | 
| @@ -916,7 +910,6 @@ | |
| 916 910 | 
             
              supports_named_tensor: True
         | 
| 917 911 |  | 
| 918 912 | 
             
            - func: div_.Tensor(Tensor(a!) self, Tensor other) -> Tensor(a!)
         | 
| 919 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 920 913 | 
             
              variants: method
         | 
| 921 914 | 
             
              dispatch:
         | 
| 922 915 | 
             
                CPU: div_
         | 
| @@ -940,7 +933,6 @@ | |
| 940 933 | 
             
              supports_named_tensor: True
         | 
| 941 934 |  | 
| 942 935 | 
             
            - func: div_.Scalar(Tensor(a!) self, Scalar other) -> Tensor(a!)
         | 
| 943 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 944 936 | 
             
              variants: method
         | 
| 945 937 | 
             
              supports_named_tensor: True
         | 
| 946 938 |  | 
| @@ -956,7 +948,6 @@ | |
| 956 948 | 
             
              supports_named_tensor: True
         | 
| 957 949 |  | 
| 958 950 | 
             
            - func: einsum(str equation, Tensor[] tensors) -> Tensor
         | 
| 959 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 960 951 |  | 
| 961 952 | 
             
            - func: embedding(Tensor weight, Tensor indices, int padding_idx=-1, bool scale_grad_by_freq=False, bool sparse=False) -> Tensor
         | 
| 962 953 | 
             
              use_c10_dispatcher: full
         | 
| @@ -971,7 +962,6 @@ | |
| 971 962 | 
             
                CUDA: embedding_dense_backward_cuda
         | 
| 972 963 |  | 
| 973 964 | 
             
            - func: embedding_renorm_(Tensor(a!) self, Tensor indices, float max_norm, float norm_type) -> Tensor(a!)
         | 
| 974 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 975 965 | 
             
              dispatch:
         | 
| 976 966 | 
             
                CPU: embedding_renorm_cpu_
         | 
| 977 967 | 
             
                CUDA: embedding_renorm_cuda_
         | 
| @@ -1027,6 +1017,9 @@ | |
| 1027 1017 | 
             
            - func: new_full(Tensor self, int[] size, Scalar fill_value, *, ScalarType? dtype=None, Layout? layout=None, Device? device=None, bool? pin_memory=None) -> Tensor
         | 
| 1028 1018 | 
             
              variants: method
         | 
| 1029 1019 |  | 
| 1020 | 
            +
            - func: new_zeros(Tensor self, int[] size, *, ScalarType? dtype=None, Layout? layout=None, Device? device=None, bool? pin_memory=None) -> Tensor
         | 
| 1021 | 
            +
              variants: method
         | 
| 1022 | 
            +
             | 
| 1030 1023 | 
             
            # other overrides are to provide a more helpful error message that dtype is required
         | 
| 1031 1024 | 
             
            - func: _empty_affine_quantized(int[] size, *, ScalarType? dtype=None, Layout? layout=None, Device? device=None, bool? pin_memory=None, float scale=1, int zero_point=0, MemoryFormat? memory_format=contiguous_format) -> Tensor
         | 
| 1032 1025 | 
             
              dispatch:
         | 
| @@ -1041,8 +1034,7 @@ | |
| 1041 1034 | 
             
                CPU: empty_per_channel_affine_quantized_other_backends_stub
         | 
| 1042 1035 | 
             
                QuantizedCPU: empty_per_channel_affine_quantized_cpu
         | 
| 1043 1036 |  | 
| 1044 | 
            -
            - func: resize_(Tensor(a!) self, int[] size) -> Tensor(a!)
         | 
| 1045 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 1037 | 
            +
            - func: resize_(Tensor(a!) self, int[] size, *, MemoryFormat? memory_format=None) -> Tensor(a!)
         | 
| 1046 1038 | 
             
              supports_named_tensor: True
         | 
| 1047 1039 | 
             
              variants: method
         | 
| 1048 1040 | 
             
              device_guard: False
         | 
| @@ -1054,12 +1046,11 @@ | |
| 1054 1046 | 
             
            - func: empty.out(int[] size, *, MemoryFormat? memory_format=None, Tensor(a!) out) -> Tensor(a!)
         | 
| 1055 1047 | 
             
              device_guard: False
         | 
| 1056 1048 |  | 
| 1057 | 
            -
            - func: empty_like(Tensor self) -> Tensor
         | 
| 1058 | 
            -
              use_c10_dispatcher: full
         | 
| 1049 | 
            +
            - func: empty_like(Tensor self, *, MemoryFormat? memory_format=None) -> Tensor
         | 
| 1059 1050 | 
             
              device_guard: False
         | 
| 1060 1051 | 
             
              supports_named_tensor: True
         | 
| 1061 1052 |  | 
| 1062 | 
            -
            - func: empty_like.dtype(Tensor self, *, ScalarType dtype, Layout layout, Device device, bool pin_memory=False, MemoryFormat? memory_format= | 
| 1053 | 
            +
            - func: empty_like.dtype(Tensor self, *, ScalarType dtype, Layout layout, Device device, bool pin_memory=False, MemoryFormat? memory_format=None) -> Tensor
         | 
| 1063 1054 | 
             
              device_guard: False
         | 
| 1064 1055 | 
             
              supports_named_tensor: True
         | 
| 1065 1056 |  | 
| @@ -1074,7 +1065,6 @@ | |
| 1074 1065 | 
             
              variants: function, method
         | 
| 1075 1066 |  | 
| 1076 1067 | 
             
            - func: erf_(Tensor(a!) self) -> Tensor(a!)
         | 
| 1077 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 1078 1068 | 
             
              supports_named_tensor: True
         | 
| 1079 1069 | 
             
              variants: function, method
         | 
| 1080 1070 | 
             
              dispatch:
         | 
| @@ -1093,7 +1083,6 @@ | |
| 1093 1083 | 
             
              variants: function, method
         | 
| 1094 1084 |  | 
| 1095 1085 | 
             
            - func: erfc_(Tensor(a!) self) -> Tensor(a!)
         | 
| 1096 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 1097 1086 | 
             
              supports_named_tensor: True
         | 
| 1098 1087 | 
             
              variants: function, method
         | 
| 1099 1088 | 
             
              dispatch:
         | 
| @@ -1112,7 +1101,6 @@ | |
| 1112 1101 | 
             
              variants: function, method
         | 
| 1113 1102 |  | 
| 1114 1103 | 
             
            - func: exp_(Tensor(a!) self) -> Tensor(a!)
         | 
| 1115 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 1116 1104 | 
             
              supports_named_tensor: True
         | 
| 1117 1105 | 
             
              variants: function, method
         | 
| 1118 1106 | 
             
              dispatch:
         | 
| @@ -1131,7 +1119,6 @@ | |
| 1131 1119 | 
             
              variants: function, method
         | 
| 1132 1120 |  | 
| 1133 1121 | 
             
            - func: expm1_(Tensor(a!) self) -> Tensor(a!)
         | 
| 1134 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 1135 1122 | 
             
              supports_named_tensor: True
         | 
| 1136 1123 | 
             
              variants: function, method
         | 
| 1137 1124 |  | 
| @@ -1142,7 +1129,6 @@ | |
| 1142 1129 | 
             
                CUDA: expm1_out
         | 
| 1143 1130 |  | 
| 1144 1131 | 
             
            - func: expand(Tensor(a) self, int[] size, *, bool implicit=False) -> Tensor(a)
         | 
| 1145 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 1146 1132 | 
             
              variants: method  # This is method-only to match the previous tensor API. In the future we could make this a function too.
         | 
| 1147 1133 | 
             
              device_guard: False
         | 
| 1148 1134 | 
             
              supports_named_tensor: True
         | 
| @@ -1179,17 +1165,15 @@ | |
| 1179 1165 | 
             
              variants: function, method
         | 
| 1180 1166 | 
             
              supports_named_tensor: True
         | 
| 1181 1167 |  | 
| 1182 | 
            -
            - func: flatten.DimnameList(Tensor self,  | 
| 1168 | 
            +
            - func: flatten.DimnameList(Tensor self, Dimname[] dims, Dimname out_dim) -> Tensor
         | 
| 1183 1169 | 
             
              variants: function, method
         | 
| 1184 1170 | 
             
              supports_named_tensor: True
         | 
| 1185 1171 |  | 
| 1186 1172 | 
             
            - func: fill_.Scalar(Tensor(a!) self, Scalar value) -> Tensor(a!)
         | 
| 1187 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 1188 1173 | 
             
              supports_named_tensor: True
         | 
| 1189 1174 | 
             
              variants: function, method
         | 
| 1190 1175 |  | 
| 1191 1176 | 
             
            - func: fill_.Tensor(Tensor(a!) self, Tensor value) -> Tensor(a!)
         | 
| 1192 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 1193 1177 | 
             
              supports_named_tensor: True
         | 
| 1194 1178 | 
             
              variants: function, method
         | 
| 1195 1179 |  | 
| @@ -1199,7 +1183,6 @@ | |
| 1199 1183 | 
             
              variants: function, method
         | 
| 1200 1184 |  | 
| 1201 1185 | 
             
            - func: floor_(Tensor(a!) self) -> Tensor(a!)
         | 
| 1202 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 1203 1186 | 
             
              supports_named_tensor: True
         | 
| 1204 1187 | 
             
              variants: function, method
         | 
| 1205 1188 |  | 
| @@ -1215,18 +1198,11 @@ | |
| 1215 1198 | 
             
              variants: function, method
         | 
| 1216 1199 |  | 
| 1217 1200 | 
             
            - func: frac_(Tensor(a!) self) -> Tensor(a!)
         | 
| 1218 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 1219 1201 | 
             
              supports_named_tensor: True
         | 
| 1220 1202 | 
             
              variants: function, method
         | 
| 1221 | 
            -
              dispatch:
         | 
| 1222 | 
            -
                CPU: _frac__cpu
         | 
| 1223 | 
            -
                CUDA: _frac__cuda
         | 
| 1224 1203 |  | 
| 1225 1204 | 
             
            - func: frac.out(Tensor self, *, Tensor(a!) out) -> Tensor(a!)
         | 
| 1226 1205 | 
             
              supports_named_tensor: True
         | 
| 1227 | 
            -
              dispatch:
         | 
| 1228 | 
            -
                CPU: _frac_out_cpu
         | 
| 1229 | 
            -
                CUDA: _frac_out_cuda
         | 
| 1230 1206 |  | 
| 1231 1207 | 
             
            - func: full.names(int[] size, Scalar fill_value, *, Dimname[]? names, ScalarType? dtype=None, Layout? layout=None, Device? device=None, bool? pin_memory=None) -> Tensor
         | 
| 1232 1208 | 
             
              device_guard: False
         | 
| @@ -1235,10 +1211,11 @@ | |
| 1235 1211 |  | 
| 1236 1212 | 
             
            - func: full.out(int[] size, Scalar fill_value, *, Tensor(a!) out) -> Tensor(a!)
         | 
| 1237 1213 |  | 
| 1238 | 
            -
            - func: full_like(Tensor self, Scalar fill_value) -> Tensor
         | 
| 1239 | 
            -
               | 
| 1214 | 
            +
            - func: full_like(Tensor self, Scalar fill_value, *, MemoryFormat? memory_format=None) -> Tensor
         | 
| 1215 | 
            +
              supports_named_tensor: True
         | 
| 1240 1216 |  | 
| 1241 | 
            -
            - func: full_like.dtype(Tensor self, Scalar fill_value, *, ScalarType dtype, Layout layout, Device device, bool pin_memory=False) -> Tensor
         | 
| 1217 | 
            +
            - func: full_like.dtype(Tensor self, Scalar fill_value, *, ScalarType dtype, Layout layout, Device device, bool pin_memory=False, MemoryFormat? memory_format=None) -> Tensor
         | 
| 1218 | 
            +
              supports_named_tensor: True
         | 
| 1242 1219 |  | 
| 1243 1220 | 
             
            - func: from_file(str filename, bool? shared=None, int? size=0, *, ScalarType? dtype=None, Layout? layout=None, Device? device=None, bool? pin_memory=None) -> Tensor
         | 
| 1244 1221 | 
             
              dispatch:
         | 
| @@ -1265,7 +1242,6 @@ | |
| 1265 1242 | 
             
                CUDA: grid_sampler_2d_cuda
         | 
| 1266 1243 |  | 
| 1267 1244 | 
             
            - func: grid_sampler_2d_backward(Tensor grad_output, Tensor input, Tensor grid, int interpolation_mode, int padding_mode, bool align_corners) -> (Tensor, Tensor)
         | 
| 1268 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 1269 1245 | 
             
              dispatch:
         | 
| 1270 1246 | 
             
                CPU: grid_sampler_2d_backward_cpu
         | 
| 1271 1247 | 
             
                CUDA: grid_sampler_2d_backward_cuda
         | 
| @@ -1277,7 +1253,6 @@ | |
| 1277 1253 | 
             
                CUDA: grid_sampler_3d_cuda
         | 
| 1278 1254 |  | 
| 1279 1255 | 
             
            - func: grid_sampler_3d_backward(Tensor grad_output, Tensor input, Tensor grid, int interpolation_mode, int padding_mode, bool align_corners) -> (Tensor, Tensor)
         | 
| 1280 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 1281 1256 | 
             
              dispatch:
         | 
| 1282 1257 | 
             
                CPU: grid_sampler_3d_backward_cpu
         | 
| 1283 1258 | 
             
                CUDA: grid_sampler_3d_backward_cuda
         | 
| @@ -1326,11 +1301,9 @@ | |
| 1326 1301 | 
             
              variants: function, method
         | 
| 1327 1302 |  | 
| 1328 1303 | 
             
            - func: irfft(Tensor self, int signal_ndim, bool normalized=False, bool onesided=True, int[] signal_sizes=[]) -> Tensor
         | 
| 1329 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 1330 1304 | 
             
              variants: function, method
         | 
| 1331 1305 |  | 
| 1332 1306 | 
             
            - func: _fft_with_size(Tensor self, int signal_ndim, bool complex_input, bool complex_output, bool inverse, int[] checked_signal_sizes, bool normalized, bool onesided, int[] output_sizes) -> Tensor
         | 
| 1333 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 1334 1307 | 
             
              variants: function
         | 
| 1335 1308 | 
             
              dispatch:
         | 
| 1336 1309 | 
             
                CPU: _fft_mkl
         | 
| @@ -1342,16 +1315,17 @@ | |
| 1342 1315 | 
             
            - func: _cufft_get_plan_cache_max_size(int device_index) -> int
         | 
| 1343 1316 | 
             
              use_c10_dispatcher: full
         | 
| 1344 1317 |  | 
| 1345 | 
            -
            - func: _cufft_set_plan_cache_max_size(int device_index, int max_size) ->  | 
| 1318 | 
            +
            - func: _cufft_set_plan_cache_max_size(int device_index, int max_size) -> ()
         | 
| 1319 | 
            +
              use_c10_dispatcher: unboxed_only
         | 
| 1346 1320 |  | 
| 1347 | 
            -
            - func: _cufft_clear_plan_cache(int device_index) ->  | 
| 1321 | 
            +
            - func: _cufft_clear_plan_cache(int device_index) -> ()
         | 
| 1322 | 
            +
              use_c10_dispatcher: unboxed_only
         | 
| 1348 1323 |  | 
| 1349 1324 | 
             
            - func: index.Tensor(Tensor self, Tensor?[] indices) -> Tensor
         | 
| 1350 1325 | 
             
              variants: function, method
         | 
| 1351 1326 | 
             
              # NB: This function is special-cased in tools/autograd/gen_variable_type.py
         | 
| 1352 1327 |  | 
| 1353 1328 | 
             
            - func: index_copy_(Tensor(a!) self, int dim, Tensor index, Tensor source) -> Tensor(a!)
         | 
| 1354 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 1355 1329 | 
             
              variants: method
         | 
| 1356 1330 |  | 
| 1357 1331 | 
             
            - func: index_copy(Tensor self, int dim, Tensor index, Tensor source) -> Tensor
         | 
| @@ -1444,7 +1418,6 @@ | |
| 1444 1418 | 
             
                CUDA: kl_div_backward_cuda
         | 
| 1445 1419 |  | 
| 1446 1420 | 
             
            - func: kthvalue(Tensor self, int k, int dim=-1, bool keepdim=False) -> (Tensor values, Tensor indices)
         | 
| 1447 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 1448 1421 | 
             
              supports_named_tensor: True
         | 
| 1449 1422 | 
             
              variants: function, method
         | 
| 1450 1423 |  | 
| @@ -1466,14 +1439,12 @@ | |
| 1466 1439 | 
             
            - func: native_layer_norm(Tensor input, Tensor? weight, Tensor? bias, int M, int N, float eps) -> (Tensor, Tensor, Tensor)
         | 
| 1467 1440 | 
             
              dispatch:
         | 
| 1468 1441 | 
             
                CPU: layer_norm_cpu
         | 
| 1442 | 
            +
                CUDA: layer_norm_cuda
         | 
| 1469 1443 |  | 
| 1470 1444 | 
             
            - func: native_layer_norm_backward(Tensor grad_out, Tensor input, Tensor mean, Tensor rstd, Tensor? weight, int M, int N, bool[3] output_mask) -> (Tensor, Tensor, Tensor)
         | 
| 1471 1445 | 
             
              dispatch:
         | 
| 1472 1446 | 
             
                CPU: layer_norm_backward_cpu
         | 
| 1473 | 
            -
             | 
| 1474 | 
            -
            - func: native_layer_norm_double_backward(Tensor? ggI, Tensor? ggW, Tensor? ggb, Tensor gO, Tensor input, Tensor mean, Tensor rstd, Tensor? weight, int M, int N, bool[3] output_mask) -> (Tensor, Tensor, Tensor)
         | 
| 1475 | 
            -
              dispatch:
         | 
| 1476 | 
            -
                CPU: layer_norm_double_backward_cpu
         | 
| 1447 | 
            +
                CUDA: layer_norm_backward_cuda
         | 
| 1477 1448 |  | 
| 1478 1449 | 
             
            - func: linear(Tensor input, Tensor weight, Tensor? bias=None) -> Tensor
         | 
| 1479 1450 | 
             
              python_module: nn
         | 
| @@ -1484,19 +1455,16 @@ | |
| 1484 1455 | 
             
                MkldnnCPU: mkldnn_linear
         | 
| 1485 1456 |  | 
| 1486 1457 | 
             
            - func: fbgemm_linear_int8_weight_fp32_activation(Tensor input, Tensor weight, Tensor packed, Tensor col_offsets, Scalar weight_scale, Scalar weight_zero_point, Tensor bias) -> Tensor
         | 
| 1487 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 1488 1458 |  | 
| 1489 1459 | 
             
            - func: fbgemm_linear_int8_weight(Tensor input, Tensor weight, Tensor packed, Tensor col_offsets, Scalar weight_scale, Scalar weight_zero_point, Tensor bias) -> Tensor
         | 
| 1490 1460 | 
             
              use_c10_dispatcher: full
         | 
| 1491 1461 |  | 
| 1492 1462 | 
             
            - func: fbgemm_linear_quantize_weight(Tensor input) -> (Tensor, Tensor, float, int)
         | 
| 1493 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 1494 1463 |  | 
| 1495 1464 | 
             
            - func: fbgemm_pack_gemm_matrix_fp16(Tensor input) -> Tensor
         | 
| 1496 1465 | 
             
              use_c10_dispatcher: full
         | 
| 1497 1466 |  | 
| 1498 1467 | 
             
            - func: fbgemm_linear_fp16_weight_fp32_activation(Tensor input, Tensor packed_weight, Tensor bias) -> Tensor
         | 
| 1499 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 1500 1468 |  | 
| 1501 1469 | 
             
            - func: fbgemm_linear_fp16_weight(Tensor input, Tensor packed_weight, Tensor bias) -> Tensor
         | 
| 1502 1470 | 
             
              use_c10_dispatcher: full
         | 
| @@ -1520,7 +1488,6 @@ | |
| 1520 1488 | 
             
              variants: function, method
         | 
| 1521 1489 |  | 
| 1522 1490 | 
             
            - func: log_(Tensor(a!) self) -> Tensor(a!)
         | 
| 1523 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 1524 1491 | 
             
              supports_named_tensor: True
         | 
| 1525 1492 | 
             
              variants: function, method
         | 
| 1526 1493 |  | 
| @@ -1536,18 +1503,14 @@ | |
| 1536 1503 | 
             
              variants: function, method
         | 
| 1537 1504 |  | 
| 1538 1505 | 
             
            - func: log10_(Tensor(a!) self) -> Tensor(a!)
         | 
| 1539 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 1540 1506 | 
             
              supports_named_tensor: True
         | 
| 1541 1507 | 
             
              variants: function, method
         | 
| 1542 | 
            -
              dispatch:
         | 
| 1543 | 
            -
                CPU: _log10__cpu
         | 
| 1544 | 
            -
                CUDA: _log10__cuda
         | 
| 1545 1508 |  | 
| 1546 1509 | 
             
            - func: log10.out(Tensor self, *, Tensor(a!) out) -> Tensor(a!)
         | 
| 1547 1510 | 
             
              supports_named_tensor: True
         | 
| 1548 1511 | 
             
              dispatch:
         | 
| 1549 | 
            -
                CPU:  | 
| 1550 | 
            -
                CUDA:  | 
| 1512 | 
            +
                CPU: log10_out
         | 
| 1513 | 
            +
                CUDA: log10_out
         | 
| 1551 1514 |  | 
| 1552 1515 | 
             
            - func: log1p(Tensor self) -> Tensor
         | 
| 1553 1516 | 
             
              use_c10_dispatcher: full
         | 
| @@ -1555,20 +1518,19 @@ | |
| 1555 1518 | 
             
              variants: function, method
         | 
| 1556 1519 |  | 
| 1557 1520 | 
             
            - func: log1p_(Tensor(a!) self) -> Tensor(a!)
         | 
| 1558 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 1559 1521 | 
             
              supports_named_tensor: True
         | 
| 1560 1522 | 
             
              variants: function, method
         | 
| 1561 1523 | 
             
              dispatch:
         | 
| 1562 | 
            -
                CPU:  | 
| 1563 | 
            -
                CUDA:  | 
| 1524 | 
            +
                CPU: log1p_
         | 
| 1525 | 
            +
                CUDA: log1p_
         | 
| 1564 1526 | 
             
                SparseCPU: log1p_sparse_
         | 
| 1565 1527 | 
             
                SparseCUDA: log1p_sparse_
         | 
| 1566 1528 |  | 
| 1567 1529 | 
             
            - func: log1p.out(Tensor self, *, Tensor(a!) out) -> Tensor(a!)
         | 
| 1568 1530 | 
             
              supports_named_tensor: True
         | 
| 1569 1531 | 
             
              dispatch:
         | 
| 1570 | 
            -
                CPU:  | 
| 1571 | 
            -
                CUDA:  | 
| 1532 | 
            +
                CPU: log1p_out
         | 
| 1533 | 
            +
                CUDA: log1p_out
         | 
| 1572 1534 | 
             
                SparseCPU: log1p_out_sparse
         | 
| 1573 1535 | 
             
                SparseCUDA: log1p_out_sparse
         | 
| 1574 1536 |  | 
| @@ -1578,18 +1540,14 @@ | |
| 1578 1540 | 
             
              variants: function, method
         | 
| 1579 1541 |  | 
| 1580 1542 | 
             
            - func: log2_(Tensor(a!) self) -> Tensor(a!)
         | 
| 1581 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 1582 1543 | 
             
              supports_named_tensor: True
         | 
| 1583 1544 | 
             
              variants: function, method
         | 
| 1584 | 
            -
              dispatch:
         | 
| 1585 | 
            -
                CPU: _log2__cpu
         | 
| 1586 | 
            -
                CUDA: _log2__cuda
         | 
| 1587 1545 |  | 
| 1588 1546 | 
             
            - func: log2.out(Tensor self, *, Tensor(a!) out) -> Tensor(a!)
         | 
| 1589 1547 | 
             
              supports_named_tensor: True
         | 
| 1590 1548 | 
             
              dispatch:
         | 
| 1591 | 
            -
                CPU:  | 
| 1592 | 
            -
                CUDA:  | 
| 1549 | 
            +
                CPU: log2_out
         | 
| 1550 | 
            +
                CUDA: log2_out
         | 
| 1593 1551 |  | 
| 1594 1552 | 
             
            - func: logdet(Tensor self) -> Tensor
         | 
| 1595 1553 | 
             
              use_c10_dispatcher: full
         | 
| @@ -1603,11 +1561,11 @@ | |
| 1603 1561 | 
             
                CUDA: logspace_cuda_out
         | 
| 1604 1562 |  | 
| 1605 1563 | 
             
            # log_softmax allows positional dtype, unlike most operators, because kwonly is BC-breaking when loading jit models.
         | 
| 1606 | 
            -
            - func: log_softmax(Tensor self, int dim, ScalarType? dtype=None) -> Tensor
         | 
| 1564 | 
            +
            - func: log_softmax.int(Tensor self, int dim, ScalarType? dtype=None) -> Tensor
         | 
| 1607 1565 | 
             
              variants: function, method
         | 
| 1608 1566 | 
             
              supports_named_tensor: True
         | 
| 1609 1567 |  | 
| 1610 | 
            -
            - func: log_softmax(Tensor self, Dimname dim, *, ScalarType? dtype=None) -> Tensor
         | 
| 1568 | 
            +
            - func: log_softmax.Dimname(Tensor self, Dimname dim, *, ScalarType? dtype=None) -> Tensor
         | 
| 1611 1569 | 
             
              variants: function, method
         | 
| 1612 1570 | 
             
              supports_named_tensor: True
         | 
| 1613 1571 |  | 
| @@ -1624,7 +1582,6 @@ | |
| 1624 1582 | 
             
                CUDA: log_softmax_backward_cuda
         | 
| 1625 1583 |  | 
| 1626 1584 | 
             
            - func: logsumexp(Tensor self, int[1] dim, bool keepdim=False) -> Tensor
         | 
| 1627 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 1628 1585 | 
             
              supports_named_tensor: True
         | 
| 1629 1586 | 
             
              variants: function, method
         | 
| 1630 1587 |  | 
| @@ -1660,7 +1617,6 @@ | |
| 1660 1617 | 
             
              variants: function, method
         | 
| 1661 1618 |  | 
| 1662 1619 | 
             
            - func: max.dim(Tensor self, int dim, bool keepdim=False) -> (Tensor values, Tensor indices)
         | 
| 1663 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 1664 1620 | 
             
              variants: function, method
         | 
| 1665 1621 | 
             
              supports_named_tensor: True
         | 
| 1666 1622 |  | 
| @@ -1668,7 +1624,6 @@ | |
| 1668 1624 | 
             
              supports_named_tensor: True
         | 
| 1669 1625 |  | 
| 1670 1626 | 
             
            - func: max_values(Tensor self, int[1] dim, bool keepdim=False) -> Tensor
         | 
| 1671 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 1672 1627 | 
             
              variants: function, method
         | 
| 1673 1628 |  | 
| 1674 1629 | 
             
            - func: max.names_dim(Tensor self, Dimname dim, bool keepdim=False) -> (Tensor values, Tensor indices)
         | 
| @@ -1683,28 +1638,22 @@ | |
| 1683 1638 |  | 
| 1684 1639 | 
             
            # Return: (Tensor output, Tensor indices)
         | 
| 1685 1640 | 
             
            - func: max_pool1d_with_indices(Tensor self, int[1] kernel_size, int[1] stride=[], int[1] padding=0, int[1] dilation=1, bool ceil_mode=False) -> (Tensor, Tensor)
         | 
| 1686 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 1687 1641 |  | 
| 1688 1642 | 
             
            - func: max_pool1d(Tensor self, int[1] kernel_size, int[1] stride=[], int[1] padding=0, int[1] dilation=1, bool ceil_mode=False) -> Tensor
         | 
| 1689 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 1690 1643 |  | 
| 1691 1644 | 
             
            - func: max_pool2d(Tensor self, int[2] kernel_size, int[2] stride=[], int[2] padding=0, int[2] dilation=1, bool ceil_mode=False) -> Tensor
         | 
| 1692 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 1693 1645 |  | 
| 1694 1646 | 
             
            - func: mkldnn_max_pool2d(Tensor self, int[2] kernel_size, int[2] stride=[], int[2] padding=0, int[2] dilation=1, bool ceil_mode=False) -> Tensor
         | 
| 1695 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 1696 1647 | 
             
              requires_tensor: True
         | 
| 1697 1648 | 
             
              dispatch:
         | 
| 1698 1649 | 
             
                MkldnnCPU: mkldnn_max_pool2d
         | 
| 1699 1650 |  | 
| 1700 1651 | 
             
            - func: quantized_max_pool2d(Tensor self, int[2] kernel_size, int[2] stride=[], int[2] padding=0, int[2] dilation=1, bool ceil_mode=False) -> Tensor
         | 
| 1701 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 1702 1652 | 
             
              requires_tensor: True
         | 
| 1703 1653 | 
             
              dispatch:
         | 
| 1704 1654 | 
             
                QuantizedCPU: quantized_max_pool2d
         | 
| 1705 1655 |  | 
| 1706 1656 | 
             
            - func: max_pool3d(Tensor self, int[3] kernel_size, int[3] stride=[], int[3] padding=0, int[3] dilation=1, bool ceil_mode=False) -> Tensor
         | 
| 1707 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 1708 1657 |  | 
| 1709 1658 | 
             
            # The CPU and GPU dispatch variants are named weirdly here because otherwise there
         | 
| 1710 1659 | 
             
            # are namespacing issues in C++
         | 
| @@ -1734,18 +1683,11 @@ | |
| 1734 1683 | 
             
            - func: mean.names_dim(Tensor self, Dimname[1] dim, bool keepdim=False, *, ScalarType? dtype=None) -> Tensor
         | 
| 1735 1684 | 
             
              variants: function, method
         | 
| 1736 1685 | 
             
              supports_named_tensor: True
         | 
| 1737 | 
            -
              dispatch:
         | 
| 1738 | 
            -
                CPU: mean_cpu_gpu
         | 
| 1739 | 
            -
                CUDA: mean_cpu_gpu
         | 
| 1740 1686 |  | 
| 1741 1687 | 
             
            - func: mean.names_out(Tensor self, Dimname[1] dim, bool keepdim=False, *, ScalarType? dtype=None, Tensor(a!) out) -> Tensor(a!)
         | 
| 1742 1688 | 
             
              supports_named_tensor: True
         | 
| 1743 | 
            -
              dispatch:
         | 
| 1744 | 
            -
                CPU: mean_out_cpu_gpu
         | 
| 1745 | 
            -
                CUDA: mean_out_cpu_gpu
         | 
| 1746 1689 |  | 
| 1747 1690 | 
             
            - func: median.dim(Tensor self, int dim, bool keepdim=False) -> (Tensor values, Tensor indices)
         | 
| 1748 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 1749 1691 | 
             
              supports_named_tensor: True
         | 
| 1750 1692 | 
             
              variants: function, method
         | 
| 1751 1693 |  | 
| @@ -1760,7 +1702,6 @@ | |
| 1760 1702 | 
             
              supports_named_tensor: True
         | 
| 1761 1703 |  | 
| 1762 1704 | 
             
            - func: min.dim(Tensor self, int dim, bool keepdim=False) -> (Tensor values, Tensor indices)
         | 
| 1763 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 1764 1705 | 
             
              variants: function, method
         | 
| 1765 1706 | 
             
              supports_named_tensor: True
         | 
| 1766 1707 |  | 
| @@ -1768,7 +1709,6 @@ | |
| 1768 1709 | 
             
              supports_named_tensor: True
         | 
| 1769 1710 |  | 
| 1770 1711 | 
             
            - func: min_values(Tensor self, int[1] dim, bool keepdim=False) -> Tensor
         | 
| 1771 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 1772 1712 | 
             
              variants: function, method
         | 
| 1773 1713 |  | 
| 1774 1714 | 
             
            - func: min.names_dim(Tensor self, Dimname dim, bool keepdim=False) -> (Tensor values, Tensor indices)
         | 
| @@ -1784,13 +1724,10 @@ | |
| 1784 1724 | 
             
            - func: mkldnn_convolution(Tensor self, Tensor weight, Tensor? bias, int[] padding, int[] stride, int[] dilation, int groups) -> Tensor
         | 
| 1785 1725 |  | 
| 1786 1726 | 
             
            - func: mkldnn_convolution_backward_input(int[] self_size, Tensor grad_output, Tensor weight, int[] padding, int[] stride, int[] dilation, int groups, bool bias_defined) -> Tensor
         | 
| 1787 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 1788 1727 |  | 
| 1789 1728 | 
             
            - func: mkldnn_convolution_backward_weights(int[] weight_size, Tensor grad_output, Tensor self, int[] padding, int[] stride, int[] dilation, int groups, bool bias_defined) -> (Tensor, Tensor)
         | 
| 1790 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 1791 1729 |  | 
| 1792 1730 | 
             
            - func: mkldnn_convolution_backward(Tensor self, Tensor grad_output, Tensor weight, int[] padding, int[] stride, int[] dilation, int groups, bool[3] output_mask) -> (Tensor, Tensor, Tensor)
         | 
| 1793 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 1794 1731 |  | 
| 1795 1732 | 
             
            - func: miopen_batch_norm(Tensor input, Tensor weight, Tensor? bias, Tensor? running_mean, Tensor? running_var, bool training, float exponential_average_factor, float epsilon) -> (Tensor, Tensor, Tensor)
         | 
| 1796 1733 | 
             
              dispatch:
         | 
| @@ -1805,12 +1742,10 @@ | |
| 1805 1742 | 
             
                CUDA: miopen_convolution
         | 
| 1806 1743 |  | 
| 1807 1744 | 
             
            - func: miopen_convolution_backward_input(int[] self_size, Tensor grad_output, Tensor weight, int[] padding, int[] stride, int[] dilation, int groups, bool benchmark, bool deterministic) -> Tensor
         | 
| 1808 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 1809 1745 | 
             
              dispatch:
         | 
| 1810 1746 | 
             
                CUDA: miopen_convolution_backward_input
         | 
| 1811 1747 |  | 
| 1812 1748 | 
             
            - func: miopen_convolution_backward(Tensor self, Tensor grad_output, Tensor weight, int[] padding, int[] stride, int[] dilation, int groups, bool benchmark, bool deterministic, bool[3] output_mask) -> (Tensor, Tensor, Tensor)
         | 
| 1813 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 1814 1749 | 
             
              dispatch:
         | 
| 1815 1750 | 
             
                CUDA: miopen_convolution_backward
         | 
| 1816 1751 |  | 
| @@ -1820,7 +1755,6 @@ | |
| 1820 1755 | 
             
                CUDA: miopen_convolution_backward_bias
         | 
| 1821 1756 |  | 
| 1822 1757 | 
             
            - func: miopen_convolution_backward_weight(int[] weight_size, Tensor grad_output, Tensor self, int[] padding, int[] stride, int[] dilation, int groups, bool benchmark, bool deterministic) -> Tensor
         | 
| 1823 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 1824 1758 | 
             
              dispatch:
         | 
| 1825 1759 | 
             
                CUDA: miopen_convolution_backward_weight
         | 
| 1826 1760 |  | 
| @@ -1831,17 +1765,14 @@ | |
| 1831 1765 | 
             
            # NB: output_padding not strictly needed here, but it's helpful for the float
         | 
| 1832 1766 | 
             
            # backwards
         | 
| 1833 1767 | 
             
            - func: miopen_convolution_transpose_backward(Tensor self, Tensor grad_output, Tensor weight, int[] padding, int[] output_padding, int[] stride, int[] dilation, int groups, bool benchmark, bool deterministic, bool[3] output_mask) -> (Tensor, Tensor, Tensor)
         | 
| 1834 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 1835 1768 | 
             
              dispatch:
         | 
| 1836 1769 | 
             
                CUDA: miopen_convolution_transpose_backward
         | 
| 1837 1770 |  | 
| 1838 1771 | 
             
            - func: miopen_convolution_transpose_backward_input(Tensor grad_output, Tensor weight, int[] padding, int[] stride, int[] dilation, int groups, bool benchmark, bool deterministic) -> Tensor
         | 
| 1839 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 1840 1772 | 
             
              dispatch:
         | 
| 1841 1773 | 
             
                CUDA: miopen_convolution_transpose_backward_input
         | 
| 1842 1774 |  | 
| 1843 1775 | 
             
            - func: miopen_convolution_transpose_backward_weight(int[] weight_size, Tensor grad_output, Tensor self, int[] padding, int[] stride, int[] dilation, int groups, bool benchmark, bool deterministic) -> Tensor
         | 
| 1844 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 1845 1776 | 
             
              dispatch:
         | 
| 1846 1777 | 
             
                CUDA: miopen_convolution_transpose_backward_weight
         | 
| 1847 1778 |  | 
| @@ -1850,17 +1781,14 @@ | |
| 1850 1781 | 
             
                CUDA: miopen_depthwise_convolution
         | 
| 1851 1782 |  | 
| 1852 1783 | 
             
            - func: miopen_depthwise_convolution_backward_input(int[] self_size, Tensor grad_output, Tensor weight, int[] padding, int[] stride, int[] dilation, int groups, bool benchmark, bool deterministic) -> Tensor
         | 
| 1853 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 1854 1784 | 
             
              dispatch:
         | 
| 1855 1785 | 
             
                CUDA: miopen_depthwise_convolution_backward_input
         | 
| 1856 1786 |  | 
| 1857 1787 | 
             
            - func: miopen_depthwise_convolution_backward(Tensor self, Tensor grad_output, Tensor weight, int[] padding, int[] stride, int[] dilation, int groups, bool benchmark, bool deterministic, bool[3] output_mask) -> (Tensor, Tensor, Tensor)
         | 
| 1858 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 1859 1788 | 
             
              dispatch:
         | 
| 1860 1789 | 
             
                CUDA: miopen_depthwise_convolution_backward
         | 
| 1861 1790 |  | 
| 1862 1791 | 
             
            - func: miopen_depthwise_convolution_backward_weight(int[] weight_size, Tensor grad_output, Tensor self, int[] padding, int[] stride, int[] dilation, int groups, bool benchmark, bool deterministic) -> Tensor
         | 
| 1863 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 1864 1792 | 
             
              dispatch:
         | 
| 1865 1793 | 
             
                CUDA: miopen_depthwise_convolution_backward_weight
         | 
| 1866 1794 |  | 
| @@ -1894,7 +1822,6 @@ | |
| 1894 1822 | 
             
              use_c10_dispatcher: full
         | 
| 1895 1823 |  | 
| 1896 1824 | 
             
            - func: mode(Tensor self, int dim=-1, bool keepdim=False) -> (Tensor values, Tensor indices)
         | 
| 1897 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 1898 1825 | 
             
              supports_named_tensor: True
         | 
| 1899 1826 | 
             
              variants: function, method
         | 
| 1900 1827 |  | 
| @@ -1920,7 +1847,6 @@ | |
| 1920 1847 | 
             
              supports_named_tensor: True
         | 
| 1921 1848 |  | 
| 1922 1849 | 
             
            - func: mul_.Tensor(Tensor(a!) self, Tensor other) -> Tensor(a!)
         | 
| 1923 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 1924 1850 | 
             
              variants: method
         | 
| 1925 1851 | 
             
              dispatch:
         | 
| 1926 1852 | 
             
                CPU: mul_
         | 
| @@ -1945,7 +1871,6 @@ | |
| 1945 1871 | 
             
              variants: function, method
         | 
| 1946 1872 |  | 
| 1947 1873 | 
             
            - func: mul_.Scalar(Tensor(a!) self, Scalar other) -> Tensor(a!)
         | 
| 1948 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 1949 1874 | 
             
              variants: method
         | 
| 1950 1875 |  | 
| 1951 1876 | 
             
            - func: mv(Tensor self, Tensor vec) -> Tensor
         | 
| @@ -1967,7 +1892,6 @@ | |
| 1967 1892 | 
             
              variants: function, method
         | 
| 1968 1893 |  | 
| 1969 1894 | 
             
            - func: mvlgamma_(Tensor(a!) self, int p) -> Tensor(a!)
         | 
| 1970 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 1971 1895 | 
             
              variants: method
         | 
| 1972 1896 |  | 
| 1973 1897 | 
             
            - func: narrow_copy(Tensor self, int dim, int start, int length) -> Tensor
         | 
| @@ -1980,7 +1904,6 @@ | |
| 1980 1904 | 
             
                SparseCUDA: narrow_copy_sparse
         | 
| 1981 1905 |  | 
| 1982 1906 | 
             
            - func: narrow(Tensor(a) self, int dim, int start, int length) -> Tensor(a)
         | 
| 1983 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 1984 1907 | 
             
              variants: function, method
         | 
| 1985 1908 | 
             
              device_guard: False
         | 
| 1986 1909 | 
             
              supports_named_tensor: True
         | 
| @@ -1992,7 +1915,6 @@ | |
| 1992 1915 | 
             
                MkldnnCPU: mkldnn_batch_norm
         | 
| 1993 1916 |  | 
| 1994 1917 | 
             
            - func: batch_norm_stats(Tensor input, float eps) -> (Tensor, Tensor)
         | 
| 1995 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 1996 1918 | 
             
              dispatch:
         | 
| 1997 1919 | 
             
                CUDA: batch_norm_stats_cuda
         | 
| 1998 1920 |  | 
| @@ -2000,6 +1922,10 @@ | |
| 2000 1922 | 
             
              dispatch:
         | 
| 2001 1923 | 
             
                CUDA: batch_norm_elemt_cuda
         | 
| 2002 1924 |  | 
| 1925 | 
            +
            - func: batch_norm_elemt.out(Tensor input, Tensor? weight, Tensor? bias, Tensor mean, Tensor invstd, float eps, *, Tensor(a!) out) -> Tensor(a!)
         | 
| 1926 | 
            +
              dispatch:
         | 
| 1927 | 
            +
                CUDA: batch_norm_elemt_cuda_out
         | 
| 1928 | 
            +
             | 
| 2003 1929 | 
             
            # for backward compatibility
         | 
| 2004 1930 | 
             
            - func: batch_norm_gather_stats(Tensor input, Tensor mean, Tensor invstd, Tensor? running_mean, Tensor? running_var, float momentum, float eps, int count) -> (Tensor, Tensor)
         | 
| 2005 1931 | 
             
              dispatch:
         | 
| @@ -2030,19 +1956,16 @@ | |
| 2030 1956 | 
             
            - func: _nnpack_available() -> bool
         | 
| 2031 1957 | 
             
              use_c10_dispatcher: full
         | 
| 2032 1958 |  | 
| 2033 | 
            -
            - func: _nnpack_spatial_convolution(Tensor input, Tensor weight, Tensor? bias, int[2] padding) -> Tensor
         | 
| 1959 | 
            +
            - func: _nnpack_spatial_convolution(Tensor input, Tensor weight, Tensor? bias, int[2] padding, int[2] stride=1) -> Tensor
         | 
| 2034 1960 | 
             
              variants: function
         | 
| 2035 1961 |  | 
| 2036 1962 | 
             
            - func: _nnpack_spatial_convolution_backward(Tensor input, Tensor grad_output, Tensor weight, int[2] padding, bool[3] output_mask) -> (Tensor, Tensor, Tensor)
         | 
| 2037 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 2038 1963 | 
             
              variants: function
         | 
| 2039 1964 |  | 
| 2040 1965 | 
             
            - func: _nnpack_spatial_convolution_backward_input(Tensor input, Tensor grad_output, Tensor weight, int[2] padding) -> Tensor
         | 
| 2041 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 2042 1966 | 
             
              variants: function
         | 
| 2043 1967 |  | 
| 2044 1968 | 
             
            - func: _nnpack_spatial_convolution_backward_weight(Tensor input, int[] weightsize, Tensor grad_output, int[2] padding) -> Tensor
         | 
| 2045 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 2046 1969 | 
             
              variants: function
         | 
| 2047 1970 |  | 
| 2048 1971 | 
             
            - func: ones.names(int[] size, *, Dimname[]? names, ScalarType? dtype=None, Layout? layout=None, Device? device=None, bool? pin_memory=None) -> Tensor
         | 
| @@ -2052,16 +1975,18 @@ | |
| 2052 1975 |  | 
| 2053 1976 | 
             
            - func: ones.out(int[] size, *, Tensor(a!) out) -> Tensor(a!)
         | 
| 2054 1977 |  | 
| 2055 | 
            -
            - func: ones_like(Tensor self) -> Tensor
         | 
| 2056 | 
            -
               | 
| 1978 | 
            +
            - func: ones_like(Tensor self, *, MemoryFormat? memory_format=None) -> Tensor
         | 
| 1979 | 
            +
              supports_named_tensor: True
         | 
| 2057 1980 |  | 
| 2058 | 
            -
            - func: ones_like.dtype(Tensor self, *, ScalarType dtype, Layout layout, Device device, bool pin_memory=False) -> Tensor
         | 
| 1981 | 
            +
            - func: ones_like.dtype(Tensor self, *, ScalarType dtype, Layout layout, Device device, bool pin_memory=False, MemoryFormat? memory_format=None) -> Tensor
         | 
| 1982 | 
            +
              supports_named_tensor: True
         | 
| 2059 1983 |  | 
| 2060 1984 | 
             
            - func: pairwise_distance(Tensor x1, Tensor x2, float p=2, float eps=1e-06, bool keepdim=False) -> Tensor
         | 
| 2061 1985 | 
             
              use_c10_dispatcher: full
         | 
| 2062 1986 |  | 
| 2063 | 
            -
            - func: cdist(Tensor x1, Tensor x2, float p=2) -> Tensor
         | 
| 1987 | 
            +
            - func: cdist(Tensor x1, Tensor x2, float p=2, int? compute_mode=None) -> Tensor
         | 
| 2064 1988 | 
             
              use_c10_dispatcher: full
         | 
| 1989 | 
            +
              supports_named_tensor: True
         | 
| 2065 1990 |  | 
| 2066 1991 | 
             
            - func: _cdist_backward(Tensor grad, Tensor x1, Tensor x2, float p, Tensor cdist) -> Tensor
         | 
| 2067 1992 | 
             
              use_c10_dispatcher: full
         | 
| @@ -2080,7 +2005,6 @@ | |
| 2080 2005 | 
             
              variants: function
         | 
| 2081 2006 |  | 
| 2082 2007 | 
             
            - func: permute(Tensor(a) self, int[] dims) -> Tensor(a)
         | 
| 2083 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 2084 2008 | 
             
              variants: method  # This is method-only to match the previous tensor API. In the future we could make this a function too.
         | 
| 2085 2009 |  | 
| 2086 2010 | 
             
            # Only exposed from C++ -- in Python,
         | 
| @@ -2091,7 +2015,6 @@ | |
| 2091 2015 | 
             
            # behavior on Windows, for reasons I don't understand
         | 
| 2092 2016 | 
             
            # (maybe related to capital letter collation somehow...)
         | 
| 2093 2017 | 
             
            - func: numpy_T(Tensor(a) self) -> Tensor(a)
         | 
| 2094 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 2095 2018 | 
             
              variants: method
         | 
| 2096 2019 |  | 
| 2097 2020 | 
             
            - func: pixel_shuffle(Tensor self, int upscale_factor) -> Tensor
         | 
| @@ -2130,10 +2053,11 @@ | |
| 2130 2053 |  | 
| 2131 2054 | 
             
            - func: rand.generator_out(int[] size, *, Generator? generator, Tensor(a!) out) -> Tensor(a!)
         | 
| 2132 2055 |  | 
| 2133 | 
            -
            - func: rand_like(Tensor self) -> Tensor
         | 
| 2134 | 
            -
               | 
| 2056 | 
            +
            - func: rand_like(Tensor self, *, MemoryFormat? memory_format=None) -> Tensor
         | 
| 2057 | 
            +
              supports_named_tensor: True
         | 
| 2135 2058 |  | 
| 2136 | 
            -
            - func: rand_like.dtype(Tensor self, *, ScalarType dtype, Layout layout, Device device, bool pin_memory=False) -> Tensor
         | 
| 2059 | 
            +
            - func: rand_like.dtype(Tensor self, *, ScalarType dtype, Layout layout, Device device, bool pin_memory=False, MemoryFormat? memory_format=None) -> Tensor
         | 
| 2060 | 
            +
              supports_named_tensor: True
         | 
| 2137 2061 |  | 
| 2138 2062 | 
             
            - func: randint(int high, int[] size, *, ScalarType? dtype=None, Layout? layout=None, Device? device=None, bool? pin_memory=None) -> Tensor
         | 
| 2139 2063 |  | 
| @@ -2151,15 +2075,13 @@ | |
| 2151 2075 |  | 
| 2152 2076 | 
             
            - func: randint.low_generator_out(int low, int high, int[] size, *, Generator? generator, Tensor(a!) out) -> Tensor(a!)
         | 
| 2153 2077 |  | 
| 2154 | 
            -
            - func: randint_like(Tensor self, int high) -> Tensor
         | 
| 2155 | 
            -
              use_c10_dispatcher: full
         | 
| 2078 | 
            +
            - func: randint_like(Tensor self, int high, *, MemoryFormat? memory_format=None) -> Tensor
         | 
| 2156 2079 |  | 
| 2157 | 
            -
            - func: randint_like.low(Tensor self, int low, int high) -> Tensor
         | 
| 2158 | 
            -
              use_c10_dispatcher: full
         | 
| 2080 | 
            +
            - func: randint_like.low(Tensor self, int low, int high, *, MemoryFormat? memory_format=None) -> Tensor
         | 
| 2159 2081 |  | 
| 2160 | 
            -
            - func: randint_like.dtype(Tensor self, int high, *, ScalarType dtype, Layout layout, Device device, bool pin_memory=False) -> Tensor
         | 
| 2082 | 
            +
            - func: randint_like.dtype(Tensor self, int high, *, ScalarType dtype, Layout layout, Device device, bool pin_memory=False, MemoryFormat? memory_format=None) -> Tensor
         | 
| 2161 2083 |  | 
| 2162 | 
            -
            - func: randint_like.low_dtype(Tensor self, int low, int high, *, ScalarType dtype, Layout layout, Device device, bool pin_memory=False) -> Tensor
         | 
| 2084 | 
            +
            - func: randint_like.low_dtype(Tensor self, int low, int high, *, ScalarType dtype, Layout layout, Device device, bool pin_memory=False, MemoryFormat? memory_format=None) -> Tensor
         | 
| 2163 2085 |  | 
| 2164 2086 | 
             
            - func: randn(int[] size, *, ScalarType? dtype=None, Layout? layout=None, Device? device=None, bool? pin_memory=None) -> Tensor
         | 
| 2165 2087 |  | 
| @@ -2175,10 +2097,11 @@ | |
| 2175 2097 |  | 
| 2176 2098 | 
             
            - func: randn.generator_out(int[] size, *, Generator? generator, Tensor(a!) out) -> Tensor(a!)
         | 
| 2177 2099 |  | 
| 2178 | 
            -
            - func: randn_like(Tensor self) -> Tensor
         | 
| 2179 | 
            -
               | 
| 2100 | 
            +
            - func: randn_like(Tensor self, *, MemoryFormat? memory_format=None) -> Tensor
         | 
| 2101 | 
            +
              supports_named_tensor: True
         | 
| 2180 2102 |  | 
| 2181 | 
            -
            - func: randn_like.dtype(Tensor self, *, ScalarType dtype, Layout layout, Device device, bool pin_memory=False) -> Tensor
         | 
| 2103 | 
            +
            - func: randn_like.dtype(Tensor self, *, ScalarType dtype, Layout layout, Device device, bool pin_memory=False, MemoryFormat? memory_format=None) -> Tensor
         | 
| 2104 | 
            +
              supports_named_tensor: True
         | 
| 2182 2105 |  | 
| 2183 2106 | 
             
            - func: randperm(int n, *, ScalarType? dtype=None, Layout? layout=None, Device? device=None, bool? pin_memory=None) -> Tensor
         | 
| 2184 2107 |  | 
| @@ -2206,7 +2129,6 @@ | |
| 2206 2129 | 
             
              variants: function, method
         | 
| 2207 2130 |  | 
| 2208 2131 | 
             
            - func: reciprocal_(Tensor(a!) self) -> Tensor(a!)
         | 
| 2209 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 2210 2132 | 
             
              supports_named_tensor: True
         | 
| 2211 2133 | 
             
              variants: function, method
         | 
| 2212 2134 | 
             
              dispatch:
         | 
| @@ -2225,7 +2147,6 @@ | |
| 2225 2147 | 
             
              variants: function, method
         | 
| 2226 2148 |  | 
| 2227 2149 | 
             
            - func: neg_(Tensor(a!) self) -> Tensor(a!)
         | 
| 2228 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 2229 2150 | 
             
              supports_named_tensor: True
         | 
| 2230 2151 | 
             
              variants: function, method
         | 
| 2231 2152 |  | 
| @@ -2236,7 +2157,6 @@ | |
| 2236 2157 | 
             
                CUDA: neg_out
         | 
| 2237 2158 |  | 
| 2238 2159 | 
             
            - func: repeat(Tensor self, int[] repeats) -> Tensor
         | 
| 2239 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 2240 2160 | 
             
              variants: method  # This is method-only to match the previous tensor API. In the future we could make this a function too.
         | 
| 2241 2161 |  | 
| 2242 2162 | 
             
            - func: repeat_interleave.Tensor(Tensor repeats) -> Tensor
         | 
| @@ -2255,13 +2175,11 @@ | |
| 2255 2175 | 
             
              variants: function, method
         | 
| 2256 2176 |  | 
| 2257 2177 | 
             
            - func: reshape(Tensor self, int[] shape) -> Tensor
         | 
| 2258 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 2259 2178 | 
             
              variants: function, method
         | 
| 2260 2179 | 
             
              device_guard: False
         | 
| 2261 2180 | 
             
              supports_named_tensor: True
         | 
| 2262 2181 |  | 
| 2263 2182 | 
             
            - func: _mkldnn_reshape(Tensor self, int[] shape) -> Tensor
         | 
| 2264 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 2265 2183 | 
             
              device_guard: False
         | 
| 2266 2184 | 
             
              requires_tensor: True
         | 
| 2267 2185 | 
             
              dispatch:
         | 
| @@ -2278,7 +2196,6 @@ | |
| 2278 2196 | 
             
              variants: function, method
         | 
| 2279 2197 |  | 
| 2280 2198 | 
             
            - func: round_(Tensor(a!) self) -> Tensor(a!)
         | 
| 2281 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 2282 2199 | 
             
              supports_named_tensor: True
         | 
| 2283 2200 | 
             
              variants: function, method
         | 
| 2284 2201 |  | 
| @@ -2289,10 +2206,8 @@ | |
| 2289 2206 | 
             
                CUDA: round_out
         | 
| 2290 2207 |  | 
| 2291 2208 | 
             
            - func: rrelu(Tensor self, Scalar lower=0.125, Scalar upper=0.3333333333333333, bool training=False, Generator? generator=None) -> Tensor
         | 
| 2292 | 
            -
              use_c10_dispatcher: 'unboxed_only'
         | 
| 2293 2209 |  | 
| 2294 2210 | 
             
            - func: rrelu_(Tensor(a!) self, Scalar lower=0.125, Scalar upper=0.3333333333333333, bool training=False, Generator? generator=None) -> Tensor(a!)
         | 
| 2295 | 
            -
              use_c10_dispatcher: 'unboxed_only'
         | 
| 2296 2211 |  | 
| 2297 2212 | 
             
            - func: relu(Tensor self) -> Tensor
         | 
| 2298 2213 | 
             
              use_c10_dispatcher: full
         | 
| @@ -2305,7 +2220,6 @@ | |
| 2305 2220 | 
             
              supports_named_tensor: True
         | 
| 2306 2221 |  | 
| 2307 2222 | 
             
            - func: relu_(Tensor(a!) self) -> Tensor(a!)
         | 
| 2308 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 2309 2223 | 
             
              supports_named_tensor: True
         | 
| 2310 2224 | 
             
              variants: function, method
         | 
| 2311 2225 | 
             
              dispatch:
         | 
| @@ -2322,7 +2236,6 @@ | |
| 2322 2236 | 
             
                CUDA: prelu_cuda
         | 
| 2323 2237 |  | 
| 2324 2238 | 
             
            - func: prelu_backward(Tensor grad_output, Tensor self, Tensor weight) -> (Tensor, Tensor)
         | 
| 2325 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 2326 2239 | 
             
              variants: function, method
         | 
| 2327 2240 | 
             
              dispatch:
         | 
| 2328 2241 | 
             
                CPU: prelu_backward_cpu
         | 
| @@ -2362,7 +2275,6 @@ | |
| 2362 2275 | 
             
              variants: function, method
         | 
| 2363 2276 |  | 
| 2364 2277 | 
             
            - func: rsqrt_(Tensor(a!) self) -> Tensor(a!)
         | 
| 2365 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 2366 2278 | 
             
              supports_named_tensor: True
         | 
| 2367 2279 | 
             
              variants: function, method
         | 
| 2368 2280 |  | 
| @@ -2378,7 +2290,6 @@ | |
| 2378 2290 | 
             
              supports_named_tensor: True
         | 
| 2379 2291 |  | 
| 2380 2292 | 
             
            - func: select.int(Tensor(a) self, int dim, int index) -> Tensor(a)
         | 
| 2381 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 2382 2293 | 
             
              variants: function, method
         | 
| 2383 2294 | 
             
              device_guard: False
         | 
| 2384 2295 | 
             
              supports_named_tensor: True
         | 
| @@ -2387,13 +2298,11 @@ | |
| 2387 2298 | 
             
              use_c10_dispatcher: full
         | 
| 2388 2299 |  | 
| 2389 2300 | 
             
            - func: selu_(Tensor(a!) self) -> Tensor(a!)
         | 
| 2390 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 2391 2301 |  | 
| 2392 2302 | 
             
            - func: celu(Tensor self, Scalar alpha=1.0) -> Tensor
         | 
| 2393 2303 | 
             
              use_c10_dispatcher: full
         | 
| 2394 2304 |  | 
| 2395 2305 | 
             
            - func: celu_(Tensor(a!) self, Scalar alpha=1.0) -> Tensor(a!)
         | 
| 2396 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 2397 2306 |  | 
| 2398 2307 |  | 
| 2399 2308 | 
             
            - func: sigmoid(Tensor self) -> Tensor
         | 
| @@ -2406,19 +2315,15 @@ | |
| 2406 2315 | 
             
                MkldnnCPU: mkldnn_sigmoid
         | 
| 2407 2316 |  | 
| 2408 2317 | 
             
            - func: sigmoid_(Tensor(a!) self) -> Tensor(a!)
         | 
| 2409 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 2410 2318 | 
             
              supports_named_tensor: True
         | 
| 2411 2319 | 
             
              variants: function, method
         | 
| 2412 2320 | 
             
              dispatch:
         | 
| 2413 | 
            -
                CPU:  | 
| 2414 | 
            -
                CUDA:  | 
| 2321 | 
            +
                CPU: sigmoid_
         | 
| 2322 | 
            +
                CUDA: sigmoid_
         | 
| 2415 2323 | 
             
                MkldnnCPU: mkldnn_sigmoid_
         | 
| 2416 2324 |  | 
| 2417 2325 | 
             
            - func: sigmoid.out(Tensor self, *, Tensor(a!) out) -> Tensor(a!)
         | 
| 2418 2326 | 
             
              supports_named_tensor: True
         | 
| 2419 | 
            -
              dispatch:
         | 
| 2420 | 
            -
                CPU: _sigmoid_out_cpu
         | 
| 2421 | 
            -
                CUDA: _sigmoid_out_cuda
         | 
| 2422 2327 |  | 
| 2423 2328 | 
             
            - func: sin(Tensor self) -> Tensor
         | 
| 2424 2329 | 
             
              use_c10_dispatcher: full
         | 
| @@ -2426,18 +2331,14 @@ | |
| 2426 2331 | 
             
              variants: function, method
         | 
| 2427 2332 |  | 
| 2428 2333 | 
             
            - func: sin_(Tensor(a!) self) -> Tensor(a!)
         | 
| 2429 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 2430 2334 | 
             
              supports_named_tensor: True
         | 
| 2431 2335 | 
             
              variants: function, method
         | 
| 2432 | 
            -
              dispatch:
         | 
| 2433 | 
            -
                CPU: _sin__cpu
         | 
| 2434 | 
            -
                CUDA: _sin__cuda
         | 
| 2435 2336 |  | 
| 2436 2337 | 
             
            - func: sin.out(Tensor self, *, Tensor(a!) out) -> Tensor(a!)
         | 
| 2437 2338 | 
             
              supports_named_tensor: True
         | 
| 2438 2339 | 
             
              dispatch:
         | 
| 2439 | 
            -
                CPU:  | 
| 2440 | 
            -
                CUDA:  | 
| 2340 | 
            +
                CPU: sin_out
         | 
| 2341 | 
            +
                CUDA: sin_out
         | 
| 2441 2342 |  | 
| 2442 2343 | 
             
            - func: sinh(Tensor self) -> Tensor
         | 
| 2443 2344 | 
             
              use_c10_dispatcher: full
         | 
| @@ -2445,26 +2346,32 @@ | |
| 2445 2346 | 
             
              variants: function, method
         | 
| 2446 2347 |  | 
| 2447 2348 | 
             
            - func: sinh_(Tensor(a!) self) -> Tensor(a!)
         | 
| 2448 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 2449 2349 | 
             
              supports_named_tensor: True
         | 
| 2450 2350 | 
             
              variants: function, method
         | 
| 2451 | 
            -
              dispatch:
         | 
| 2452 | 
            -
                CPU: _sinh__cpu
         | 
| 2453 | 
            -
                CUDA: _sinh__cuda
         | 
| 2454 2351 |  | 
| 2455 2352 | 
             
            - func: sinh.out(Tensor self, *, Tensor(a!) out) -> Tensor(a!)
         | 
| 2456 2353 | 
             
              supports_named_tensor: True
         | 
| 2457 | 
            -
              dispatch:
         | 
| 2458 | 
            -
                CPU: _sinh_out_cpu
         | 
| 2459 | 
            -
                CUDA: _sinh_out_cuda
         | 
| 2460 2354 |  | 
| 2355 | 
            +
            # Returns a copy of this `Variable` that is detached from its autograd graph.
         | 
| 2356 | 
            +
            # This method is OK to call if the `Variable` is a view.
         | 
| 2357 | 
            +
            #
         | 
| 2358 | 
            +
            # NOTE: Previously, if we change the tensor metadata (e.g. sizes / strides /
         | 
| 2359 | 
            +
            # storage / storage_offset) of a tensor created from `detach()`, those metadata
         | 
| 2360 | 
            +
            # in the original tensor will also be updated. However, the new behavior is that
         | 
| 2361 | 
            +
            # those metadata changes to the detached tensor will not update the original tensor
         | 
| 2362 | 
            +
            # anymore, and in the `detach()` function we need to set `allow_tensor_metadata_change_`
         | 
| 2363 | 
            +
            # to false to make such changes explicitly illegal, in order to prevent users from
         | 
| 2364 | 
            +
            # changing metadata of the detached tensor and expecting the original tensor to also
         | 
| 2365 | 
            +
            # be updated.
         | 
| 2461 2366 | 
             
            - func: detach(Tensor self) -> Tensor
         | 
| 2462 2367 | 
             
              use_c10_dispatcher: full
         | 
| 2463 2368 | 
             
              supports_named_tensor: True
         | 
| 2464 2369 | 
             
              variants: function, method
         | 
| 2465 2370 |  | 
| 2371 | 
            +
            # Like `detach()`, but modifies this `Variable` in-place. This method may
         | 
| 2372 | 
            +
            # only be called on non-view `Variable`s. You can use `is_view()` to check
         | 
| 2373 | 
            +
            # this. If this `Variable` is a view, throws an `std::runtime_error()`.
         | 
| 2466 2374 | 
             
            - func: detach_(Tensor(a!) self) -> Tensor(a!)
         | 
| 2467 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 2468 2375 | 
             
              supports_named_tensor: True
         | 
| 2469 2376 | 
             
              variants: function, method
         | 
| 2470 2377 |  | 
| @@ -2480,13 +2387,11 @@ | |
| 2480 2387 | 
             
              supports_named_tensor: True
         | 
| 2481 2388 |  | 
| 2482 2389 | 
             
            - func: slice.Tensor(Tensor(a) self, int dim=0, int start=0, int end=9223372036854775807, int step=1) -> Tensor(a)
         | 
| 2483 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 2484 2390 | 
             
              variants: function, method
         | 
| 2485 2391 | 
             
              device_guard: False
         | 
| 2486 2392 | 
             
              supports_named_tensor: True
         | 
| 2487 2393 |  | 
| 2488 2394 | 
             
            - func: slogdet(Tensor self) -> (Tensor sign, Tensor logabsdet)
         | 
| 2489 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 2490 2395 | 
             
              variants: function, method
         | 
| 2491 2396 |  | 
| 2492 2397 | 
             
            - func: smm(Tensor self, Tensor mat2) -> Tensor
         | 
| @@ -2494,11 +2399,11 @@ | |
| 2494 2399 | 
             
              variants: function, method
         | 
| 2495 2400 |  | 
| 2496 2401 | 
             
            # softmax allows positional dtype, unlike most operators, because kwonly is BC-breaking when loading jit models.
         | 
| 2497 | 
            -
            - func: softmax(Tensor self, int dim, ScalarType? dtype=None) -> Tensor
         | 
| 2402 | 
            +
            - func: softmax.int(Tensor self, int dim, ScalarType? dtype=None) -> Tensor
         | 
| 2498 2403 | 
             
              variants: function, method
         | 
| 2499 2404 | 
             
              supports_named_tensor: True
         | 
| 2500 2405 |  | 
| 2501 | 
            -
            - func: softmax(Tensor self, Dimname dim, *, ScalarType? dtype=None) -> Tensor
         | 
| 2406 | 
            +
            - func: softmax.Dimname(Tensor self, Dimname dim, *, ScalarType? dtype=None) -> Tensor
         | 
| 2502 2407 | 
             
              variants: function, method
         | 
| 2503 2408 | 
             
              supports_named_tensor: True
         | 
| 2504 2409 |  | 
| @@ -2516,25 +2421,21 @@ | |
| 2516 2421 | 
             
                CUDA: softmax_backward_cuda
         | 
| 2517 2422 |  | 
| 2518 2423 | 
             
            - func: split.Tensor(Tensor(a) self, int split_size, int dim=0) -> Tensor(a)[]
         | 
| 2519 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 2520 2424 | 
             
              variants: function, method
         | 
| 2521 2425 | 
             
              device_guard: False
         | 
| 2522 2426 | 
             
              supports_named_tensor: True
         | 
| 2523 2427 |  | 
| 2524 2428 | 
             
            - func: split_with_sizes(Tensor self, int[] split_sizes, int dim=0) -> Tensor[]
         | 
| 2525 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 2526 2429 | 
             
              variants: function, method
         | 
| 2527 2430 | 
             
              device_guard: False
         | 
| 2528 2431 | 
             
              supports_named_tensor: True
         | 
| 2529 2432 |  | 
| 2530 2433 | 
             
            - func: squeeze(Tensor(a) self) -> Tensor(a)
         | 
| 2531 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 2532 2434 | 
             
              supports_named_tensor: True
         | 
| 2533 2435 | 
             
              variants: function, method
         | 
| 2534 2436 | 
             
              device_guard: False
         | 
| 2535 2437 |  | 
| 2536 2438 | 
             
            - func: squeeze.dim(Tensor(a) self, int dim) -> Tensor(a)
         | 
| 2537 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 2538 2439 | 
             
              supports_named_tensor: True
         | 
| 2539 2440 | 
             
              variants: function, method
         | 
| 2540 2441 | 
             
              device_guard: False
         | 
| @@ -2545,12 +2446,10 @@ | |
| 2545 2446 | 
             
              device_guard: False
         | 
| 2546 2447 |  | 
| 2547 2448 | 
             
            - func: squeeze_(Tensor(a!) self) -> Tensor(a!)
         | 
| 2548 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 2549 2449 | 
             
              variants: method
         | 
| 2550 2450 | 
             
              device_guard: False
         | 
| 2551 2451 |  | 
| 2552 2452 | 
             
            - func: squeeze_.dim(Tensor(a!) self, int dim) -> Tensor(a!)
         | 
| 2553 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 2554 2453 | 
             
              variants: method
         | 
| 2555 2454 | 
             
              device_guard: False
         | 
| 2556 2455 |  | 
| @@ -2570,7 +2469,6 @@ | |
| 2570 2469 | 
             
                SparseCUDA: _sspaddmm_out_cuda
         | 
| 2571 2470 |  | 
| 2572 2471 | 
             
            - func: stack(Tensor[] tensors, int dim=0) -> Tensor
         | 
| 2573 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 2574 2472 |  | 
| 2575 2473 | 
             
            - func: stack.out(Tensor[] tensors, int dim=0, *, Tensor(a!) out) -> Tensor(a!)
         | 
| 2576 2474 |  | 
| @@ -2611,7 +2509,6 @@ | |
| 2611 2509 | 
             
              supports_named_tensor: True
         | 
| 2612 2510 |  | 
| 2613 2511 | 
             
            - func: sum_to_size(Tensor self, int[] size) -> Tensor
         | 
| 2614 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 2615 2512 | 
             
              variants: method
         | 
| 2616 2513 | 
             
              device_guard: False
         | 
| 2617 2514 |  | 
| @@ -2621,18 +2518,11 @@ | |
| 2621 2518 | 
             
              variants: function, method
         | 
| 2622 2519 |  | 
| 2623 2520 | 
             
            - func: sqrt_(Tensor(a!) self) -> Tensor(a!)
         | 
| 2624 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 2625 2521 | 
             
              supports_named_tensor: True
         | 
| 2626 2522 | 
             
              variants: function, method
         | 
| 2627 | 
            -
              dispatch:
         | 
| 2628 | 
            -
                CPU: _sqrt__cpu
         | 
| 2629 | 
            -
                CUDA: _sqrt__cuda
         | 
| 2630 2523 |  | 
| 2631 2524 | 
             
            - func: sqrt.out(Tensor self, *, Tensor(a!) out) -> Tensor(a!)
         | 
| 2632 2525 | 
             
              supports_named_tensor: True
         | 
| 2633 | 
            -
              dispatch:
         | 
| 2634 | 
            -
                CPU: _sqrt_out_cpu
         | 
| 2635 | 
            -
                CUDA: _sqrt_out_cuda
         | 
| 2636 2526 |  | 
| 2637 2527 | 
             
            - func: std(Tensor self, bool unbiased=True) -> Tensor
         | 
| 2638 2528 | 
             
              use_c10_dispatcher: full
         | 
| @@ -2640,17 +2530,14 @@ | |
| 2640 2530 | 
             
              supports_named_tensor: True
         | 
| 2641 2531 |  | 
| 2642 2532 | 
             
            - func: std.dim(Tensor self, int[1] dim, bool unbiased=True, bool keepdim=False) -> Tensor
         | 
| 2643 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 2644 2533 | 
             
              variants: function, method
         | 
| 2645 2534 | 
             
              supports_named_tensor: True
         | 
| 2646 2535 |  | 
| 2647 2536 | 
             
            - func: std_mean(Tensor self, bool unbiased=True) -> (Tensor, Tensor)
         | 
| 2648 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 2649 2537 | 
             
              variants: function
         | 
| 2650 2538 | 
             
              supports_named_tensor: True
         | 
| 2651 2539 |  | 
| 2652 2540 | 
             
            - func: std_mean.dim(Tensor self, int[1] dim, bool unbiased=True, bool keepdim=False) -> (Tensor, Tensor)
         | 
| 2653 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 2654 2541 | 
             
              variants: function
         | 
| 2655 2542 | 
             
              supports_named_tensor: True
         | 
| 2656 2543 |  | 
| @@ -2688,13 +2575,11 @@ | |
| 2688 2575 |  | 
| 2689 2576 |  | 
| 2690 2577 | 
             
            - func: t(Tensor(a) self) -> Tensor(a)
         | 
| 2691 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 2692 2578 | 
             
              device_guard: False
         | 
| 2693 2579 | 
             
              variants: function, method
         | 
| 2694 2580 | 
             
              supports_named_tensor: True
         | 
| 2695 2581 |  | 
| 2696 2582 | 
             
            - func: t_(Tensor(a!) self) -> Tensor(a!)
         | 
| 2697 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 2698 2583 | 
             
              device_guard: False
         | 
| 2699 2584 | 
             
              variants: method
         | 
| 2700 2585 |  | 
| @@ -2704,7 +2589,6 @@ | |
| 2704 2589 | 
             
              variants: function, method
         | 
| 2705 2590 |  | 
| 2706 2591 | 
             
            - func: tan_(Tensor(a!) self) -> Tensor(a!)
         | 
| 2707 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 2708 2592 | 
             
              supports_named_tensor: True
         | 
| 2709 2593 | 
             
              variants: function, method
         | 
| 2710 2594 | 
             
              dispatch:
         | 
| @@ -2723,7 +2607,6 @@ | |
| 2723 2607 | 
             
              variants: function, method
         | 
| 2724 2608 |  | 
| 2725 2609 | 
             
            - func: tanh_(Tensor(a!) self) -> Tensor(a!)
         | 
| 2726 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 2727 2610 | 
             
              supports_named_tensor: True
         | 
| 2728 2611 | 
             
              variants: function, method
         | 
| 2729 2612 | 
             
              dispatch:
         | 
| @@ -2737,7 +2620,6 @@ | |
| 2737 2620 | 
             
                CUDA: _tanh_out_cuda
         | 
| 2738 2621 |  | 
| 2739 2622 | 
             
            - func: tensordot(Tensor self, Tensor other, int[] dims_self, int[] dims_other) -> Tensor
         | 
| 2740 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 2741 2623 | 
             
              variants: function
         | 
| 2742 2624 |  | 
| 2743 2625 | 
             
            # TODO: namespace threshold in 'nn'
         | 
| @@ -2747,7 +2629,6 @@ | |
| 2747 2629 | 
             
              supports_named_tensor: True
         | 
| 2748 2630 |  | 
| 2749 2631 | 
             
            - func: threshold_(Tensor(a!) self, Scalar threshold, Scalar value) -> Tensor(a!)
         | 
| 2750 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 2751 2632 | 
             
              variants: function
         | 
| 2752 2633 | 
             
              supports_named_tensor: True
         | 
| 2753 2634 |  | 
| @@ -2759,7 +2640,6 @@ | |
| 2759 2640 | 
             
              variants: function
         | 
| 2760 2641 |  | 
| 2761 2642 | 
             
            - func: transpose.int(Tensor(a) self, int dim0, int dim1) -> Tensor(a)
         | 
| 2762 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 2763 2643 | 
             
              variants: function, method
         | 
| 2764 2644 | 
             
              device_guard: False
         | 
| 2765 2645 | 
             
              supports_named_tensor: True
         | 
| @@ -2777,12 +2657,10 @@ | |
| 2777 2657 | 
             
                MkldnnCPU: mkldnn_transpose
         | 
| 2778 2658 |  | 
| 2779 2659 | 
             
            - func: transpose_(Tensor(a!) self, int dim0, int dim1) -> Tensor(a!)
         | 
| 2780 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 2781 2660 | 
             
              variants: method
         | 
| 2782 2661 | 
             
              device_guard: False
         | 
| 2783 2662 |  | 
| 2784 2663 | 
             
            - func: _mkldnn_transpose_(Tensor(a!) self, int dim0, int dim1) -> Tensor(a!)
         | 
| 2785 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 2786 2664 | 
             
              device_guard: False
         | 
| 2787 2665 | 
             
              requires_tensor: True
         | 
| 2788 2666 | 
             
              dispatch:
         | 
| @@ -2794,14 +2672,12 @@ | |
| 2794 2672 | 
             
              variants: function
         | 
| 2795 2673 |  | 
| 2796 2674 | 
             
            - func: flip(Tensor self, int[] dims) -> Tensor
         | 
| 2797 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 2798 2675 | 
             
              variants: function, method
         | 
| 2799 2676 | 
             
              dispatch:
         | 
| 2800 2677 | 
             
                CPU: flip_cpu
         | 
| 2801 2678 | 
             
                CUDA: flip_cuda
         | 
| 2802 2679 |  | 
| 2803 2680 | 
             
            - func: roll(Tensor self, int[1] shifts, int[1] dims=[]) -> Tensor
         | 
| 2804 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 2805 2681 | 
             
              variants: function, method
         | 
| 2806 2682 | 
             
              dispatch:
         | 
| 2807 2683 | 
             
                CPU: roll_cpu
         | 
| @@ -2810,7 +2686,6 @@ | |
| 2810 2686 | 
             
            # default int[] value [0,1] should not add space after comma, since native_parse.py uses ', ' to split args
         | 
| 2811 2687 |  | 
| 2812 2688 | 
             
            - func: rot90(Tensor self, int k=1, int[] dims=[0,1]) -> Tensor
         | 
| 2813 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 2814 2689 | 
             
              variants: function, method
         | 
| 2815 2690 |  | 
| 2816 2691 | 
             
            - func: trapz.x(Tensor y, Tensor x, *, int dim=-1) -> Tensor
         | 
| @@ -2820,7 +2695,6 @@ | |
| 2820 2695 | 
             
              use_c10_dispatcher: full
         | 
| 2821 2696 |  | 
| 2822 2697 | 
             
            - func: _trilinear(Tensor i1, Tensor i2, Tensor i3, int[] expand1, int[] expand2, int[] expand3, int[] sumdim, int unroll_dim=1) -> Tensor
         | 
| 2823 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 2824 2698 |  | 
| 2825 2699 | 
             
            - func: triplet_margin_loss(Tensor anchor, Tensor positive, Tensor negative, float margin=1.0, float p=2, float eps=1e-06, bool swap=False, int reduction=Mean) -> Tensor
         | 
| 2826 2700 | 
             
              use_c10_dispatcher: full
         | 
| @@ -2831,7 +2705,6 @@ | |
| 2831 2705 | 
             
              variants: function, method
         | 
| 2832 2706 |  | 
| 2833 2707 | 
             
            - func: trunc_(Tensor(a!) self) -> Tensor(a!)
         | 
| 2834 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 2835 2708 | 
             
              supports_named_tensor: True
         | 
| 2836 2709 | 
             
              variants: function, method
         | 
| 2837 2710 |  | 
| @@ -2850,28 +2723,24 @@ | |
| 2850 2723 | 
             
              variants: function
         | 
| 2851 2724 |  | 
| 2852 2725 | 
             
            - func: _unique(Tensor self, bool sorted=True, bool return_inverse=False) -> (Tensor, Tensor)
         | 
| 2853 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 2854 2726 | 
             
              variants: function
         | 
| 2855 2727 | 
             
              dispatch:
         | 
| 2856 2728 | 
             
                CPU: _unique_cpu
         | 
| 2857 2729 | 
             
                CUDA: _unique_cuda
         | 
| 2858 2730 |  | 
| 2859 2731 | 
             
            - func: unique_dim(Tensor self, int dim, bool sorted=True, bool return_inverse=False, bool return_counts=False) -> (Tensor, Tensor, Tensor)
         | 
| 2860 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 2861 2732 | 
             
              variants: function
         | 
| 2862 2733 | 
             
              dispatch:
         | 
| 2863 2734 | 
             
                CPU: unique_dim_cpu
         | 
| 2864 2735 | 
             
                CUDA: unique_dim_cuda
         | 
| 2865 2736 |  | 
| 2866 2737 | 
             
            - func: unique_consecutive(Tensor self, bool return_inverse=False, bool return_counts=False, int? dim=None) -> (Tensor, Tensor, Tensor)
         | 
| 2867 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 2868 2738 | 
             
              variants: function
         | 
| 2869 2739 | 
             
              dispatch:
         | 
| 2870 2740 | 
             
                CPU: unique_consecutive_cpu
         | 
| 2871 2741 | 
             
                CUDA: unique_consecutive_cuda
         | 
| 2872 2742 |  | 
| 2873 2743 | 
             
            - func: unique_dim_consecutive(Tensor self, int dim, bool return_inverse=False, bool return_counts=False) -> (Tensor, Tensor, Tensor)
         | 
| 2874 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 2875 2744 | 
             
              variants: function
         | 
| 2876 2745 | 
             
              dispatch:
         | 
| 2877 2746 | 
             
                CPU: unique_dim_consecutive_cpu
         | 
| @@ -2882,22 +2751,18 @@ | |
| 2882 2751 | 
             
            # Please don't rely on these two operators, they will be removed soon
         | 
| 2883 2752 |  | 
| 2884 2753 | 
             
            - func: _unique2(Tensor self, bool sorted=True, bool return_inverse=False, bool return_counts=False) -> (Tensor, Tensor, Tensor)
         | 
| 2885 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 2886 2754 | 
             
              variants: function
         | 
| 2887 2755 | 
             
              dispatch:
         | 
| 2888 2756 | 
             
                CPU: _unique2_cpu
         | 
| 2889 2757 | 
             
                CUDA: _unique2_cuda
         | 
| 2890 2758 |  | 
| 2891 2759 | 
             
            - func: _unsafe_view(Tensor self, int[] size) -> Tensor
         | 
| 2892 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 2893 2760 |  | 
| 2894 2761 | 
             
            - func: unsqueeze(Tensor(a) self, int dim) -> Tensor(a)
         | 
| 2895 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 2896 2762 | 
             
              variants: function, method
         | 
| 2897 2763 | 
             
              device_guard: False
         | 
| 2898 2764 |  | 
| 2899 2765 | 
             
            - func: unsqueeze_(Tensor(a!) self, int dim) -> Tensor(a!)
         | 
| 2900 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 2901 2766 | 
             
              variants: method
         | 
| 2902 2767 | 
             
              device_guard: False
         | 
| 2903 2768 |  | 
| @@ -2907,7 +2772,6 @@ | |
| 2907 2772 | 
             
              supports_named_tensor: True
         | 
| 2908 2773 |  | 
| 2909 2774 | 
             
            - func: var.dim(Tensor self, int[1] dim, bool unbiased=True, bool keepdim=False) -> Tensor
         | 
| 2910 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 2911 2775 | 
             
              variants: function, method
         | 
| 2912 2776 | 
             
              supports_named_tensor: True
         | 
| 2913 2777 |  | 
| @@ -2922,12 +2786,10 @@ | |
| 2922 2786 | 
             
              supports_named_tensor: True
         | 
| 2923 2787 |  | 
| 2924 2788 | 
             
            - func: var_mean(Tensor self, bool unbiased=True) -> (Tensor, Tensor)
         | 
| 2925 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 2926 2789 | 
             
              variants: function
         | 
| 2927 2790 | 
             
              supports_named_tensor: True
         | 
| 2928 2791 |  | 
| 2929 2792 | 
             
            - func: var_mean.dim(Tensor self, int[1] dim, bool unbiased=True, bool keepdim=False) -> (Tensor, Tensor)
         | 
| 2930 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 2931 2793 | 
             
              variants: function
         | 
| 2932 2794 | 
             
              supports_named_tensor: True
         | 
| 2933 2795 |  | 
| @@ -2948,7 +2810,6 @@ | |
| 2948 2810 | 
             
              variants: function, method
         | 
| 2949 2811 |  | 
| 2950 2812 | 
             
            - func: where(Tensor condition) -> Tensor[]
         | 
| 2951 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 2952 2813 | 
             
              variants: function
         | 
| 2953 2814 |  | 
| 2954 2815 | 
             
            - func: _s_where(Tensor condition, Tensor self, Tensor other) -> Tensor
         | 
| @@ -2959,7 +2820,6 @@ | |
| 2959 2820 | 
             
                CUDA: _s_where_cuda
         | 
| 2960 2821 |  | 
| 2961 2822 | 
             
            - func: norm_except_dim(Tensor v, int pow=2, int dim=0) -> Tensor
         | 
| 2962 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 2963 2823 | 
             
              variants: function
         | 
| 2964 2824 |  | 
| 2965 2825 | 
             
            # VariableType::_weight_norm does not want to be given a gap in the autograd graph,
         | 
| @@ -2969,19 +2829,16 @@ | |
| 2969 2829 | 
             
              variants: function
         | 
| 2970 2830 |  | 
| 2971 2831 | 
             
            - func: _weight_norm_cuda_interface(Tensor v, Tensor g, int dim=0) -> (Tensor, Tensor)
         | 
| 2972 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 2973 2832 | 
             
              variants: function
         | 
| 2974 2833 | 
             
              dispatch:
         | 
| 2975 2834 | 
             
                CUDA: weight_norm_cuda
         | 
| 2976 2835 |  | 
| 2977 2836 | 
             
            - func: _weight_norm_cuda_interface_backward(Tensor grad_w, Tensor saved_v, Tensor saved_g, Tensor saved_norms, int dim) -> (Tensor, Tensor)
         | 
| 2978 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 2979 2837 | 
             
              variants: function
         | 
| 2980 2838 | 
             
              dispatch:
         | 
| 2981 2839 | 
             
                CUDA: weight_norm_cuda_backward
         | 
| 2982 2840 |  | 
| 2983 2841 | 
             
            - func: _weight_norm_differentiable_backward(Tensor grad_w, Tensor saved_v, Tensor saved_g, Tensor saved_norms, int dim) -> (Tensor, Tensor)
         | 
| 2984 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 2985 2842 | 
             
              variants: function
         | 
| 2986 2843 |  | 
| 2987 2844 | 
             
            - func: zeros.names(int[] size, *, Dimname[]? names, ScalarType? dtype=None, Layout? layout=None, Device? device=None, bool? pin_memory=None) -> Tensor
         | 
| @@ -2991,10 +2848,11 @@ | |
| 2991 2848 |  | 
| 2992 2849 | 
             
            - func: zeros.out(int[] size, *, Tensor(a!) out) -> Tensor(a!)
         | 
| 2993 2850 |  | 
| 2994 | 
            -
            - func: zeros_like(Tensor self) -> Tensor
         | 
| 2995 | 
            -
               | 
| 2851 | 
            +
            - func: zeros_like(Tensor self, *, MemoryFormat? memory_format=None) -> Tensor
         | 
| 2852 | 
            +
              supports_named_tensor: True
         | 
| 2996 2853 |  | 
| 2997 | 
            -
            - func: zeros_like.dtype(Tensor self, *, ScalarType dtype, Layout layout, Device device, bool pin_memory=False) -> Tensor
         | 
| 2854 | 
            +
            - func: zeros_like.dtype(Tensor self, *, ScalarType dtype, Layout layout, Device device, bool pin_memory=False, MemoryFormat? memory_format=None) -> Tensor
         | 
| 2855 | 
            +
              supports_named_tensor: True
         | 
| 2998 2856 |  | 
| 2999 2857 | 
             
            - func: _standard_gamma_grad(Tensor self, Tensor output) -> Tensor
         | 
| 3000 2858 | 
             
              use_c10_dispatcher: full
         | 
| @@ -3004,7 +2862,6 @@ | |
| 3004 2862 | 
             
                CUDA: _standard_gamma_grad_cuda
         | 
| 3005 2863 |  | 
| 3006 2864 | 
             
            - func: _standard_gamma(Tensor self, Generator? generator=None) -> Tensor
         | 
| 3007 | 
            -
              use_c10_dispatcher: 'unboxed_only'
         | 
| 3008 2865 | 
             
              variants: function
         | 
| 3009 2866 | 
             
              dispatch:
         | 
| 3010 2867 | 
             
                CPU: _s_gamma_cpu
         | 
| @@ -3017,14 +2874,12 @@ | |
| 3017 2874 | 
             
                CUDA: _dirichlet_grad_cuda
         | 
| 3018 2875 |  | 
| 3019 2876 | 
             
            - func: _sample_dirichlet(Tensor self, Generator? generator=None) -> Tensor
         | 
| 3020 | 
            -
              use_c10_dispatcher: 'unboxed_only'
         | 
| 3021 2877 | 
             
              variants: function
         | 
| 3022 2878 | 
             
              dispatch:
         | 
| 3023 2879 | 
             
                CPU: _s_dirichlet_cpu
         | 
| 3024 2880 | 
             
                CUDA: _s_dirichlet_cuda
         | 
| 3025 2881 |  | 
| 3026 2882 | 
             
            - func: poisson(Tensor self, Generator? generator=None) -> Tensor
         | 
| 3027 | 
            -
              use_c10_dispatcher: 'unboxed_only'
         | 
| 3028 2883 | 
             
              dispatch:
         | 
| 3029 2884 | 
             
                CPU: _s_poisson_cpu
         | 
| 3030 2885 | 
             
                CUDA: _s_poisson_cuda
         | 
| @@ -3045,12 +2900,10 @@ | |
| 3045 2900 | 
             
            - func: _sparse_sum.dtype(Tensor self, *, ScalarType dtype) -> Tensor
         | 
| 3046 2901 |  | 
| 3047 2902 | 
             
            - func: _sparse_sum.dim(Tensor self, int[1] dim) -> Tensor
         | 
| 3048 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 3049 2903 |  | 
| 3050 2904 | 
             
            - func: _sparse_sum.dim_dtype(Tensor self, int[1] dim, *, ScalarType dtype) -> Tensor
         | 
| 3051 2905 |  | 
| 3052 2906 | 
             
            - func: _sparse_sum_backward(Tensor grad, Tensor self, int[] dim) -> Tensor
         | 
| 3053 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 3054 2907 | 
             
              dispatch:
         | 
| 3055 2908 | 
             
                  SparseCPU: _sparse_sum_backward_cpu
         | 
| 3056 2909 | 
             
                  SparseCUDA: _sparse_sum_backward_cuda
         | 
| @@ -3066,7 +2919,6 @@ | |
| 3066 2919 | 
             
              variants: function, method
         | 
| 3067 2920 |  | 
| 3068 2921 | 
             
            - func: norm.ScalarOpt_dim(Tensor self, Scalar? p, int[1] dim, bool keepdim=False) -> Tensor
         | 
| 3069 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 3070 2922 | 
             
              variants: function, method
         | 
| 3071 2923 |  | 
| 3072 2924 | 
             
            - func: norm.dtype_out(Tensor self, Scalar? p, int[1] dim, bool keepdim, *, ScalarType dtype, Tensor(a!) out) -> Tensor(a!)
         | 
| @@ -3088,7 +2940,6 @@ | |
| 3088 2940 | 
             
              variants: function
         | 
| 3089 2941 |  | 
| 3090 2942 | 
             
            - func: frobenius_norm.dim(Tensor self, int[1] dim, bool keepdim=False) -> Tensor
         | 
| 3091 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 3092 2943 | 
             
              variants: function
         | 
| 3093 2944 |  | 
| 3094 2945 | 
             
            - func: frobenius_norm.out(Tensor self, int[1] dim, bool keepdim=False, *, Tensor(a!) out) -> Tensor(a!)
         | 
| @@ -3102,14 +2953,12 @@ | |
| 3102 2953 | 
             
              variants: function
         | 
| 3103 2954 |  | 
| 3104 2955 | 
             
            - func: nuclear_norm.dim(Tensor self, int[2] dim, bool keepdim=False) -> Tensor
         | 
| 3105 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 3106 2956 | 
             
              variants: function
         | 
| 3107 2957 |  | 
| 3108 2958 | 
             
            - func: nuclear_norm.dim_out(Tensor self, int[2] dim, bool keepdim=False, *, Tensor(a!) out) -> Tensor(a!)
         | 
| 3109 2959 | 
             
              variants: function
         | 
| 3110 2960 |  | 
| 3111 | 
            -
            - func: clone(Tensor self) -> Tensor
         | 
| 3112 | 
            -
              use_c10_dispatcher: full
         | 
| 2961 | 
            +
            - func: clone(Tensor self, *, MemoryFormat? memory_format=None) -> Tensor
         | 
| 3113 2962 | 
             
              variants: function, method
         | 
| 3114 2963 | 
             
              dispatch:
         | 
| 3115 2964 | 
             
                CPU: clone
         | 
| @@ -3120,8 +2969,7 @@ | |
| 3120 2969 | 
             
                QuantizedCPU: quantized_clone
         | 
| 3121 2970 | 
             
              supports_named_tensor: True
         | 
| 3122 2971 |  | 
| 3123 | 
            -
            - func: resize_as_(Tensor(a!) self, Tensor the_template) -> Tensor(a!)
         | 
| 3124 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 2972 | 
            +
            - func: resize_as_(Tensor(a!) self, Tensor the_template, *, MemoryFormat? memory_format=None) -> Tensor(a!)
         | 
| 3125 2973 | 
             
              supports_named_tensor: True
         | 
| 3126 2974 | 
             
              variants: function, method
         | 
| 3127 2975 |  | 
| @@ -3144,12 +2992,11 @@ | |
| 3144 2992 | 
             
                SparseCUDA: pow_sparse_scalar
         | 
| 3145 2993 |  | 
| 3146 2994 | 
             
            - func: zero_(Tensor(a!) self) -> Tensor(a!)
         | 
| 3147 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 3148 2995 | 
             
              supports_named_tensor: True
         | 
| 3149 2996 | 
             
              variants: method, function
         | 
| 3150 2997 | 
             
              dispatch:
         | 
| 3151 | 
            -
                CPU:  | 
| 3152 | 
            -
                CUDA:  | 
| 2998 | 
            +
                CPU: zero_
         | 
| 2999 | 
            +
                CUDA: zero_
         | 
| 3153 3000 | 
             
                SparseCPU: zero_sparse_
         | 
| 3154 3001 | 
             
                SparseCUDA: zero_sparse_
         | 
| 3155 3002 | 
             
                MkldnnCPU: mkldnn_zero_
         | 
| @@ -3173,7 +3020,6 @@ | |
| 3173 3020 | 
             
              supports_named_tensor: True
         | 
| 3174 3021 |  | 
| 3175 3022 | 
             
            - func: sub_.Tensor(Tensor(a!) self, Tensor other, *, Scalar alpha=1) -> Tensor(a!)
         | 
| 3176 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 3177 3023 | 
             
              variants: method
         | 
| 3178 3024 | 
             
              dispatch:
         | 
| 3179 3025 | 
             
                CPU: sub_
         | 
| @@ -3189,7 +3035,6 @@ | |
| 3189 3035 | 
             
              supports_named_tensor: True
         | 
| 3190 3036 |  | 
| 3191 3037 | 
             
            - func: sub_.Scalar(Tensor(a!) self, Scalar other, Scalar alpha=1) -> Tensor(a!)
         | 
| 3192 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 3193 3038 | 
             
              variants: method
         | 
| 3194 3039 | 
             
              supports_named_tensor: True
         | 
| 3195 3040 |  | 
| @@ -3229,7 +3074,6 @@ | |
| 3229 3074 | 
             
              supports_named_tensor: True
         | 
| 3230 3075 |  | 
| 3231 3076 | 
             
            - func: addmm_(Tensor(a!) self, Tensor mat1, Tensor mat2, *, Scalar beta=1, Scalar alpha=1) -> Tensor(a!)
         | 
| 3232 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 3233 3077 | 
             
              variants: method
         | 
| 3234 3078 | 
             
              dispatch:
         | 
| 3235 3079 | 
             
                CPU: legacy::cpu::_th_addmm_
         | 
| @@ -3380,7 +3224,6 @@ | |
| 3380 3224 | 
             
              requires_tensor: True
         | 
| 3381 3225 |  | 
| 3382 3226 | 
             
            - func: sparse_resize_(Tensor(a!) self, int[] size, int sparse_dim, int dense_dim) -> Tensor(a!)
         | 
| 3383 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 3384 3227 | 
             
              variants: method
         | 
| 3385 3228 | 
             
              dispatch:
         | 
| 3386 3229 | 
             
                SparseCPU: sparse_resize_
         | 
| @@ -3388,7 +3231,6 @@ | |
| 3388 3231 | 
             
              requires_tensor: True
         | 
| 3389 3232 |  | 
| 3390 3233 | 
             
            - func: sparse_resize_and_clear_(Tensor(a!) self, int[] size, int sparse_dim, int dense_dim) -> Tensor(a!)
         | 
| 3391 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 3392 3234 | 
             
              variants: method
         | 
| 3393 3235 | 
             
              dispatch:
         | 
| 3394 3236 | 
             
                SparseCPU: sparse_resize_and_clear_
         | 
| @@ -3488,7 +3330,6 @@ | |
| 3488 3330 |  | 
| 3489 3331 |  | 
| 3490 3332 | 
             
            - func: _indices(Tensor(a) self) -> Tensor(a)
         | 
| 3491 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 3492 3333 | 
             
              variants: method
         | 
| 3493 3334 | 
             
              dispatch:
         | 
| 3494 3335 | 
             
                SparseCPU: _indices_sparse
         | 
| @@ -3497,7 +3338,6 @@ | |
| 3497 3338 | 
             
              device_guard: False
         | 
| 3498 3339 |  | 
| 3499 3340 | 
             
            - func: _values(Tensor(a) self) -> Tensor(a)
         | 
| 3500 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 3501 3341 | 
             
              variants: method
         | 
| 3502 3342 | 
             
              dispatch:
         | 
| 3503 3343 | 
             
                SparseCPU: _values_sparse
         | 
| @@ -3509,7 +3349,6 @@ | |
| 3509 3349 | 
             
            # a bit unsafe. Similar to _indices and _values, this is useful for implementing
         | 
| 3510 3350 | 
             
            # custom sparse operations in Python/C++ extension.
         | 
| 3511 3351 | 
             
            - func: _coalesced_(Tensor(a!) self, bool coalesced) -> Tensor(a!)
         | 
| 3512 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 3513 3352 | 
             
              variants: method
         | 
| 3514 3353 | 
             
              dispatch:
         | 
| 3515 3354 | 
             
                SparseCPU: _coalesced_sparse_
         | 
| @@ -3518,7 +3357,6 @@ | |
| 3518 3357 | 
             
              device_guard: False
         | 
| 3519 3358 |  | 
| 3520 3359 | 
             
            - func: indices(Tensor(a) self) -> Tensor(a)
         | 
| 3521 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 3522 3360 | 
             
              variants: method
         | 
| 3523 3361 | 
             
              dispatch:
         | 
| 3524 3362 | 
             
                SparseCPU: indices_sparse
         | 
| @@ -3527,7 +3365,6 @@ | |
| 3527 3365 | 
             
              device_guard: False
         | 
| 3528 3366 |  | 
| 3529 3367 | 
             
            - func: values(Tensor(a) self) -> Tensor(a)
         | 
| 3530 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 3531 3368 | 
             
              variants: method
         | 
| 3532 3369 | 
             
              dispatch:
         | 
| 3533 3370 | 
             
                SparseCPU: values_sparse
         | 
| @@ -3550,21 +3387,13 @@ | |
| 3550 3387 | 
             
              requires_tensor: True
         | 
| 3551 3388 |  | 
| 3552 3389 | 
             
            - func: copy_sparse_to_sparse_(Tensor(a!) self, Tensor src, bool non_blocking=False) -> Tensor(a!)
         | 
| 3553 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 3554 3390 | 
             
              variants: function
         | 
| 3555 3391 | 
             
              dispatch:
         | 
| 3556 3392 | 
             
                SparseCPU: copy_sparse_
         | 
| 3557 3393 | 
             
                SparseCUDA: copy_sparse_
         | 
| 3558 3394 | 
             
              requires_tensor: True
         | 
| 3559 3395 |  | 
| 3560 | 
            -
            - func: numel(Tensor self) -> int
         | 
| 3561 | 
            -
              use_c10_dispatcher: full
         | 
| 3562 | 
            -
              variants: function, method
         | 
| 3563 | 
            -
              device_guard: False
         | 
| 3564 | 
            -
              supports_named_tensor: True
         | 
| 3565 | 
            -
             | 
| 3566 3396 | 
             
            - func: unbind.int(Tensor(a) self, int dim=0) -> Tensor(a)[]
         | 
| 3567 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 3568 3397 | 
             
              variants: function, method
         | 
| 3569 3398 | 
             
              supports_named_tensor: True
         | 
| 3570 3399 |  | 
| @@ -3593,7 +3422,6 @@ | |
| 3593 3422 | 
             
                CPU: dense_to_mkldnn
         | 
| 3594 3423 |  | 
| 3595 3424 | 
             
            - func: mkldnn_reorder_conv2d_weight(Tensor self, int[2] padding=0, int[2] stride=1, int[2] dilation=1, int groups=1) -> Tensor
         | 
| 3596 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 3597 3425 | 
             
              variants: function
         | 
| 3598 3426 | 
             
              python_module: nn
         | 
| 3599 3427 | 
             
              dispatch:
         | 
| @@ -3631,13 +3459,11 @@ | |
| 3631 3459 | 
             
                QuantizedCPU: q_zero_point_quant
         | 
| 3632 3460 |  | 
| 3633 3461 | 
             
            - func: q_per_channel_scales(Tensor self) -> Tensor
         | 
| 3634 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 3635 3462 | 
             
              variants: function, method
         | 
| 3636 3463 | 
             
              dispatch:
         | 
| 3637 3464 | 
             
                QuantizedCPU: q_per_channel_scales_quant
         | 
| 3638 3465 |  | 
| 3639 3466 | 
             
            - func: q_per_channel_zero_points(Tensor self) -> Tensor
         | 
| 3640 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 3641 3467 | 
             
              variants: function, method
         | 
| 3642 3468 | 
             
              dispatch:
         | 
| 3643 3469 | 
             
                QuantizedCPU: q_per_channel_zero_points_quant
         | 
| @@ -3659,7 +3485,6 @@ | |
| 3659 3485 | 
             
                CPU: make_per_tensor_quantized_tensor_cpu
         | 
| 3660 3486 |  | 
| 3661 3487 | 
             
            - func: _make_per_channel_quantized_tensor(Tensor self, Tensor scale, Tensor zero_point, int axis) -> Tensor
         | 
| 3662 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 3663 3488 | 
             
              dispatch:
         | 
| 3664 3489 | 
             
                CPU: make_per_channel_quantized_tensor_cpu
         | 
| 3665 3490 |  | 
| @@ -3696,31 +3521,28 @@ | |
| 3696 3521 | 
             
            # to(Device) must not exist because all constructors of Device also works for
         | 
| 3697 3522 | 
             
            # TensorOptions. Otherwise, an ambiguity error is thrown.
         | 
| 3698 3523 | 
             
            # See NOTE [ TensorOptions Constructors ].
         | 
| 3699 | 
            -
            - func: to.dtype_layout(Tensor self, *, ScalarType dtype, Layout layout, Device device, bool pin_memory=False, bool non_blocking=False, bool copy=False) -> Tensor
         | 
| 3524 | 
            +
            - func: to.dtype_layout(Tensor self, *, ScalarType dtype, Layout layout, Device device, bool pin_memory=False, bool non_blocking=False, bool copy=False, MemoryFormat? memory_format=None) -> Tensor
         | 
| 3700 3525 | 
             
              variants: method
         | 
| 3701 3526 | 
             
              device_guard: False
         | 
| 3702 3527 | 
             
              supports_named_tensor: True
         | 
| 3703 3528 |  | 
| 3704 | 
            -
            - func: to.device(Tensor self, Device device, ScalarType dtype, bool non_blocking=False, bool copy=False) -> Tensor
         | 
| 3529 | 
            +
            - func: to.device(Tensor self, Device device, ScalarType dtype, bool non_blocking=False, bool copy=False, MemoryFormat? memory_format=None) -> Tensor
         | 
| 3705 3530 | 
             
              variants: method
         | 
| 3706 3531 | 
             
              device_guard: False
         | 
| 3707 3532 | 
             
              supports_named_tensor: True
         | 
| 3708 3533 |  | 
| 3709 | 
            -
            - func: to.dtype(Tensor self, ScalarType dtype, bool non_blocking=False, bool copy=False) -> Tensor
         | 
| 3534 | 
            +
            - func: to.dtype(Tensor self, ScalarType dtype, bool non_blocking=False, bool copy=False, MemoryFormat? memory_format=None) -> Tensor
         | 
| 3710 3535 | 
             
              variants: method
         | 
| 3711 3536 | 
             
              device_guard: False
         | 
| 3712 3537 | 
             
              supports_named_tensor: True
         | 
| 3713 3538 |  | 
| 3714 | 
            -
            - func: to.other(Tensor self, Tensor other, bool non_blocking=False, bool copy=False) -> Tensor
         | 
| 3715 | 
            -
              use_c10_dispatcher: full
         | 
| 3539 | 
            +
            - func: to.other(Tensor self, Tensor other, bool non_blocking=False, bool copy=False, MemoryFormat? memory_format=None) -> Tensor
         | 
| 3716 3540 | 
             
              variants: method
         | 
| 3717 3541 | 
             
              device_guard: False
         | 
| 3718 3542 |  | 
| 3719 3543 | 
             
            - func: meshgrid(Tensor[] tensors) -> Tensor[]
         | 
| 3720 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 3721 3544 |  | 
| 3722 3545 | 
             
            - func: cartesian_prod(Tensor[] tensors) -> Tensor
         | 
| 3723 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 3724 3546 | 
             
              variants: function
         | 
| 3725 3547 |  | 
| 3726 3548 | 
             
            - func: combinations(Tensor self, int r=2, bool with_replacement=False) -> Tensor
         | 
| @@ -3774,7 +3596,6 @@ | |
| 3774 3596 | 
             
                CUDA: _thnn_fused_gru_cell_cuda
         | 
| 3775 3597 |  | 
| 3776 3598 | 
             
            - func: _thnn_fused_gru_cell_backward(Tensor grad_hy, Tensor workspace, bool has_bias) -> (Tensor, Tensor, Tensor, Tensor, Tensor)
         | 
| 3777 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 3778 3599 | 
             
              dispatch:
         | 
| 3779 3600 | 
             
                CUDA: _thnn_fused_gru_cell_backward_cuda
         | 
| 3780 3601 |  | 
| @@ -3782,28 +3603,20 @@ | |
| 3782 3603 |  | 
| 3783 3604 | 
             
            # RNN cells and layers
         | 
| 3784 3605 | 
             
            - func: lstm.input(Tensor input, Tensor[] hx, Tensor[] params, bool has_biases, int num_layers, float dropout, bool train, bool bidirectional, bool batch_first) -> (Tensor, Tensor, Tensor)
         | 
| 3785 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 3786 3606 |  | 
| 3787 3607 | 
             
            - func: lstm.data(Tensor data, Tensor batch_sizes, Tensor[] hx, Tensor[] params, bool has_biases, int num_layers, float dropout, bool train, bool bidirectional) -> (Tensor, Tensor, Tensor)
         | 
| 3788 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 3789 3608 |  | 
| 3790 3609 | 
             
            - func: gru.input(Tensor input, Tensor hx, Tensor[] params, bool has_biases, int num_layers, float dropout, bool train, bool bidirectional, bool batch_first) -> (Tensor, Tensor)
         | 
| 3791 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 3792 3610 |  | 
| 3793 3611 | 
             
            - func: gru.data(Tensor data, Tensor batch_sizes, Tensor hx, Tensor[] params, bool has_biases, int num_layers, float dropout, bool train, bool bidirectional) -> (Tensor, Tensor)
         | 
| 3794 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 3795 3612 |  | 
| 3796 3613 | 
             
            - func: rnn_tanh.input(Tensor input, Tensor hx, Tensor[] params, bool has_biases, int num_layers, float dropout, bool train, bool bidirectional, bool batch_first) -> (Tensor, Tensor)
         | 
| 3797 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 3798 3614 |  | 
| 3799 3615 | 
             
            - func: rnn_tanh.data(Tensor data, Tensor batch_sizes, Tensor hx, Tensor[] params, bool has_biases, int num_layers, float dropout, bool train, bool bidirectional) -> (Tensor, Tensor)
         | 
| 3800 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 3801 3616 |  | 
| 3802 3617 | 
             
            - func: rnn_relu.input(Tensor input, Tensor hx, Tensor[] params, bool has_biases, int num_layers, float dropout, bool train, bool bidirectional, bool batch_first) -> (Tensor, Tensor)
         | 
| 3803 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 3804 3618 |  | 
| 3805 3619 | 
             
            - func: rnn_relu.data(Tensor data, Tensor batch_sizes, Tensor hx, Tensor[] params, bool has_biases, int num_layers, float dropout, bool train, bool bidirectional) -> (Tensor, Tensor)
         | 
| 3806 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 3807 3620 |  | 
| 3808 3621 | 
             
            - func: lstm_cell(Tensor input, Tensor[] hx, Tensor w_ih, Tensor w_hh, Tensor? b_ih=None, Tensor? b_hh=None) -> (Tensor, Tensor)
         | 
| 3809 3622 |  | 
| @@ -3816,17 +3629,16 @@ | |
| 3816 3629 | 
             
            # Quantized RNN layers
         | 
| 3817 3630 | 
             
            - func: quantized_lstm(Tensor input, Tensor[] hx, Tensor[] params, bool has_biases, int num_layers, float dropout, bool train, bool bidirectional, bool batch_first, *, ScalarType? dtype=None, bool use_dynamic=False) -> (Tensor, Tensor, Tensor)
         | 
| 3818 3631 |  | 
| 3632 | 
            +
            - func: quantized_lstm.data(Tensor data, Tensor batch_sizes, Tensor[] hx, Tensor[] params, bool has_biases, int num_layers, float dropout, bool train, bool bidirectional, *, ScalarType? dtype=None, bool use_dynamic=False) -> (Tensor, Tensor, Tensor)
         | 
| 3633 | 
            +
             | 
| 3819 3634 | 
             
            # Quantized GRU layers
         | 
| 3820 3635 |  | 
| 3821 3636 | 
             
            - func: quantized_gru.input(Tensor input, Tensor hx, Tensor[] params, bool has_biases, int num_layers, float dropout, bool train, bool bidirectional, bool batch_first) -> (Tensor, Tensor)
         | 
| 3822 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 3823 3637 |  | 
| 3824 3638 | 
             
            - func: quantized_gru.data(Tensor data, Tensor batch_sizes, Tensor hx, Tensor[] params, bool has_biases, int num_layers, float dropout, bool train, bool bidirectional) -> (Tensor, Tensor)
         | 
| 3825 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 3826 3639 |  | 
| 3827 3640 | 
             
            # Quantized RNN cells
         | 
| 3828 3641 | 
             
            - func: quantized_lstm_cell(Tensor input, Tensor[] hx, Tensor w_ih, Tensor w_hh, Tensor b_ih, Tensor b_hh, Tensor packed_ih, Tensor packed_hh, Tensor col_offsets_ih, Tensor col_offsets_hh, Scalar scale_ih, Scalar scale_hh, Scalar zero_point_ih, Scalar zero_point_hh) -> (Tensor, Tensor)
         | 
| 3829 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 3830 3642 |  | 
| 3831 3643 | 
             
            - func: quantized_gru_cell(Tensor input, Tensor hx, Tensor w_ih, Tensor w_hh, Tensor b_ih, Tensor b_hh, Tensor packed_ih, Tensor packed_hh, Tensor col_offsets_ih, Tensor col_offsets_hh, Scalar scale_ih, Scalar scale_hh, Scalar zero_point_ih, Scalar zero_point_hh) -> Tensor
         | 
| 3832 3644 | 
             
              use_c10_dispatcher: full
         | 
| @@ -3839,13 +3651,10 @@ | |
| 3839 3651 |  | 
| 3840 3652 | 
             
            # PackedSequence utilities
         | 
| 3841 3653 | 
             
            - func: _pack_padded_sequence(Tensor input, Tensor lengths, bool batch_first) -> (Tensor, Tensor)
         | 
| 3842 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 3843 3654 |  | 
| 3844 3655 | 
             
            - func: _pack_padded_sequence_backward(Tensor grad, int[] input_size, Tensor batch_sizes, bool batch_first) -> Tensor
         | 
| 3845 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 3846 3656 |  | 
| 3847 3657 | 
             
            - func: _pad_packed_sequence(Tensor data, Tensor batch_sizes, bool batch_first, Scalar padding_value, int total_length) -> (Tensor, Tensor)
         | 
| 3848 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 3849 3658 |  | 
| 3850 3659 | 
             
            # wrappers for legacy TH methods
         | 
| 3851 3660 |  | 
| @@ -3853,8 +3662,8 @@ | |
| 3853 3662 | 
             
              variants: method
         | 
| 3854 3663 | 
             
              device_guard: False
         | 
| 3855 3664 | 
             
              dispatch:
         | 
| 3856 | 
            -
                CPU:  | 
| 3857 | 
            -
                CUDA:  | 
| 3665 | 
            +
                CPU: set_
         | 
| 3666 | 
            +
                CUDA: set_
         | 
| 3858 3667 |  | 
| 3859 3668 | 
             
            - func: set_.source_Storage_storage_offset(Tensor(a!) self, Storage source, int storage_offset, int[] size, int[] stride=[]) -> Tensor(a!)
         | 
| 3860 3669 | 
             
              variants: method
         | 
| @@ -3865,7 +3674,6 @@ | |
| 3865 3674 | 
             
                QuantizedCPU: set_storage
         | 
| 3866 3675 |  | 
| 3867 3676 | 
             
            - func: set_.source_Tensor(Tensor(a!) self, Tensor source) -> Tensor(a!)
         | 
| 3868 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 3869 3677 | 
             
              variants: method
         | 
| 3870 3678 | 
             
              device_guard: False
         | 
| 3871 3679 | 
             
              dispatch:
         | 
| @@ -3873,11 +3681,10 @@ | |
| 3873 3681 | 
             
                CUDA: legacy::cuda::_th_set_
         | 
| 3874 3682 |  | 
| 3875 3683 | 
             
            - func: set_(Tensor(a!) self) -> Tensor(a!)
         | 
| 3876 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 3877 3684 | 
             
              variants: method
         | 
| 3878 3685 | 
             
              dispatch:
         | 
| 3879 | 
            -
                CPU:  | 
| 3880 | 
            -
                CUDA:  | 
| 3686 | 
            +
                CPU: set_cpu_
         | 
| 3687 | 
            +
                CUDA: set_cuda_
         | 
| 3881 3688 |  | 
| 3882 3689 | 
             
            - func: set_quantizer_(Tensor(a!) self, ConstQuantizerPtr quantizer) -> Tensor(a!)
         | 
| 3883 3690 | 
             
              variants: method
         | 
| @@ -3889,11 +3696,10 @@ | |
| 3889 3696 | 
             
              variants: method
         | 
| 3890 3697 | 
             
              device_guard: False
         | 
| 3891 3698 | 
             
              dispatch:
         | 
| 3892 | 
            -
                CPU:  | 
| 3893 | 
            -
                CUDA:  | 
| 3699 | 
            +
                CPU: is_set_to
         | 
| 3700 | 
            +
                CUDA: is_set_to
         | 
| 3894 3701 |  | 
| 3895 3702 | 
             
            - func: masked_fill_.Scalar(Tensor(a!) self, Tensor mask, Scalar value) -> Tensor(a!)
         | 
| 3896 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 3897 3703 | 
             
              variants: method
         | 
| 3898 3704 | 
             
              dispatch:
         | 
| 3899 3705 | 
             
                CPU: masked_fill__cpu
         | 
| @@ -3906,7 +3712,6 @@ | |
| 3906 3712 | 
             
              supports_named_tensor: True
         | 
| 3907 3713 |  | 
| 3908 3714 | 
             
            - func: masked_fill_.Tensor(Tensor(a!) self, Tensor mask, Tensor value) -> Tensor(a!)
         | 
| 3909 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 3910 3715 | 
             
              variants: method
         | 
| 3911 3716 | 
             
              dispatch:
         | 
| 3912 3717 | 
             
                CPU: masked_fill__cpu
         | 
| @@ -3919,7 +3724,6 @@ | |
| 3919 3724 | 
             
              supports_named_tensor: True
         | 
| 3920 3725 |  | 
| 3921 3726 | 
             
            - func: masked_scatter_(Tensor(a!) self, Tensor mask, Tensor source) -> Tensor(a!)
         | 
| 3922 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 3923 3727 | 
             
              variants: method
         | 
| 3924 3728 | 
             
              dispatch:
         | 
| 3925 3729 | 
             
                CPU: masked_scatter__cpu
         | 
| @@ -3930,7 +3734,6 @@ | |
| 3930 3734 | 
             
              variants: function, method
         | 
| 3931 3735 |  | 
| 3932 3736 | 
             
            - func: view(Tensor(a) self, int[] size) -> Tensor(a)
         | 
| 3933 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 3934 3737 | 
             
              variants: method
         | 
| 3935 3738 | 
             
              device_guard: False
         | 
| 3936 3739 | 
             
              dispatch:
         | 
| @@ -3940,17 +3743,15 @@ | |
| 3940 3743 | 
             
                QuantizedCPU: view
         | 
| 3941 3744 |  | 
| 3942 3745 | 
             
            - func: put_(Tensor(a!) self, Tensor index, Tensor source, bool accumulate=False) -> Tensor(a!)
         | 
| 3943 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 3944 3746 | 
             
              variants: method
         | 
| 3945 3747 | 
             
              dispatch:
         | 
| 3946 3748 | 
             
                CPU: legacy::cpu::_th_put_
         | 
| 3947 3749 | 
             
                CUDA: legacy::cuda::_th_put_
         | 
| 3948 3750 |  | 
| 3949 3751 | 
             
            - func: index_add_(Tensor(a!) self, int dim, Tensor index, Tensor source) -> Tensor(a!)
         | 
| 3950 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 3951 3752 | 
             
              variants: method
         | 
| 3952 3753 | 
             
              dispatch:
         | 
| 3953 | 
            -
                CPU:  | 
| 3754 | 
            +
                CPU: index_add_cpu_
         | 
| 3954 3755 | 
             
                CUDA: legacy::cuda::_th_index_add_
         | 
| 3955 3756 |  | 
| 3956 3757 | 
             
            - func: index_add(Tensor self, int dim, Tensor index, Tensor source) -> Tensor
         | 
| @@ -3960,50 +3761,47 @@ | |
| 3960 3761 | 
             
            - func: index_add.dimname(Tensor self, Dimname dim, Tensor index, Tensor source) -> Tensor
         | 
| 3961 3762 | 
             
              variants: function, method
         | 
| 3962 3763 |  | 
| 3963 | 
            -
            - func: index_fill_. | 
| 3964 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 3764 | 
            +
            - func: index_fill_.int_Scalar(Tensor(a!) self, int dim, Tensor index, Scalar value) -> Tensor(a!)
         | 
| 3965 3765 | 
             
              variants: method
         | 
| 3966 3766 | 
             
              supports_named_tensor: True
         | 
| 3967 3767 | 
             
              dispatch:
         | 
| 3968 3768 | 
             
                CPU: legacy::cpu::_th_index_fill_
         | 
| 3969 3769 | 
             
                CUDA: legacy::cuda::_th_index_fill_
         | 
| 3970 3770 |  | 
| 3971 | 
            -
            - func: index_fill. | 
| 3771 | 
            +
            - func: index_fill.int_Scalar(Tensor self, int dim, Tensor index, Scalar value) -> Tensor
         | 
| 3972 3772 | 
             
              use_c10_dispatcher: full
         | 
| 3973 3773 | 
             
              supports_named_tensor: True
         | 
| 3974 3774 | 
             
              variants: function, method
         | 
| 3975 3775 |  | 
| 3976 | 
            -
            - func: index_fill_. | 
| 3977 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 3776 | 
            +
            - func: index_fill_.int_Tensor(Tensor(a!) self, int dim, Tensor index, Tensor value) -> Tensor(a!)
         | 
| 3978 3777 | 
             
              variants: method
         | 
| 3979 3778 | 
             
              dispatch:
         | 
| 3980 | 
            -
                CPU:  | 
| 3981 | 
            -
                CUDA:  | 
| 3779 | 
            +
                CPU: index_fill_
         | 
| 3780 | 
            +
                CUDA: index_fill_
         | 
| 3982 3781 | 
             
              supports_named_tensor: True
         | 
| 3983 3782 |  | 
| 3984 | 
            -
            - func: index_fill. | 
| 3783 | 
            +
            - func: index_fill.int_Tensor(Tensor self, int dim, Tensor index, Tensor value) -> Tensor
         | 
| 3985 3784 | 
             
              use_c10_dispatcher: full
         | 
| 3986 3785 | 
             
              variants: function, method
         | 
| 3987 3786 | 
             
              supports_named_tensor: True
         | 
| 3988 3787 |  | 
| 3989 | 
            -
            - func: index_fill_. | 
| 3788 | 
            +
            - func: index_fill_.Dimname_Scalar(Tensor(a!) self, Dimname dim, Tensor index, Scalar value) -> Tensor(a!)
         | 
| 3990 3789 | 
             
              variants: method
         | 
| 3991 3790 | 
             
              supports_named_tensor: True
         | 
| 3992 3791 |  | 
| 3993 | 
            -
            - func: index_fill_. | 
| 3792 | 
            +
            - func: index_fill_.Dimname_Tensor(Tensor(a!) self, Dimname dim, Tensor index, Tensor value) -> Tensor(a!)
         | 
| 3994 3793 | 
             
              variants: method
         | 
| 3995 3794 | 
             
              supports_named_tensor: True
         | 
| 3996 3795 |  | 
| 3997 | 
            -
            - func: index_fill. | 
| 3796 | 
            +
            - func: index_fill.Dimname_Scalar(Tensor self, Dimname dim, Tensor index, Scalar value) -> Tensor
         | 
| 3998 3797 | 
             
              variants: function, method
         | 
| 3999 3798 | 
             
              supports_named_tensor: True
         | 
| 4000 3799 |  | 
| 4001 | 
            -
            - func: index_fill. | 
| 3800 | 
            +
            - func: index_fill.Dimname_Tensor(Tensor self, Dimname dim, Tensor index, Tensor value) -> Tensor
         | 
| 4002 3801 | 
             
              variants: function, method
         | 
| 4003 3802 | 
             
              supports_named_tensor: True
         | 
| 4004 3803 |  | 
| 4005 3804 | 
             
            - func: scatter_.src(Tensor(a!) self, int dim, Tensor index, Tensor src) -> Tensor(a!)
         | 
| 4006 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 4007 3805 | 
             
              variants: method
         | 
| 4008 3806 | 
             
              dispatch:
         | 
| 4009 3807 | 
             
                CPU: legacy::cpu::_th_scatter_
         | 
| @@ -4014,7 +3812,6 @@ | |
| 4014 3812 | 
             
              variants: function, method
         | 
| 4015 3813 |  | 
| 4016 3814 | 
             
            - func: scatter_.value(Tensor(a!) self, int dim, Tensor index, Scalar value) -> Tensor(a!)
         | 
| 4017 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 4018 3815 | 
             
              variants: method
         | 
| 4019 3816 | 
             
              dispatch:
         | 
| 4020 3817 | 
             
                CPU: legacy::cpu::_th_scatter_
         | 
| @@ -4031,7 +3828,6 @@ | |
| 4031 3828 | 
             
              variants: function, method
         | 
| 4032 3829 |  | 
| 4033 3830 | 
             
            - func: scatter_add_(Tensor(a!) self, int dim, Tensor index, Tensor src) -> Tensor(a!)
         | 
| 4034 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 4035 3831 | 
             
              variants: method
         | 
| 4036 3832 | 
             
              dispatch:
         | 
| 4037 3833 | 
             
                CPU: legacy::cpu::_th_scatter_add_
         | 
| @@ -4045,51 +3841,39 @@ | |
| 4045 3841 | 
             
              variants: function, method
         | 
| 4046 3842 |  | 
| 4047 3843 | 
             
            - func: lt_.Scalar(Tensor(a!) self, Scalar other) -> Tensor(a!)
         | 
| 4048 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 4049 3844 | 
             
              variants: method
         | 
| 4050 3845 |  | 
| 4051 3846 | 
             
            - func: lt_.Tensor(Tensor(a!) self, Tensor other) -> Tensor(a!)
         | 
| 4052 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 4053 3847 | 
             
              variants: method
         | 
| 4054 3848 |  | 
| 4055 3849 | 
             
            - func: gt_.Scalar(Tensor(a!) self, Scalar other) -> Tensor(a!)
         | 
| 4056 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 4057 3850 | 
             
              variants: method
         | 
| 4058 3851 |  | 
| 4059 3852 | 
             
            - func: gt_.Tensor(Tensor(a!) self, Tensor other) -> Tensor(a!)
         | 
| 4060 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 4061 3853 | 
             
              variants: method
         | 
| 4062 3854 |  | 
| 4063 3855 | 
             
            - func: le_.Scalar(Tensor(a!) self, Scalar other) -> Tensor(a!)
         | 
| 4064 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 4065 3856 | 
             
              variants: method
         | 
| 4066 3857 |  | 
| 4067 3858 | 
             
            - func: le_.Tensor(Tensor(a!) self, Tensor other) -> Tensor(a!)
         | 
| 4068 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 4069 3859 | 
             
              variants: method
         | 
| 4070 3860 |  | 
| 4071 3861 | 
             
            - func: ge_.Scalar(Tensor(a!) self, Scalar other) -> Tensor(a!)
         | 
| 4072 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 4073 3862 | 
             
              variants: method
         | 
| 4074 3863 |  | 
| 4075 3864 | 
             
            - func: ge_.Tensor(Tensor(a!) self, Tensor other) -> Tensor(a!)
         | 
| 4076 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 4077 3865 | 
             
              variants: method
         | 
| 4078 3866 |  | 
| 4079 3867 | 
             
            - func: eq_.Scalar(Tensor(a!) self, Scalar other) -> Tensor(a!)
         | 
| 4080 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 4081 3868 | 
             
              variants: method
         | 
| 4082 3869 |  | 
| 4083 3870 | 
             
            - func: eq_.Tensor(Tensor(a!) self, Tensor other) -> Tensor(a!)
         | 
| 4084 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 4085 3871 | 
             
              variants: method
         | 
| 4086 3872 |  | 
| 4087 3873 | 
             
            - func: ne_.Scalar(Tensor(a!) self, Scalar other) -> Tensor(a!)
         | 
| 4088 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 4089 3874 | 
             
              variants: method
         | 
| 4090 3875 |  | 
| 4091 3876 | 
             
            - func: ne_.Tensor(Tensor(a!) self, Tensor other) -> Tensor(a!)
         | 
| 4092 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 4093 3877 | 
             
              variants: method
         | 
| 4094 3878 |  | 
| 4095 3879 | 
             
            - func: __and__.Scalar(Tensor self, Scalar other) -> Tensor
         | 
| @@ -4107,14 +3891,12 @@ | |
| 4107 3891 | 
             
                CUDA: legacy::cuda::_th_and
         | 
| 4108 3892 |  | 
| 4109 3893 | 
             
            - func: __iand__.Scalar(Tensor(a!) self, Scalar other) -> Tensor(a!)
         | 
| 4110 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 4111 3894 | 
             
              variants: method
         | 
| 4112 3895 | 
             
              dispatch:
         | 
| 4113 3896 | 
             
                CPU: legacy::cpu::_th_iand_
         | 
| 4114 3897 | 
             
                CUDA: legacy::cuda::_th_iand_
         | 
| 4115 3898 |  | 
| 4116 3899 | 
             
            - func: __iand__.Tensor(Tensor(a!) self, Tensor other) -> Tensor(a!)
         | 
| 4117 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 4118 3900 | 
             
              variants: method
         | 
| 4119 3901 | 
             
              dispatch:
         | 
| 4120 3902 | 
             
                CPU: legacy::cpu::_th_iand_
         | 
| @@ -4135,46 +3917,54 @@ | |
| 4135 3917 | 
             
                CUDA: legacy::cuda::_th_or
         | 
| 4136 3918 |  | 
| 4137 3919 | 
             
            - func: __ior__.Scalar(Tensor(a!) self, Scalar other) -> Tensor(a!)
         | 
| 4138 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 4139 3920 | 
             
              variants: method
         | 
| 4140 3921 | 
             
              dispatch:
         | 
| 4141 3922 | 
             
                CPU: legacy::cpu::_th_ior_
         | 
| 4142 3923 | 
             
                CUDA: legacy::cuda::_th_ior_
         | 
| 4143 3924 |  | 
| 4144 3925 | 
             
            - func: __ior__.Tensor(Tensor(a!) self, Tensor other) -> Tensor(a!)
         | 
| 4145 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 4146 3926 | 
             
              variants: method
         | 
| 4147 3927 | 
             
              dispatch:
         | 
| 4148 3928 | 
             
                CPU: legacy::cpu::_th_ior_
         | 
| 4149 3929 | 
             
                CUDA: legacy::cuda::_th_ior_
         | 
| 4150 3930 |  | 
| 3931 | 
            +
            - func: bitwise_xor.Tensor_out(Tensor self, Tensor other, *, Tensor(a!) out) -> Tensor(a!)
         | 
| 3932 | 
            +
              variants: function
         | 
| 3933 | 
            +
              dispatch:
         | 
| 3934 | 
            +
                CPU: bitwise_xor_out
         | 
| 3935 | 
            +
                CUDA: bitwise_xor_out
         | 
| 3936 | 
            +
             | 
| 3937 | 
            +
            - func: bitwise_xor.Scalar_out(Tensor self, Scalar other, *, Tensor(a!) out) -> Tensor(a!)
         | 
| 3938 | 
            +
              variants: function
         | 
| 3939 | 
            +
              dispatch:
         | 
| 3940 | 
            +
                CPU: bitwise_xor_out
         | 
| 3941 | 
            +
                CUDA: bitwise_xor_out
         | 
| 3942 | 
            +
             | 
| 3943 | 
            +
            - func: bitwise_xor.Scalar(Tensor self, Scalar other) -> Tensor
         | 
| 3944 | 
            +
              variants: method, function
         | 
| 3945 | 
            +
             | 
| 3946 | 
            +
            - func: bitwise_xor.Tensor(Tensor self, Tensor other) -> Tensor
         | 
| 3947 | 
            +
              variants: method, function
         | 
| 3948 | 
            +
             | 
| 3949 | 
            +
            - func: bitwise_xor_.Scalar(Tensor(a!) self, Scalar other) -> Tensor(a!)
         | 
| 3950 | 
            +
              variants: method
         | 
| 3951 | 
            +
             | 
| 3952 | 
            +
            - func: bitwise_xor_.Tensor(Tensor(a!) self, Tensor other) -> Tensor(a!)
         | 
| 3953 | 
            +
              variants: method
         | 
| 3954 | 
            +
             | 
| 4151 3955 | 
             
            - func: __xor__.Scalar(Tensor self, Scalar other) -> Tensor
         | 
| 4152 3956 | 
             
              use_c10_dispatcher: full
         | 
| 4153 3957 | 
             
              variants: method, function
         | 
| 4154 | 
            -
              dispatch:
         | 
| 4155 | 
            -
                CPU: legacy::cpu::_th_xor
         | 
| 4156 | 
            -
                CUDA: legacy::cuda::_th_xor
         | 
| 4157 3958 |  | 
| 4158 3959 | 
             
            - func: __xor__.Tensor(Tensor self, Tensor other) -> Tensor
         | 
| 4159 3960 | 
             
              use_c10_dispatcher: full
         | 
| 4160 3961 | 
             
              variants: method, function
         | 
| 4161 | 
            -
              dispatch:
         | 
| 4162 | 
            -
                CPU: legacy::cpu::_th_xor
         | 
| 4163 | 
            -
                CUDA: legacy::cuda::_th_xor
         | 
| 4164 3962 |  | 
| 4165 3963 | 
             
            - func: __ixor__.Scalar(Tensor(a!) self, Scalar other) -> Tensor(a!)
         | 
| 4166 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 4167 3964 | 
             
              variants: method
         | 
| 4168 | 
            -
              dispatch:
         | 
| 4169 | 
            -
                CPU: legacy::cpu::_th_ixor_
         | 
| 4170 | 
            -
                CUDA: legacy::cuda::_th_ixor_
         | 
| 4171 3965 |  | 
| 4172 3966 | 
             
            - func: __ixor__.Tensor(Tensor(a!) self, Tensor other) -> Tensor(a!)
         | 
| 4173 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 4174 3967 | 
             
              variants: method
         | 
| 4175 | 
            -
              dispatch:
         | 
| 4176 | 
            -
                CPU: legacy::cpu::_th_ixor_
         | 
| 4177 | 
            -
                CUDA: legacy::cuda::_th_ixor_
         | 
| 4178 3968 |  | 
| 4179 3969 | 
             
            - func: __lshift__.Scalar(Tensor self, Scalar other) -> Tensor
         | 
| 4180 3970 | 
             
              use_c10_dispatcher: full
         | 
| @@ -4191,14 +3981,12 @@ | |
| 4191 3981 | 
             
                CUDA: legacy::cuda::_th_lshift
         | 
| 4192 3982 |  | 
| 4193 3983 | 
             
            - func: __ilshift__.Scalar(Tensor(a!) self, Scalar other) -> Tensor(a!)
         | 
| 4194 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 4195 3984 | 
             
              variants: method
         | 
| 4196 3985 | 
             
              dispatch:
         | 
| 4197 3986 | 
             
                CPU: legacy::cpu::_th_ilshift_
         | 
| 4198 3987 | 
             
                CUDA: legacy::cuda::_th_ilshift_
         | 
| 4199 3988 |  | 
| 4200 3989 | 
             
            - func: __ilshift__.Tensor(Tensor(a!) self, Tensor other) -> Tensor(a!)
         | 
| 4201 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 4202 3990 | 
             
              variants: method
         | 
| 4203 3991 | 
             
              dispatch:
         | 
| 4204 3992 | 
             
                CPU: legacy::cpu::_th_ilshift_
         | 
| @@ -4219,21 +4007,18 @@ | |
| 4219 4007 | 
             
                CUDA: legacy::cuda::_th_rshift
         | 
| 4220 4008 |  | 
| 4221 4009 | 
             
            - func: __irshift__.Scalar(Tensor(a!) self, Scalar other) -> Tensor(a!)
         | 
| 4222 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 4223 4010 | 
             
              variants: method
         | 
| 4224 4011 | 
             
              dispatch:
         | 
| 4225 4012 | 
             
                CPU: legacy::cpu::_th_irshift_
         | 
| 4226 4013 | 
             
                CUDA: legacy::cuda::_th_irshift_
         | 
| 4227 4014 |  | 
| 4228 4015 | 
             
            - func: __irshift__.Tensor(Tensor(a!) self, Tensor other) -> Tensor(a!)
         | 
| 4229 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 4230 4016 | 
             
              variants: method
         | 
| 4231 4017 | 
             
              dispatch:
         | 
| 4232 4018 | 
             
                CPU: legacy::cpu::_th_irshift_
         | 
| 4233 4019 | 
             
                CUDA: legacy::cuda::_th_irshift_
         | 
| 4234 4020 |  | 
| 4235 4021 | 
             
            - func: lgamma_(Tensor(a!) self) -> Tensor(a!)
         | 
| 4236 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 4237 4022 | 
             
              supports_named_tensor: True
         | 
| 4238 4023 | 
             
              variants: method
         | 
| 4239 4024 | 
             
              dispatch:
         | 
| @@ -4241,43 +4026,36 @@ | |
| 4241 4026 | 
             
                CUDA: _lgamma__cuda
         | 
| 4242 4027 |  | 
| 4243 4028 | 
             
            - func: atan2_(Tensor(a!) self, Tensor other) -> Tensor(a!)
         | 
| 4244 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 4245 4029 | 
             
              supports_named_tensor: True
         | 
| 4246 4030 | 
             
              variants: method
         | 
| 4247 4031 |  | 
| 4248 4032 | 
             
            - func: tril_(Tensor(a!) self, int diagonal=0) -> Tensor(a!)
         | 
| 4249 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 4250 4033 | 
             
              variants: method
         | 
| 4251 4034 | 
             
              dispatch:
         | 
| 4252 4035 | 
             
                CPU: tril_cpu_
         | 
| 4253 4036 | 
             
                CUDA: tril_cuda_
         | 
| 4254 4037 |  | 
| 4255 4038 | 
             
            - func: triu_(Tensor(a!) self, int diagonal=0) -> Tensor(a!)
         | 
| 4256 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 4257 4039 | 
             
              variants: method
         | 
| 4258 4040 | 
             
              dispatch:
         | 
| 4259 4041 | 
             
                CPU: triu_cpu_
         | 
| 4260 4042 | 
             
                CUDA: triu_cuda_
         | 
| 4261 4043 |  | 
| 4262 4044 | 
             
            - func: digamma_(Tensor(a!) self) -> Tensor(a!)
         | 
| 4263 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 4264 4045 | 
             
              supports_named_tensor: True
         | 
| 4265 4046 | 
             
              variants: method
         | 
| 4266 4047 |  | 
| 4267 4048 | 
             
            - func: polygamma_(Tensor(a!) self, int n) -> Tensor(a!)
         | 
| 4268 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 4269 4049 | 
             
              supports_named_tensor: True
         | 
| 4270 4050 | 
             
              variants: method
         | 
| 4271 4051 |  | 
| 4272 4052 | 
             
            - func: renorm_(Tensor(a!) self, Scalar p, int dim, Scalar maxnorm) -> Tensor(a!)
         | 
| 4273 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 4274 4053 | 
             
              variants: method
         | 
| 4275 4054 | 
             
              dispatch:
         | 
| 4276 4055 | 
             
                CPU: legacy::cpu::_th_renorm_
         | 
| 4277 4056 | 
             
                CUDA: legacy::cuda::_th_renorm_
         | 
| 4278 4057 |  | 
| 4279 4058 | 
             
            - func: pow_.Scalar(Tensor(a!) self, Scalar exponent) -> Tensor(a!)
         | 
| 4280 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 4281 4059 | 
             
              supports_named_tensor: True
         | 
| 4282 4060 | 
             
              variants: method
         | 
| 4283 4061 | 
             
              dispatch:
         | 
| @@ -4285,7 +4063,6 @@ | |
| 4285 4063 | 
             
                CUDA: pow_
         | 
| 4286 4064 |  | 
| 4287 4065 | 
             
            - func: pow_.Tensor(Tensor(a!) self, Tensor exponent) -> Tensor(a!)
         | 
| 4288 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 4289 4066 | 
             
              supports_named_tensor: True
         | 
| 4290 4067 | 
             
              variants: method
         | 
| 4291 4068 | 
             
              dispatch:
         | 
| @@ -4293,49 +4070,42 @@ | |
| 4293 4070 | 
             
                CUDA: pow_
         | 
| 4294 4071 |  | 
| 4295 4072 | 
             
            - func: lerp_.Scalar(Tensor(a!) self, Tensor end, Scalar weight) -> Tensor(a!)
         | 
| 4296 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 4297 4073 | 
             
              variants: method
         | 
| 4298 4074 | 
             
              dispatch:
         | 
| 4299 4075 | 
             
                CPU: lerp_cpu_scalar_
         | 
| 4300 4076 | 
             
                CUDA: lerp_cuda_scalar_
         | 
| 4301 4077 |  | 
| 4302 4078 | 
             
            - func: lerp_.Tensor(Tensor(a!) self, Tensor end, Tensor weight) -> Tensor(a!)
         | 
| 4303 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 4304 4079 | 
             
              variants: method
         | 
| 4305 4080 | 
             
              dispatch:
         | 
| 4306 4081 | 
             
                CPU: lerp_cpu_tensor_
         | 
| 4307 4082 | 
             
                CUDA: lerp_cuda_tensor_
         | 
| 4308 4083 |  | 
| 4309 4084 | 
             
            - func: fmod_.Scalar(Tensor(a!) self, Scalar other) -> Tensor(a!)
         | 
| 4310 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 4311 4085 | 
             
              variants: method
         | 
| 4312 4086 | 
             
              dispatch:
         | 
| 4313 4087 | 
             
                CPU: legacy::cpu::_th_fmod_
         | 
| 4314 4088 | 
             
                CUDA: legacy::cuda::_th_fmod_
         | 
| 4315 4089 |  | 
| 4316 4090 | 
             
            - func: fmod_.Tensor(Tensor(a!) self, Tensor other) -> Tensor(a!)
         | 
| 4317 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 4318 4091 | 
             
              variants: method
         | 
| 4319 4092 | 
             
              dispatch:
         | 
| 4320 4093 | 
             
                CPU: legacy::cpu::_th_fmod_
         | 
| 4321 4094 | 
             
                CUDA: legacy::cuda::_th_fmod_
         | 
| 4322 4095 |  | 
| 4323 4096 | 
             
            - func: remainder_.Scalar(Tensor(a!) self, Scalar other) -> Tensor(a!)
         | 
| 4324 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 4325 4097 | 
             
              variants: method
         | 
| 4326 4098 | 
             
              dispatch:
         | 
| 4327 4099 | 
             
                CPU: legacy::cpu::_th_remainder_
         | 
| 4328 4100 | 
             
                CUDA: legacy::cuda::_th_remainder_
         | 
| 4329 4101 |  | 
| 4330 4102 | 
             
            - func: remainder_.Tensor(Tensor(a!) self, Tensor other) -> Tensor(a!)
         | 
| 4331 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 4332 4103 | 
             
              variants: method
         | 
| 4333 4104 | 
             
              dispatch:
         | 
| 4334 4105 | 
             
                CPU: legacy::cpu::_th_remainder_
         | 
| 4335 4106 | 
             
                CUDA: legacy::cuda::_th_remainder_
         | 
| 4336 4107 |  | 
| 4337 4108 | 
             
            - func: addbmm_(Tensor(a!) self, Tensor batch1, Tensor batch2, *, Scalar beta=1, Scalar alpha=1) -> Tensor(a!)
         | 
| 4338 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 4339 4109 | 
             
              variants: method
         | 
| 4340 4110 | 
             
              dispatch:
         | 
| 4341 4111 | 
             
                CPU: legacy::cpu::_th_addbmm_
         | 
| @@ -4354,11 +4124,10 @@ | |
| 4354 4124 | 
             
                CUDA: legacy::cuda::_th_addbmm
         | 
| 4355 4125 |  | 
| 4356 4126 | 
             
            - func: addcdiv_(Tensor(a!) self, Tensor tensor1, Tensor tensor2, *, Scalar value=1) -> Tensor(a!)
         | 
| 4357 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 4358 4127 | 
             
              variants: method
         | 
| 4128 | 
            +
              supports_named_tensor: True
         | 
| 4359 4129 |  | 
| 4360 4130 | 
             
            - func: random_.from(Tensor(a!) self, int from, int to, *, Generator? generator=None) -> Tensor(a!)
         | 
| 4361 | 
            -
              use_c10_dispatcher: 'unboxed_only'
         | 
| 4362 4131 | 
             
              variants: method
         | 
| 4363 4132 | 
             
              dispatch:
         | 
| 4364 4133 | 
             
                CPU: legacy::cpu::_th_random_
         | 
| @@ -4366,7 +4135,6 @@ | |
| 4366 4135 | 
             
              supports_named_tensor: True
         | 
| 4367 4136 |  | 
| 4368 4137 | 
             
            - func: random_.to(Tensor(a!) self, int to, *, Generator? generator=None) -> Tensor(a!)
         | 
| 4369 | 
            -
              use_c10_dispatcher: 'unboxed_only'
         | 
| 4370 4138 | 
             
              variants: method
         | 
| 4371 4139 | 
             
              dispatch:
         | 
| 4372 4140 | 
             
                CPU: legacy::cpu::_th_random_
         | 
| @@ -4374,7 +4142,6 @@ | |
| 4374 4142 | 
             
              supports_named_tensor: True
         | 
| 4375 4143 |  | 
| 4376 4144 | 
             
            - func: random_(Tensor(a!) self, *, Generator? generator=None) -> Tensor(a!)
         | 
| 4377 | 
            -
              use_c10_dispatcher: 'unboxed_only'
         | 
| 4378 4145 | 
             
              variants: method
         | 
| 4379 4146 | 
             
              dispatch:
         | 
| 4380 4147 | 
             
                CPU: legacy::cpu::_th_random_
         | 
| @@ -4382,7 +4149,6 @@ | |
| 4382 4149 | 
             
              supports_named_tensor: True
         | 
| 4383 4150 |  | 
| 4384 4151 | 
             
            - func: uniform_(Tensor(a!) self, float from=0, float to=1, *, Generator? generator=None) -> Tensor(a!)
         | 
| 4385 | 
            -
              use_c10_dispatcher: 'unboxed_only'
         | 
| 4386 4152 | 
             
              variants: method
         | 
| 4387 4153 | 
             
              dispatch:
         | 
| 4388 4154 | 
             
                CPU: legacy::cpu::_th_uniform_
         | 
| @@ -4390,7 +4156,6 @@ | |
| 4390 4156 | 
             
              supports_named_tensor: True
         | 
| 4391 4157 |  | 
| 4392 4158 | 
             
            - func: normal_(Tensor(a!) self, float mean=0, float std=1, *, Generator? generator=None) -> Tensor(a!)
         | 
| 4393 | 
            -
              use_c10_dispatcher: 'unboxed_only'
         | 
| 4394 4159 | 
             
              variants: method
         | 
| 4395 4160 | 
             
              dispatch:
         | 
| 4396 4161 | 
             
                CPU: legacy::cpu::_th_normal_
         | 
| @@ -4398,7 +4163,6 @@ | |
| 4398 4163 | 
             
              supports_named_tensor: True
         | 
| 4399 4164 |  | 
| 4400 4165 | 
             
            - func: cauchy_(Tensor(a!) self, float median=0, float sigma=1, *, Generator? generator=None) -> Tensor(a!)
         | 
| 4401 | 
            -
              use_c10_dispatcher: 'unboxed_only'
         | 
| 4402 4166 | 
             
              variants: method
         | 
| 4403 4167 | 
             
              dispatch:
         | 
| 4404 4168 | 
             
                CPU: legacy::cpu::_th_cauchy_
         | 
| @@ -4406,7 +4170,6 @@ | |
| 4406 4170 | 
             
              supports_named_tensor: True
         | 
| 4407 4171 |  | 
| 4408 4172 | 
             
            - func: log_normal_(Tensor(a!) self, float mean=1, float std=2, *, Generator? generator=None) -> Tensor(a!)
         | 
| 4409 | 
            -
              use_c10_dispatcher: 'unboxed_only'
         | 
| 4410 4173 | 
             
              variants: method
         | 
| 4411 4174 | 
             
              dispatch:
         | 
| 4412 4175 | 
             
                CPU: legacy::cpu::_th_log_normal_
         | 
| @@ -4414,7 +4177,6 @@ | |
| 4414 4177 | 
             
              supports_named_tensor: True
         | 
| 4415 4178 |  | 
| 4416 4179 | 
             
            - func: exponential_(Tensor(a!) self, float lambd=1, *, Generator? generator=None) -> Tensor(a!)
         | 
| 4417 | 
            -
              use_c10_dispatcher: 'unboxed_only'
         | 
| 4418 4180 | 
             
              variants: method
         | 
| 4419 4181 | 
             
              dispatch:
         | 
| 4420 4182 | 
             
                CPU: legacy::cpu::_th_exponential_
         | 
| @@ -4422,7 +4184,6 @@ | |
| 4422 4184 | 
             
              supports_named_tensor: True
         | 
| 4423 4185 |  | 
| 4424 4186 | 
             
            - func: geometric_(Tensor(a!) self, float p, *, Generator? generator=None) -> Tensor(a!)
         | 
| 4425 | 
            -
              use_c10_dispatcher: 'unboxed_only'
         | 
| 4426 4187 | 
             
              variants: method
         | 
| 4427 4188 | 
             
              dispatch:
         | 
| 4428 4189 | 
             
                CPU: legacy::cpu::_th_geometric_
         | 
| @@ -4734,7 +4495,6 @@ | |
| 4734 4495 | 
             
                CUDA: legacy::cuda::_th_nonzero
         | 
| 4735 4496 |  | 
| 4736 4497 | 
             
            - func: nonzero_numpy(Tensor self) -> Tensor[]
         | 
| 4737 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 4738 4498 | 
             
              variants: method, function
         | 
| 4739 4499 |  | 
| 4740 4500 | 
             
            - func: gather.out(Tensor self, int dim, Tensor index, *, bool sparse_grad=False, Tensor(a!) out) -> Tensor(a!)
         | 
| @@ -4758,20 +4518,24 @@ | |
| 4758 4518 | 
             
              use_c10_dispatcher: full
         | 
| 4759 4519 |  | 
| 4760 4520 | 
             
            - func: addcmul.out(Tensor self, Tensor tensor1, Tensor tensor2, *, Scalar value=1, Tensor(a!) out) -> Tensor(a!)
         | 
| 4521 | 
            +
              supports_named_tensor: True
         | 
| 4761 4522 |  | 
| 4762 4523 | 
             
            - func: addcmul(Tensor self, Tensor tensor1, Tensor tensor2, *, Scalar value=1) -> Tensor
         | 
| 4763 4524 | 
             
              use_c10_dispatcher: full
         | 
| 4764 4525 | 
             
              variants: method, function
         | 
| 4526 | 
            +
              supports_named_tensor: True
         | 
| 4765 4527 |  | 
| 4766 4528 | 
             
            - func: addcmul_(Tensor(a!) self, Tensor tensor1, Tensor tensor2, *, Scalar value=1) -> Tensor(a!)
         | 
| 4767 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 4768 4529 | 
             
              variants: method
         | 
| 4530 | 
            +
              supports_named_tensor: True
         | 
| 4769 4531 |  | 
| 4770 4532 | 
             
            - func: addcdiv.out(Tensor self, Tensor tensor1, Tensor tensor2, *, Scalar value=1, Tensor(a!) out) -> Tensor(a!)
         | 
| 4533 | 
            +
              supports_named_tensor: True
         | 
| 4771 4534 |  | 
| 4772 4535 | 
             
            - func: addcdiv(Tensor self, Tensor tensor1, Tensor tensor2, *, Scalar value=1) -> Tensor
         | 
| 4773 4536 | 
             
              use_c10_dispatcher: full
         | 
| 4774 4537 | 
             
              variants: method, function
         | 
| 4538 | 
            +
              supports_named_tensor: True
         | 
| 4775 4539 |  | 
| 4776 4540 | 
             
            - func: lstsq.X(Tensor self, Tensor A, *, Tensor(a!) X, Tensor(b!) qr) -> (Tensor(a!) solution, Tensor(b!) QR)
         | 
| 4777 4541 | 
             
              dispatch:
         | 
| @@ -4779,7 +4543,6 @@ | |
| 4779 4543 | 
             
                CUDA: legacy::cuda::_th_gels_out
         | 
| 4780 4544 |  | 
| 4781 4545 | 
             
            - func: lstsq(Tensor self, Tensor A) -> (Tensor solution, Tensor QR)
         | 
| 4782 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 4783 4546 | 
             
              variants: method, function
         | 
| 4784 4547 | 
             
              dispatch:
         | 
| 4785 4548 | 
             
                CPU: legacy::cpu::_th_gels
         | 
| @@ -4788,11 +4551,9 @@ | |
| 4788 4551 | 
             
            - func: triangular_solve.X(Tensor self, Tensor A, bool upper=True, bool transpose=False, bool unitriangular=False, *, Tensor(a!) X, Tensor(b!) M) -> (Tensor(a!) solution, Tensor(b!) cloned_coefficient)
         | 
| 4789 4552 |  | 
| 4790 4553 | 
             
            - func: triangular_solve(Tensor self, Tensor A, bool upper=True, bool transpose=False, bool unitriangular=False) -> (Tensor solution, Tensor cloned_coefficient)
         | 
| 4791 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 4792 4554 | 
             
              variants: method, function
         | 
| 4793 4555 |  | 
| 4794 4556 | 
             
            - func: _triangular_solve_helper(Tensor self, Tensor A, bool upper, bool transpose, bool unitriangular) -> (Tensor, Tensor)
         | 
| 4795 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 4796 4557 | 
             
              variants: function
         | 
| 4797 4558 | 
             
              dispatch:
         | 
| 4798 4559 | 
             
                CPU: _triangular_solve_helper_cpu
         | 
| @@ -4801,11 +4562,9 @@ | |
| 4801 4562 | 
             
            - func: symeig.e(Tensor self, bool eigenvectors=False, bool upper=True, *, Tensor(a!) e, Tensor(b!) V) -> (Tensor(a!) eigenvalues, Tensor(b!) eigenvectors)
         | 
| 4802 4563 |  | 
| 4803 4564 | 
             
            - func: symeig(Tensor self, bool eigenvectors=False, bool upper=True) -> (Tensor eigenvalues, Tensor eigenvectors)
         | 
| 4804 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 4805 4565 | 
             
              variants: method, function
         | 
| 4806 4566 |  | 
| 4807 4567 | 
             
            - func: _symeig_helper(Tensor self, bool eigenvectors, bool upper) -> (Tensor, Tensor)
         | 
| 4808 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 4809 4568 | 
             
              variants: function
         | 
| 4810 4569 | 
             
              dispatch:
         | 
| 4811 4570 | 
             
                CPU: _symeig_helper_cpu
         | 
| @@ -4817,7 +4576,6 @@ | |
| 4817 4576 | 
             
                CUDA: legacy::cuda::_th_eig_out
         | 
| 4818 4577 |  | 
| 4819 4578 | 
             
            - func: eig(Tensor self, bool eigenvectors=False) -> (Tensor eigenvalues, Tensor eigenvectors)
         | 
| 4820 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 4821 4579 | 
             
              variants: method, function
         | 
| 4822 4580 | 
             
              dispatch:
         | 
| 4823 4581 | 
             
                CPU: legacy::cpu::_th_eig
         | 
| @@ -4826,11 +4584,9 @@ | |
| 4826 4584 | 
             
            - func: svd.U(Tensor self, bool some=True, bool compute_uv=True, *, Tensor(a!) U, Tensor(b!) S, Tensor(c!) V) -> (Tensor(a!) U, Tensor(b!) S, Tensor(c!) V)
         | 
| 4827 4585 |  | 
| 4828 4586 | 
             
            - func: svd(Tensor self, bool some=True, bool compute_uv=True) -> (Tensor U, Tensor S, Tensor V)
         | 
| 4829 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 4830 4587 | 
             
              variants: method, function
         | 
| 4831 4588 |  | 
| 4832 4589 | 
             
            - func: _svd_helper(Tensor self, bool some, bool compute_uv) -> (Tensor, Tensor, Tensor)
         | 
| 4833 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 4834 4590 | 
             
              variants: function
         | 
| 4835 4591 | 
             
              dispatch:
         | 
| 4836 4592 | 
             
                CPU: _svd_helper_cpu
         | 
| @@ -4863,13 +4619,11 @@ | |
| 4863 4619 | 
             
                CUDA: _cholesky_solve_helper_cuda
         | 
| 4864 4620 |  | 
| 4865 4621 | 
             
            - func: solve(Tensor self, Tensor A) -> (Tensor solution, Tensor LU)
         | 
| 4866 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 4867 4622 | 
             
              variants: function, method
         | 
| 4868 4623 |  | 
| 4869 4624 | 
             
            - func: solve.solution(Tensor self, Tensor A, *, Tensor(a!) solution, Tensor(b!) lu) -> (Tensor(a!) solution, Tensor(b!) LU)
         | 
| 4870 4625 |  | 
| 4871 4626 | 
             
            - func: _solve_helper(Tensor self, Tensor A) -> (Tensor, Tensor)
         | 
| 4872 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 4873 4627 | 
             
              variants: function
         | 
| 4874 4628 | 
             
              dispatch:
         | 
| 4875 4629 | 
             
                CPU: _solve_helper_cpu
         | 
| @@ -4890,11 +4644,9 @@ | |
| 4890 4644 | 
             
            - func: qr.Q(Tensor self, bool some=True, *, Tensor(a!) Q, Tensor(b!) R) -> (Tensor(a!) Q, Tensor(b!) R)
         | 
| 4891 4645 |  | 
| 4892 4646 | 
             
            - func: qr(Tensor self, bool some=True) -> (Tensor Q, Tensor R)
         | 
| 4893 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 4894 4647 | 
             
              variants: method, function
         | 
| 4895 4648 |  | 
| 4896 4649 | 
             
            - func: _qr_helper(Tensor self, bool some) -> (Tensor, Tensor)
         | 
| 4897 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 4898 4650 | 
             
              variants: function
         | 
| 4899 4651 | 
             
              dispatch:
         | 
| 4900 4652 | 
             
                CPU: _qr_helper_cpu
         | 
| @@ -4906,7 +4658,6 @@ | |
| 4906 4658 | 
             
                CUDA: legacy::cuda::_th_geqrf_out
         | 
| 4907 4659 |  | 
| 4908 4660 | 
             
            - func: geqrf(Tensor self) -> (Tensor a, Tensor tau)
         | 
| 4909 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 4910 4661 | 
             
              variants: method, function
         | 
| 4911 4662 | 
             
              dispatch:
         | 
| 4912 4663 | 
             
                CPU: legacy::cpu::_th_geqrf
         | 
| @@ -4933,7 +4684,6 @@ | |
| 4933 4684 | 
             
                CPU: legacy::cpu::_th_ormqr
         | 
| 4934 4685 |  | 
| 4935 4686 | 
             
            - func: _lu_with_info(Tensor self, bool pivot=True, bool check_errors=True) -> (Tensor, Tensor, Tensor)
         | 
| 4936 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 4937 4687 | 
             
              variants: function
         | 
| 4938 4688 | 
             
              dispatch:
         | 
| 4939 4689 | 
             
                CPU: _lu_with_info_cpu
         | 
| @@ -4959,21 +4709,18 @@ | |
| 4959 4709 | 
             
                CUDA: multinomial_out
         | 
| 4960 4710 |  | 
| 4961 4711 | 
             
            - func: multinomial(Tensor self, int num_samples, bool replacement=False, *, Generator? generator=None) -> Tensor
         | 
| 4962 | 
            -
              use_c10_dispatcher: 'unboxed_only'
         | 
| 4963 4712 | 
             
              variants: method, function
         | 
| 4964 4713 | 
             
              dispatch:
         | 
| 4965 4714 | 
             
                CPU: multinomial
         | 
| 4966 4715 | 
             
                CUDA: multinomial
         | 
| 4967 4716 |  | 
| 4968 4717 | 
             
            - func: _multinomial_alias_setup(Tensor probs) -> (Tensor, Tensor)
         | 
| 4969 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 4970 4718 | 
             
              variants: function
         | 
| 4971 4719 | 
             
              dispatch:
         | 
| 4972 4720 | 
             
                CPU: legacy::cpu::_th_multinomial_alias_setup
         | 
| 4973 4721 | 
             
                CUDA: legacy::cuda::_th_multinomial_alias_setup
         | 
| 4974 4722 |  | 
| 4975 4723 | 
             
            - func: _multinomial_alias_draw(Tensor J, Tensor q, int num_samples, *, Generator? generator=None) -> Tensor
         | 
| 4976 | 
            -
              use_c10_dispatcher: 'unboxed_only'
         | 
| 4977 4724 | 
             
              variants: function
         | 
| 4978 4725 | 
             
              dispatch:
         | 
| 4979 4726 | 
             
                CPU: legacy::cpu::_th_multinomial_alias_draw
         | 
| @@ -5018,7 +4765,6 @@ | |
| 5018 4765 | 
             
                CUDA: erfinv
         | 
| 5019 4766 |  | 
| 5020 4767 | 
             
            - func: erfinv_(Tensor(a!) self) -> Tensor(a!)
         | 
| 5021 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 5022 4768 | 
             
              supports_named_tensor: True
         | 
| 5023 4769 | 
             
              variants: method
         | 
| 5024 4770 | 
             
              dispatch:
         | 
| @@ -5032,12 +4778,10 @@ | |
| 5032 4778 | 
             
                CUDA: _erfinv_out_cuda
         | 
| 5033 4779 |  | 
| 5034 4780 | 
             
            - func: sign(Tensor self) -> Tensor
         | 
| 5035 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 5036 4781 | 
             
              variants: function, method
         | 
| 5037 4782 | 
             
              supports_named_tensor: True
         | 
| 5038 4783 |  | 
| 5039 4784 | 
             
            - func: sign_(Tensor(a!) self) -> Tensor(a!)
         | 
| 5040 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 5041 4785 | 
             
              variants: method
         | 
| 5042 4786 | 
             
              supports_named_tensor: True
         | 
| 5043 4787 |  | 
| @@ -5202,7 +4946,6 @@ | |
| 5202 4946 | 
             
                CUDA: legacy::cuda::_th_sort_out
         | 
| 5203 4947 |  | 
| 5204 4948 | 
             
            - func: sort(Tensor self, int dim=-1, bool descending=False) -> (Tensor values, Tensor indices)
         | 
| 5205 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 5206 4949 | 
             
              variants: method, function
         | 
| 5207 4950 | 
             
              dispatch:
         | 
| 5208 4951 | 
             
                CPU: legacy::cpu::_th_sort
         | 
| @@ -5227,7 +4970,6 @@ | |
| 5227 4970 | 
             
                CUDA: legacy::cuda::_th_topk_out
         | 
| 5228 4971 |  | 
| 5229 4972 | 
             
            - func: topk(Tensor self, int k, int dim=-1, bool largest=True, bool sorted=True) -> (Tensor values, Tensor indices)
         | 
| 5230 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 5231 4973 | 
             
              variants: method, function
         | 
| 5232 4974 | 
             
              dispatch:
         | 
| 5233 4975 | 
             
                CPU: topk
         | 
| @@ -5257,11 +4999,11 @@ | |
| 5257 4999 | 
             
                CUDA: legacy::cuda::_th_renorm
         | 
| 5258 5000 |  | 
| 5259 5001 | 
             
            - func: unfold(Tensor(a) self, int dimension, int size, int step) -> Tensor(a)
         | 
| 5260 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 5261 5002 | 
             
              variants: method
         | 
| 5003 | 
            +
              device_guard: False
         | 
| 5262 5004 | 
             
              dispatch:
         | 
| 5263 | 
            -
                CPU:  | 
| 5264 | 
            -
                CUDA:  | 
| 5005 | 
            +
                CPU: unfold
         | 
| 5006 | 
            +
                CUDA: unfold
         | 
| 5265 5007 |  | 
| 5266 5008 | 
             
            - func: equal(Tensor self, Tensor other) -> bool
         | 
| 5267 5009 | 
             
              use_c10_dispatcher: full
         | 
| @@ -5270,6 +5012,7 @@ | |
| 5270 5012 | 
             
                CPU: legacy::cpu::_th_equal
         | 
| 5271 5013 | 
             
                CUDA: legacy::cuda::_th_equal
         | 
| 5272 5014 | 
             
                QuantizedCPU: quantized_equal
         | 
| 5015 | 
            +
              supports_named_tensor: True
         | 
| 5273 5016 |  | 
| 5274 5017 | 
             
            - func: pow.Tensor_Tensor_out(Tensor self, Tensor exponent, *, Tensor(a!) out) -> Tensor(a!)
         | 
| 5275 5018 | 
             
              supports_named_tensor: True
         | 
| @@ -5304,7 +5047,6 @@ | |
| 5304 5047 | 
             
                CUDA: normal_out_cuda
         | 
| 5305 5048 |  | 
| 5306 5049 | 
             
            - func: normal.Tensor_float(Tensor mean, float std=1, *, Generator? generator=None) -> Tensor
         | 
| 5307 | 
            -
              use_c10_dispatcher: 'unboxed_only'
         | 
| 5308 5050 | 
             
              dispatch:
         | 
| 5309 5051 | 
             
                CPU: legacy::cpu::_th_normal
         | 
| 5310 5052 | 
             
                CUDA: normal_cuda
         | 
| @@ -5315,7 +5057,6 @@ | |
| 5315 5057 | 
             
                CUDA: normal_out_cuda
         | 
| 5316 5058 |  | 
| 5317 5059 | 
             
            - func: normal.float_Tensor(float mean, Tensor std, *, Generator? generator=None) -> Tensor
         | 
| 5318 | 
            -
              use_c10_dispatcher: 'unboxed_only'
         | 
| 5319 5060 | 
             
              dispatch:
         | 
| 5320 5061 | 
             
                CPU: legacy::cpu::_th_normal
         | 
| 5321 5062 | 
             
                CUDA: normal_cuda
         | 
| @@ -5326,7 +5067,6 @@ | |
| 5326 5067 | 
             
                CUDA: normal_out_cuda
         | 
| 5327 5068 |  | 
| 5328 5069 | 
             
            - func: normal.Tensor_Tensor(Tensor mean, Tensor std, *, Generator? generator=None) -> Tensor
         | 
| 5329 | 
            -
              use_c10_dispatcher: 'unboxed_only'
         | 
| 5330 5070 | 
             
              dispatch:
         | 
| 5331 5071 | 
             
                CPU: legacy::cpu::_th_normal
         | 
| 5332 5072 | 
             
                CUDA: normal_cuda
         | 
| @@ -5336,7 +5076,6 @@ | |
| 5336 5076 | 
             
            - func: normal.float_float_out(float mean, float std, int[] size, *, Generator? generator=None, Tensor(a!) out) -> Tensor(a!)
         | 
| 5337 5077 |  | 
| 5338 5078 | 
             
            - func: alias(Tensor(a) self) -> Tensor(a)
         | 
| 5339 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 5340 5079 | 
             
              variants: method, function
         | 
| 5341 5080 | 
             
              supports_named_tensor: True
         | 
| 5342 5081 |  | 
| @@ -5347,7 +5086,6 @@ | |
| 5347 5086 | 
             
                CUDA: legacy::cuda::_th_addr
         | 
| 5348 5087 |  | 
| 5349 5088 | 
             
            - func: _addr_(Tensor(a!) self, Tensor vec1, Tensor vec2, *, Scalar beta=1, Scalar alpha=1) -> Tensor(a!)
         | 
| 5350 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 5351 5089 | 
             
              dispatch:
         | 
| 5352 5090 | 
             
                CPU: legacy::cpu::_th_addr_
         | 
| 5353 5091 | 
             
                CUDA: legacy::cuda::_th_addr_
         | 
| @@ -5358,7 +5096,6 @@ | |
| 5358 5096 | 
             
                CUDA: legacy::cuda::_th_addr_out
         | 
| 5359 5097 |  | 
| 5360 5098 | 
             
            - func: _index_copy_(Tensor(a!) self, int dim, Tensor index, Tensor source) -> Tensor(a!)
         | 
| 5361 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 5362 5099 | 
             
              dispatch:
         | 
| 5363 5100 | 
             
                CPU: legacy::cpu::_th_index_copy_
         | 
| 5364 5101 | 
             
                CUDA: legacy::cuda::_th_index_copy_
         | 
| @@ -5400,7 +5137,6 @@ | |
| 5400 5137 | 
             
              supports_named_tensor: True
         | 
| 5401 5138 |  | 
| 5402 5139 | 
             
            - func: _cat(Tensor[] tensors, int dim=0) -> Tensor
         | 
| 5403 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 5404 5140 | 
             
              dispatch:
         | 
| 5405 5141 | 
             
                CPU: legacy::cpu::_th_cat
         | 
| 5406 5142 | 
             
                CUDA: legacy::cuda::_th_cat
         | 
| @@ -5411,7 +5147,6 @@ | |
| 5411 5147 | 
             
                CUDA: legacy::cuda::_th_cat_out
         | 
| 5412 5148 |  | 
| 5413 5149 | 
             
            - func: _mode(Tensor self, int dim=-1, bool keepdim=False) -> (Tensor, Tensor)
         | 
| 5414 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 5415 5150 | 
             
              dispatch:
         | 
| 5416 5151 | 
             
                CPU: legacy::cpu::_th_mode
         | 
| 5417 5152 | 
             
                CUDA: legacy::cuda::_th_mode
         | 
| @@ -5422,7 +5157,6 @@ | |
| 5422 5157 | 
             
                CUDA: legacy::cuda::_th_mode_out
         | 
| 5423 5158 |  | 
| 5424 5159 | 
             
            - func: _max(Tensor self, int dim, bool keepdim=False) -> (Tensor, Tensor)
         | 
| 5425 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 5426 5160 | 
             
              dispatch:
         | 
| 5427 5161 | 
             
                CPU: legacy::cpu::_th_max
         | 
| 5428 5162 | 
             
                CUDA: legacy::cuda::_th_max
         | 
| @@ -5433,7 +5167,6 @@ | |
| 5433 5167 | 
             
                CUDA: legacy::cuda::_th_max_out
         | 
| 5434 5168 |  | 
| 5435 5169 | 
             
            - func: _min(Tensor self, int dim, bool keepdim=False) -> (Tensor, Tensor)
         | 
| 5436 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 5437 5170 | 
             
              dispatch:
         | 
| 5438 5171 | 
             
                CPU: legacy::cpu::_th_min
         | 
| 5439 5172 | 
             
                CUDA: legacy::cuda::_th_min
         | 
| @@ -5471,78 +5204,63 @@ | |
| 5471 5204 |  | 
| 5472 5205 | 
             
            - func: mse_loss.out(Tensor self, Tensor target, int reduction=Mean, *, Tensor(a!) out) -> Tensor(a!)
         | 
| 5473 5206 | 
             
              python_module: nn
         | 
| 5474 | 
            -
              dispatch:
         | 
| 5475 | 
            -
                CPU: legacy::cpu::_thnn_mse_loss_forward_out
         | 
| 5476 | 
            -
                CUDA: legacy::cuda::_thnn_mse_loss_forward_out
         | 
| 5477 5207 |  | 
| 5478 5208 | 
             
            - func: mse_loss(Tensor self, Tensor target, int reduction=Mean) -> Tensor
         | 
| 5479 5209 | 
             
              use_c10_dispatcher: full
         | 
| 5480 5210 | 
             
              python_module: nn
         | 
| 5481 | 
            -
              dispatch:
         | 
| 5482 | 
            -
                CPU: legacy::cpu::_thnn_mse_loss_forward
         | 
| 5483 | 
            -
                CUDA: legacy::cuda::_thnn_mse_loss_forward
         | 
| 5484 5211 |  | 
| 5485 5212 | 
             
            - func: mse_loss_backward.grad_input(Tensor grad_output, Tensor self, Tensor target, int reduction, *, Tensor(a!) grad_input) -> Tensor(a!)
         | 
| 5486 5213 | 
             
              python_module: nn
         | 
| 5487 5214 | 
             
              dispatch:
         | 
| 5488 | 
            -
                CPU:  | 
| 5489 | 
            -
                CUDA:  | 
| 5215 | 
            +
                CPU: mse_loss_backward_out
         | 
| 5216 | 
            +
                CUDA: mse_loss_backward_out
         | 
| 5490 5217 |  | 
| 5491 5218 | 
             
            - func: mse_loss_backward(Tensor grad_output, Tensor self, Tensor target, int reduction) -> Tensor
         | 
| 5492 5219 | 
             
              use_c10_dispatcher: full
         | 
| 5493 5220 | 
             
              python_module: nn
         | 
| 5494 5221 | 
             
              dispatch:
         | 
| 5495 | 
            -
                CPU:  | 
| 5496 | 
            -
                CUDA:  | 
| 5222 | 
            +
                CPU: mse_loss_backward
         | 
| 5223 | 
            +
                CUDA: mse_loss_backward
         | 
| 5497 5224 |  | 
| 5498 5225 | 
             
            - func: l1_loss.out(Tensor self, Tensor target, int reduction=Mean, *, Tensor(a!) out) -> Tensor(a!)
         | 
| 5499 5226 | 
             
              python_module: nn
         | 
| 5500 | 
            -
              dispatch:
         | 
| 5501 | 
            -
                CPU: legacy::cpu::_thnn_l1_loss_forward_out
         | 
| 5502 | 
            -
                CUDA: legacy::cuda::_thnn_l1_loss_forward_out
         | 
| 5503 5227 |  | 
| 5504 5228 | 
             
            - func: l1_loss(Tensor self, Tensor target, int reduction=Mean) -> Tensor
         | 
| 5505 5229 | 
             
              use_c10_dispatcher: full
         | 
| 5506 5230 | 
             
              python_module: nn
         | 
| 5507 | 
            -
              dispatch:
         | 
| 5508 | 
            -
                CPU: legacy::cpu::_thnn_l1_loss_forward
         | 
| 5509 | 
            -
                CUDA: legacy::cuda::_thnn_l1_loss_forward
         | 
| 5510 5231 |  | 
| 5511 5232 | 
             
            - func: l1_loss_backward.grad_input(Tensor grad_output, Tensor self, Tensor target, int reduction, *, Tensor(a!) grad_input) -> Tensor(a!)
         | 
| 5512 5233 | 
             
              python_module: nn
         | 
| 5513 5234 | 
             
              dispatch:
         | 
| 5514 | 
            -
                CPU:  | 
| 5515 | 
            -
                CUDA:  | 
| 5235 | 
            +
                CPU: l1_loss_backward_out
         | 
| 5236 | 
            +
                CUDA: l1_loss_backward_out
         | 
| 5516 5237 |  | 
| 5517 5238 | 
             
            - func: l1_loss_backward(Tensor grad_output, Tensor self, Tensor target, int reduction) -> Tensor
         | 
| 5518 5239 | 
             
              use_c10_dispatcher: full
         | 
| 5519 5240 | 
             
              python_module: nn
         | 
| 5520 | 
            -
              dispatch:
         | 
| 5521 | 
            -
                CPU: legacy::cpu::_thnn_l1_loss_backward
         | 
| 5522 | 
            -
                CUDA: legacy::cuda::_thnn_l1_loss_backward
         | 
| 5523 5241 |  | 
| 5524 5242 | 
             
            - func: multi_margin_loss.out(Tensor self, Tensor target, Scalar p=1, Scalar margin=1, Tensor? weight=None, int reduction=Mean, *, Tensor(a!) out) -> Tensor(a!)
         | 
| 5525 5243 | 
             
              python_module: nn
         | 
| 5526 5244 | 
             
              dispatch:
         | 
| 5527 | 
            -
                CPU:  | 
| 5245 | 
            +
                CPU: multi_margin_loss_cpu_out
         | 
| 5528 5246 | 
             
                CUDA: legacy::cuda::_thnn_multi_margin_loss_forward_out
         | 
| 5529 5247 |  | 
| 5530 5248 | 
             
            - func: multi_margin_loss(Tensor self, Tensor target, Scalar p=1, Scalar margin=1, Tensor? weight=None, int reduction=Mean) -> Tensor
         | 
| 5531 5249 | 
             
              python_module: nn
         | 
| 5532 5250 | 
             
              dispatch:
         | 
| 5533 | 
            -
                CPU:  | 
| 5251 | 
            +
                CPU: multi_margin_loss_cpu
         | 
| 5534 5252 | 
             
                CUDA: legacy::cuda::_thnn_multi_margin_loss_forward
         | 
| 5535 5253 |  | 
| 5536 5254 | 
             
            - func: multi_margin_loss_backward.grad_input(Tensor grad_output, Tensor self, Tensor target, Scalar p, Scalar margin, Tensor? weight=None, int reduction=Mean, *, Tensor(a!) grad_input) -> Tensor(a!)
         | 
| 5537 5255 | 
             
              python_module: nn
         | 
| 5538 5256 | 
             
              dispatch:
         | 
| 5539 | 
            -
                CPU:  | 
| 5257 | 
            +
                CPU: multi_margin_loss_cpu_backward_out
         | 
| 5540 5258 | 
             
                CUDA: legacy::cuda::_thnn_multi_margin_loss_backward_out
         | 
| 5541 5259 |  | 
| 5542 5260 | 
             
            - func: multi_margin_loss_backward(Tensor grad_output, Tensor self, Tensor target, Scalar p, Scalar margin, Tensor? weight=None, int reduction=Mean) -> Tensor
         | 
| 5543 5261 | 
             
              python_module: nn
         | 
| 5544 5262 | 
             
              dispatch:
         | 
| 5545 | 
            -
                CPU:  | 
| 5263 | 
            +
                CPU: multi_margin_loss_cpu_backward
         | 
| 5546 5264 | 
             
                CUDA: legacy::cuda::_thnn_multi_margin_loss_backward
         | 
| 5547 5265 |  | 
| 5548 5266 | 
             
            - func: multilabel_margin_loss.out(Tensor self, Tensor target, int reduction=Mean, *, Tensor(a!) out) -> Tensor(a!)
         | 
| @@ -5555,27 +5273,26 @@ | |
| 5555 5273 | 
             
            - func: multilabel_margin_loss_forward.output(Tensor self, Tensor target, int reduction, *, Tensor(a!) output, Tensor(b!) is_target) -> (Tensor(a!), Tensor(b!))
         | 
| 5556 5274 | 
             
              python_module: nn
         | 
| 5557 5275 | 
             
              dispatch:
         | 
| 5558 | 
            -
                CPU:  | 
| 5276 | 
            +
                CPU: multilabel_margin_loss_forward_out_cpu
         | 
| 5559 5277 | 
             
                CUDA: legacy::cuda::_thnn_multilabel_margin_loss_forward_out
         | 
| 5560 5278 |  | 
| 5561 5279 | 
             
            - func: multilabel_margin_loss_forward(Tensor self, Tensor target, int reduction) -> (Tensor output, Tensor is_target)
         | 
| 5562 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 5563 5280 | 
             
              python_module: nn
         | 
| 5564 5281 | 
             
              dispatch:
         | 
| 5565 | 
            -
                CPU:  | 
| 5282 | 
            +
                CPU: multilabel_margin_loss_forward_cpu
         | 
| 5566 5283 | 
             
                CUDA: legacy::cuda::_thnn_multilabel_margin_loss_forward
         | 
| 5567 5284 |  | 
| 5568 5285 | 
             
            - func: multilabel_margin_loss_backward.grad_input(Tensor grad_output, Tensor self, Tensor target, int reduction, Tensor is_target, *, Tensor(a!) grad_input) -> Tensor(a!)
         | 
| 5569 5286 | 
             
              python_module: nn
         | 
| 5570 5287 | 
             
              dispatch:
         | 
| 5571 | 
            -
                CPU:  | 
| 5288 | 
            +
                CPU: multilabel_margin_loss_backward_cpu_out
         | 
| 5572 5289 | 
             
                CUDA: legacy::cuda::_thnn_multilabel_margin_loss_backward_out
         | 
| 5573 5290 |  | 
| 5574 5291 | 
             
            - func: multilabel_margin_loss_backward(Tensor grad_output, Tensor self, Tensor target, int reduction, Tensor is_target) -> Tensor
         | 
| 5575 5292 | 
             
              use_c10_dispatcher: full
         | 
| 5576 5293 | 
             
              python_module: nn
         | 
| 5577 5294 | 
             
              dispatch:
         | 
| 5578 | 
            -
                CPU:  | 
| 5295 | 
            +
                CPU: multilabel_margin_loss_backward_cpu
         | 
| 5579 5296 | 
             
                CUDA: legacy::cuda::_thnn_multilabel_margin_loss_backward
         | 
| 5580 5297 |  | 
| 5581 5298 | 
             
            - func: nll_loss.out(Tensor self, Tensor target, Tensor? weight=None, int reduction=Mean, int ignore_index=-100, *, Tensor(a!) out) -> Tensor(a!)
         | 
| @@ -5587,25 +5304,25 @@ | |
| 5587 5304 | 
             
            - func: nll_loss_forward.output(Tensor self, Tensor target, Tensor? weight, int reduction, int ignore_index, *, Tensor(a!) output, Tensor(b!) total_weight) -> (Tensor(a!), Tensor(b!))
         | 
| 5588 5305 | 
             
              python_module: nn
         | 
| 5589 5306 | 
             
              dispatch:
         | 
| 5590 | 
            -
                CPU:  | 
| 5307 | 
            +
                CPU: nll_loss_forward_out_cpu
         | 
| 5591 5308 | 
             
                CUDA: legacy::cuda::_thnn_nll_loss_forward_out
         | 
| 5592 5309 |  | 
| 5593 5310 | 
             
            - func: nll_loss_forward(Tensor self, Tensor target, Tensor? weight, int reduction, int ignore_index) -> (Tensor output, Tensor total_weight)
         | 
| 5594 5311 | 
             
              python_module: nn
         | 
| 5595 5312 | 
             
              dispatch:
         | 
| 5596 | 
            -
                CPU:  | 
| 5313 | 
            +
                CPU: nll_loss_forward_cpu
         | 
| 5597 5314 | 
             
                CUDA: legacy::cuda::_thnn_nll_loss_forward
         | 
| 5598 5315 |  | 
| 5599 5316 | 
             
            - func: nll_loss_backward.grad_input(Tensor grad_output, Tensor self, Tensor target, Tensor? weight, int reduction, int ignore_index, Tensor total_weight, *, Tensor(a!) grad_input) -> Tensor(a!)
         | 
| 5600 5317 | 
             
              python_module: nn
         | 
| 5601 5318 | 
             
              dispatch:
         | 
| 5602 | 
            -
                CPU:  | 
| 5319 | 
            +
                CPU: nll_loss_backward_out_cpu
         | 
| 5603 5320 | 
             
                CUDA: legacy::cuda::_thnn_nll_loss_backward_out
         | 
| 5604 5321 |  | 
| 5605 5322 | 
             
            - func: nll_loss_backward(Tensor grad_output, Tensor self, Tensor target, Tensor? weight, int reduction, int ignore_index, Tensor total_weight) -> Tensor
         | 
| 5606 5323 | 
             
              python_module: nn
         | 
| 5607 5324 | 
             
              dispatch:
         | 
| 5608 | 
            -
                CPU:  | 
| 5325 | 
            +
                CPU: nll_loss_backward_cpu
         | 
| 5609 5326 | 
             
                CUDA: legacy::cuda::_thnn_nll_loss_backward
         | 
| 5610 5327 |  | 
| 5611 5328 | 
             
            - func: nll_loss2d.out(Tensor self, Tensor target, Tensor? weight=None, int reduction=Mean, int ignore_index=-100, *, Tensor(a!) out) -> Tensor(a!)
         | 
| @@ -5617,52 +5334,46 @@ | |
| 5617 5334 | 
             
            - func: nll_loss2d_forward.output(Tensor self, Tensor target, Tensor? weight, int reduction, int ignore_index, *, Tensor(a!) output, Tensor(b!) total_weight) -> (Tensor(a!), Tensor(b!))
         | 
| 5618 5335 | 
             
              python_module: nn
         | 
| 5619 5336 | 
             
              dispatch:
         | 
| 5620 | 
            -
                CPU:  | 
| 5337 | 
            +
                CPU: nll_loss2d_forward_out_cpu
         | 
| 5621 5338 | 
             
                CUDA: legacy::cuda::_thnn_nll_loss2d_forward_out
         | 
| 5622 5339 |  | 
| 5623 5340 | 
             
            - func: nll_loss2d_forward(Tensor self, Tensor target, Tensor? weight, int reduction, int ignore_index) -> (Tensor output, Tensor total_weight)
         | 
| 5624 5341 | 
             
              python_module: nn
         | 
| 5625 5342 | 
             
              dispatch:
         | 
| 5626 | 
            -
                CPU:  | 
| 5343 | 
            +
                CPU: nll_loss2d_forward_cpu
         | 
| 5627 5344 | 
             
                CUDA: legacy::cuda::_thnn_nll_loss2d_forward
         | 
| 5628 5345 |  | 
| 5629 5346 | 
             
            - func: nll_loss2d_backward.grad_input(Tensor grad_output, Tensor self, Tensor target, Tensor? weight, int reduction, int ignore_index, Tensor total_weight, *, Tensor(a!) grad_input) -> Tensor(a!)
         | 
| 5630 5347 | 
             
              python_module: nn
         | 
| 5631 5348 | 
             
              dispatch:
         | 
| 5632 | 
            -
                CPU:  | 
| 5349 | 
            +
                CPU: nll_loss2d_backward_out_cpu
         | 
| 5633 5350 | 
             
                CUDA: legacy::cuda::_thnn_nll_loss2d_backward_out
         | 
| 5634 5351 |  | 
| 5635 5352 | 
             
            - func: nll_loss2d_backward(Tensor grad_output, Tensor self, Tensor target, Tensor? weight, int reduction, int ignore_index, Tensor total_weight) -> Tensor
         | 
| 5636 5353 | 
             
              python_module: nn
         | 
| 5637 5354 | 
             
              dispatch:
         | 
| 5638 | 
            -
                CPU:  | 
| 5355 | 
            +
                CPU: nll_loss2d_backward_cpu
         | 
| 5639 5356 | 
             
                CUDA: legacy::cuda::_thnn_nll_loss2d_backward
         | 
| 5640 5357 |  | 
| 5641 5358 | 
             
            - func: smooth_l1_loss.out(Tensor self, Tensor target, int reduction=Mean, *, Tensor(a!) out) -> Tensor(a!)
         | 
| 5642 5359 | 
             
              python_module: nn
         | 
| 5643 5360 | 
             
              dispatch:
         | 
| 5644 | 
            -
                CPU:  | 
| 5645 | 
            -
                CUDA:  | 
| 5361 | 
            +
                CPU: smooth_l1_loss_out
         | 
| 5362 | 
            +
                CUDA: smooth_l1_loss_out
         | 
| 5646 5363 |  | 
| 5647 5364 | 
             
            - func: smooth_l1_loss(Tensor self, Tensor target, int reduction=Mean) -> Tensor
         | 
| 5648 5365 | 
             
              use_c10_dispatcher: full
         | 
| 5649 5366 | 
             
              python_module: nn
         | 
| 5650 | 
            -
              dispatch:
         | 
| 5651 | 
            -
                CPU: legacy::cpu::_thnn_smooth_l1_loss_forward
         | 
| 5652 | 
            -
                CUDA: legacy::cuda::_thnn_smooth_l1_loss_forward
         | 
| 5653 5367 |  | 
| 5654 5368 | 
             
            - func: smooth_l1_loss_backward.grad_input(Tensor grad_output, Tensor self, Tensor target, int reduction, *, Tensor(a!) grad_input) -> Tensor(a!)
         | 
| 5655 5369 | 
             
              python_module: nn
         | 
| 5656 5370 | 
             
              dispatch:
         | 
| 5657 | 
            -
                CPU:  | 
| 5658 | 
            -
                CUDA:  | 
| 5371 | 
            +
                CPU: smooth_l1_loss_backward_out
         | 
| 5372 | 
            +
                CUDA: smooth_l1_loss_backward_out
         | 
| 5659 5373 |  | 
| 5660 5374 | 
             
            - func: smooth_l1_loss_backward(Tensor grad_output, Tensor self, Tensor target, int reduction) -> Tensor
         | 
| 5661 5375 | 
             
              use_c10_dispatcher: full
         | 
| 5662 5376 | 
             
              python_module: nn
         | 
| 5663 | 
            -
              dispatch:
         | 
| 5664 | 
            -
                CPU: legacy::cpu::_thnn_smooth_l1_loss_backward
         | 
| 5665 | 
            -
                CUDA: legacy::cuda::_thnn_smooth_l1_loss_backward
         | 
| 5666 5377 |  | 
| 5667 5378 | 
             
            - func: soft_margin_loss.out(Tensor self, Tensor target, int reduction=Mean, *, Tensor(a!) out) -> Tensor(a!)
         | 
| 5668 5379 | 
             
              python_module: nn
         | 
| @@ -5717,7 +5428,6 @@ | |
| 5717 5428 | 
             
                CUDA: legacy::cuda::_thnn_elu_backward
         | 
| 5718 5429 |  | 
| 5719 5430 | 
             
            - func: elu_(Tensor(a!) self, Scalar alpha=1, Scalar scale=1, Scalar input_scale=1) -> Tensor(a!)
         | 
| 5720 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 5721 5431 | 
             
              python_module: nn
         | 
| 5722 5432 | 
             
              dispatch:
         | 
| 5723 5433 | 
             
                CPU: legacy::cpu::_thnn_elu_forward_
         | 
| @@ -5776,7 +5486,6 @@ | |
| 5776 5486 | 
             
                CUDA: legacy::cuda::_thnn_hardtanh_backward
         | 
| 5777 5487 |  | 
| 5778 5488 | 
             
            - func: hardtanh_(Tensor(a!) self, Scalar min_val=-1, Scalar max_val=1) -> Tensor(a!)
         | 
| 5779 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 5780 5489 | 
             
              python_module: nn
         | 
| 5781 5490 | 
             
              dispatch:
         | 
| 5782 5491 | 
             
                CPU: legacy::cpu::_thnn_hardtanh_forward_
         | 
| @@ -5809,7 +5518,6 @@ | |
| 5809 5518 | 
             
                CUDA: legacy::cuda::_thnn_leaky_relu_backward
         | 
| 5810 5519 |  | 
| 5811 5520 | 
             
            - func: leaky_relu_(Tensor(a!) self, Scalar negative_slope=0.01) -> Tensor(a!)
         | 
| 5812 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 5813 5521 | 
             
              python_module: nn
         | 
| 5814 5522 | 
             
              dispatch:
         | 
| 5815 5523 | 
             
                CPU: legacy::cpu::_thnn_leaky_relu_forward_
         | 
| @@ -5829,7 +5537,6 @@ | |
| 5829 5537 | 
             
                CUDA: legacy::cuda::_thnn_log_sigmoid_forward_out
         | 
| 5830 5538 |  | 
| 5831 5539 | 
             
            - func: log_sigmoid_forward(Tensor self) -> (Tensor output, Tensor buffer)
         | 
| 5832 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 5833 5540 | 
             
              python_module: nn
         | 
| 5834 5541 | 
             
              dispatch:
         | 
| 5835 5542 | 
             
                CPU: legacy::cpu::_thnn_log_sigmoid_forward
         | 
| @@ -5855,7 +5562,6 @@ | |
| 5855 5562 | 
             
                CUDA: legacy::cuda::_thnn_rrelu_with_noise_forward_out
         | 
| 5856 5563 |  | 
| 5857 5564 | 
             
            - func: rrelu_with_noise(Tensor self, Tensor noise, Scalar lower=0.125, Scalar upper=0.3333333333333333, bool training=False, Generator? generator=None) -> Tensor
         | 
| 5858 | 
            -
              use_c10_dispatcher: 'unboxed_only'
         | 
| 5859 5565 | 
             
              python_module: nn
         | 
| 5860 5566 | 
             
              dispatch:
         | 
| 5861 5567 | 
             
                CPU: legacy::cpu::_thnn_rrelu_with_noise_forward
         | 
| @@ -5875,7 +5581,6 @@ | |
| 5875 5581 | 
             
                CUDA: legacy::cuda::_thnn_rrelu_with_noise_backward
         | 
| 5876 5582 |  | 
| 5877 5583 | 
             
            - func: rrelu_with_noise_(Tensor(a!) self, Tensor noise, Scalar lower=0.125, Scalar upper=0.3333333333333333, bool training=False, Generator? generator=None) -> Tensor(a!)
         | 
| 5878 | 
            -
              use_c10_dispatcher: 'unboxed_only'
         | 
| 5879 5584 | 
             
              python_module: nn
         | 
| 5880 5585 | 
             
              dispatch:
         | 
| 5881 5586 | 
             
                CPU: legacy::cpu::_thnn_rrelu_with_noise_forward_
         | 
| @@ -5941,17 +5646,14 @@ | |
| 5941 5646 | 
             
                MkldnnCPU: mkldnn_adaptive_avg_pool2d_out
         | 
| 5942 5647 |  | 
| 5943 5648 | 
             
            - func: adaptive_avg_pool2d(Tensor self, int[2] output_size) -> Tensor
         | 
| 5944 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 5945 5649 | 
             
              python_module: nn
         | 
| 5946 5650 |  | 
| 5947 5651 | 
             
            - func: mkldnn_adaptive_avg_pool2d(Tensor self, int[2] output_size) -> Tensor
         | 
| 5948 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 5949 5652 | 
             
              dispatch:
         | 
| 5950 5653 | 
             
                MkldnnCPU: mkldnn_adaptive_avg_pool2d
         | 
| 5951 5654 | 
             
              requires_tensor: True
         | 
| 5952 5655 |  | 
| 5953 5656 | 
             
            - func: _adaptive_avg_pool2d(Tensor self, int[2] output_size) -> Tensor
         | 
| 5954 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 5955 5657 | 
             
              dispatch:
         | 
| 5956 5658 | 
             
                CPU: adaptive_avg_pool2d_cpu
         | 
| 5957 5659 | 
             
                CUDA: adaptive_avg_pool2d_cuda
         | 
| @@ -5971,7 +5673,6 @@ | |
| 5971 5673 | 
             
                CUDA: adaptive_avg_pool3d_out_cuda
         | 
| 5972 5674 |  | 
| 5973 5675 | 
             
            - func: adaptive_avg_pool3d(Tensor self, int[3] output_size) -> Tensor
         | 
| 5974 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 5975 5676 | 
             
              python_module: nn
         | 
| 5976 5677 | 
             
              dispatch:
         | 
| 5977 5678 | 
             
                CPU: adaptive_avg_pool3d_cpu
         | 
| @@ -5999,7 +5700,6 @@ | |
| 5999 5700 |  | 
| 6000 5701 | 
             
            # Return: (Tensor output, Tensor indices)
         | 
| 6001 5702 | 
             
            - func: adaptive_max_pool2d(Tensor self, int[2] output_size) -> (Tensor, Tensor)
         | 
| 6002 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 6003 5703 | 
             
              python_module: nn
         | 
| 6004 5704 | 
             
              dispatch:
         | 
| 6005 5705 | 
             
                CPU: adaptive_max_pool2d_cpu
         | 
| @@ -6027,7 +5727,6 @@ | |
| 6027 5727 |  | 
| 6028 5728 | 
             
            # Return: (Tensor output, Tensor indices)
         | 
| 6029 5729 | 
             
            - func: adaptive_max_pool3d(Tensor self, int[3] output_size) -> (Tensor, Tensor)
         | 
| 6030 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 6031 5730 | 
             
              python_module: nn
         | 
| 6032 5731 | 
             
              dispatch:
         | 
| 6033 5732 | 
             
                CPU: adaptive_max_pool3d_cpu
         | 
| @@ -6054,7 +5753,6 @@ | |
| 6054 5753 | 
             
                MkldnnCPU: mkldnn_avg_pool2d_out
         | 
| 6055 5754 |  | 
| 6056 5755 | 
             
            - func: avg_pool2d(Tensor self, int[2] kernel_size, int[2] stride=[], int[2] padding=0, bool ceil_mode=False, bool count_include_pad=True, int? divisor_override=None) -> Tensor
         | 
| 6057 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 6058 5756 | 
             
              python_module: nn
         | 
| 6059 5757 | 
             
              dispatch:
         | 
| 6060 5758 | 
             
                CPU: avg_pool2d_cpu
         | 
| @@ -6069,7 +5767,6 @@ | |
| 6069 5767 | 
             
                CUDA: avg_pool2d_backward_out_cuda
         | 
| 6070 5768 |  | 
| 6071 5769 | 
             
            - func: avg_pool2d_backward(Tensor grad_output, Tensor self, int[2] kernel_size, int[2] stride, int[2] padding, bool ceil_mode, bool count_include_pad, int? divisor_override) -> Tensor
         | 
| 6072 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 6073 5770 | 
             
              python_module: nn
         | 
| 6074 5771 | 
             
              dispatch:
         | 
| 6075 5772 | 
             
                CPU: avg_pool2d_backward_cpu
         | 
| @@ -6082,7 +5779,6 @@ | |
| 6082 5779 | 
             
                CUDA: avg_pool3d_out_cuda
         | 
| 6083 5780 |  | 
| 6084 5781 | 
             
            - func: avg_pool3d(Tensor self, int[3] kernel_size, int[3] stride=[], int[3] padding=0, bool ceil_mode=False, bool count_include_pad=True, int? divisor_override=None) -> Tensor
         | 
| 6085 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 6086 5782 | 
             
              python_module: nn
         | 
| 6087 5783 | 
             
              dispatch:
         | 
| 6088 5784 | 
             
                CPU: avg_pool3d_cpu
         | 
| @@ -6095,7 +5791,6 @@ | |
| 6095 5791 | 
             
                CUDA: avg_pool3d_backward_out_cuda
         | 
| 6096 5792 |  | 
| 6097 5793 | 
             
            - func: avg_pool3d_backward(Tensor grad_output, Tensor self, int[3] kernel_size, int[3] stride, int[3] padding, bool ceil_mode, bool count_include_pad, int? divisor_override) -> Tensor
         | 
| 6098 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 6099 5794 | 
             
              python_module: nn
         | 
| 6100 5795 | 
             
              dispatch:
         | 
| 6101 5796 | 
             
                CPU: avg_pool3d_backward_cpu
         | 
| @@ -6110,7 +5805,6 @@ | |
| 6110 5805 |  | 
| 6111 5806 | 
             
            # Return: (Tensor output, Tensor indices)
         | 
| 6112 5807 | 
             
            - func: fractional_max_pool2d(Tensor self, int[2] kernel_size, int[2] output_size, Tensor random_samples) -> (Tensor, Tensor)
         | 
| 6113 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 6114 5808 | 
             
              python_module: nn
         | 
| 6115 5809 | 
             
              dispatch:
         | 
| 6116 5810 | 
             
                CPU: fractional_max_pool2d_cpu
         | 
| @@ -6123,7 +5817,6 @@ | |
| 6123 5817 | 
             
                CUDA: fractional_max_pool2d_backward_out_cuda
         | 
| 6124 5818 |  | 
| 6125 5819 | 
             
            - func: fractional_max_pool2d_backward(Tensor grad_output, Tensor self, int[2] kernel_size, int[2] output_size, Tensor indices) -> Tensor
         | 
| 6126 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 6127 5820 | 
             
              python_module: nn
         | 
| 6128 5821 | 
             
              dispatch:
         | 
| 6129 5822 | 
             
                CPU: fractional_max_pool2d_backward_cpu
         | 
| @@ -6138,7 +5831,6 @@ | |
| 6138 5831 |  | 
| 6139 5832 | 
             
            # Return: (Tensor output, Tensor indices)
         | 
| 6140 5833 | 
             
            - func: fractional_max_pool3d(Tensor self, int[3] kernel_size, int[3] output_size, Tensor random_samples) -> (Tensor, Tensor)
         | 
| 6141 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 6142 5834 | 
             
              python_module: nn
         | 
| 6143 5835 | 
             
              dispatch:
         | 
| 6144 5836 | 
             
                CPU: fractional_max_pool3d_cpu
         | 
| @@ -6151,7 +5843,6 @@ | |
| 6151 5843 | 
             
                CUDA: fractional_max_pool3d_backward_out_cuda
         | 
| 6152 5844 |  | 
| 6153 5845 | 
             
            - func: fractional_max_pool3d_backward(Tensor grad_output, Tensor self, int[3] kernel_size, int[3] output_size, Tensor indices) -> Tensor
         | 
| 6154 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 6155 5846 | 
             
              python_module: nn
         | 
| 6156 5847 | 
             
              dispatch:
         | 
| 6157 5848 | 
             
                CPU: fractional_max_pool3d_backward_cpu
         | 
| @@ -6166,7 +5857,6 @@ | |
| 6166 5857 |  | 
| 6167 5858 | 
             
            # Return: (Tensor output, Tensor indices)
         | 
| 6168 5859 | 
             
            - func: max_pool2d_with_indices(Tensor self, int[2] kernel_size, int[2] stride=[], int[2] padding=0, int[2] dilation=1, bool ceil_mode=False) -> (Tensor, Tensor)
         | 
| 6169 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 6170 5860 | 
             
              python_module: nn
         | 
| 6171 5861 | 
             
              dispatch:
         | 
| 6172 5862 | 
             
                CPU: max_pool2d_with_indices_cpu
         | 
| @@ -6179,7 +5869,6 @@ | |
| 6179 5869 | 
             
                CUDA: max_pool2d_with_indices_backward_out_cuda
         | 
| 6180 5870 |  | 
| 6181 5871 | 
             
            - func: max_pool2d_with_indices_backward(Tensor grad_output, Tensor self, int[2] kernel_size, int[2] stride, int[2] padding, int[2] dilation, bool ceil_mode, Tensor indices) -> Tensor
         | 
| 6182 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 6183 5872 | 
             
              python_module: nn
         | 
| 6184 5873 | 
             
              dispatch:
         | 
| 6185 5874 | 
             
                CPU: max_pool2d_with_indices_backward_cpu
         | 
| @@ -6194,7 +5883,6 @@ | |
| 6194 5883 |  | 
| 6195 5884 | 
             
            # Return: (Tensor output, Tensor indices)
         | 
| 6196 5885 | 
             
            - func: max_pool3d_with_indices(Tensor self, int[3] kernel_size, int[3] stride=[], int[3] padding=0, int[3] dilation=1, bool ceil_mode=False) -> (Tensor, Tensor)
         | 
| 6197 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 6198 5886 | 
             
              python_module: nn
         | 
| 6199 5887 | 
             
              dispatch:
         | 
| 6200 5888 | 
             
                CPU: max_pool3d_with_indices_cpu
         | 
| @@ -6207,7 +5895,6 @@ | |
| 6207 5895 | 
             
                CUDA: max_pool3d_with_indices_backward_out_cuda
         | 
| 6208 5896 |  | 
| 6209 5897 | 
             
            - func: max_pool3d_with_indices_backward(Tensor grad_output, Tensor self, int[3] kernel_size, int[3] stride, int[3] padding, int[3] dilation, bool ceil_mode, Tensor indices) -> Tensor
         | 
| 6210 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 6211 5898 | 
             
              python_module: nn
         | 
| 6212 5899 | 
             
              dispatch:
         | 
| 6213 5900 | 
             
                CPU: max_pool3d_with_indices_backward_cpu
         | 
| @@ -6220,7 +5907,6 @@ | |
| 6220 5907 | 
             
                CUDA: max_unpooling2d_forward_out_cuda
         | 
| 6221 5908 |  | 
| 6222 5909 | 
             
            - func: max_unpool2d(Tensor self, Tensor indices, int[2] output_size) -> Tensor
         | 
| 6223 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 6224 5910 | 
             
              python_module: nn
         | 
| 6225 5911 | 
             
              dispatch:
         | 
| 6226 5912 | 
             
                CPU: max_unpooling2d_forward_cpu
         | 
| @@ -6233,7 +5919,6 @@ | |
| 6233 5919 | 
             
                CUDA: max_unpooling2d_backward_out_cuda
         | 
| 6234 5920 |  | 
| 6235 5921 | 
             
            - func: max_unpool2d_backward(Tensor grad_output, Tensor self, Tensor indices, int[2] output_size) -> Tensor
         | 
| 6236 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 6237 5922 | 
             
              python_module: nn
         | 
| 6238 5923 | 
             
              dispatch:
         | 
| 6239 5924 | 
             
                CPU: max_unpooling2d_backward_cpu
         | 
| @@ -6246,7 +5931,6 @@ | |
| 6246 5931 | 
             
                CUDA: max_unpooling3d_forward_out_cuda
         | 
| 6247 5932 |  | 
| 6248 5933 | 
             
            - func: max_unpool3d(Tensor self, Tensor indices, int[3] output_size, int[3] stride, int[3] padding) -> Tensor
         | 
| 6249 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 6250 5934 | 
             
              python_module: nn
         | 
| 6251 5935 | 
             
              dispatch:
         | 
| 6252 5936 | 
             
                CPU: max_unpooling3d_forward_cpu
         | 
| @@ -6259,7 +5943,6 @@ | |
| 6259 5943 | 
             
                CUDA: max_unpooling3d_backward_out_cuda
         | 
| 6260 5944 |  | 
| 6261 5945 | 
             
            - func: max_unpool3d_backward(Tensor grad_output, Tensor self, Tensor indices, int[3] output_size, int[3] stride, int[3] padding) -> Tensor
         | 
| 6262 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 6263 5946 | 
             
              python_module: nn
         | 
| 6264 5947 | 
             
              dispatch:
         | 
| 6265 5948 | 
             
                CPU: max_unpooling3d_backward_cpu
         | 
| @@ -6272,7 +5955,6 @@ | |
| 6272 5955 | 
             
                CUDA: reflection_pad1d_out_cuda
         | 
| 6273 5956 |  | 
| 6274 5957 | 
             
            - func: reflection_pad1d(Tensor self, int[2] padding) -> Tensor
         | 
| 6275 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 6276 5958 | 
             
              python_module: nn
         | 
| 6277 5959 | 
             
              dispatch:
         | 
| 6278 5960 | 
             
                CPU: reflection_pad1d_cpu
         | 
| @@ -6285,7 +5967,6 @@ | |
| 6285 5967 | 
             
                CUDA: reflection_pad1d_backward_out_cuda
         | 
| 6286 5968 |  | 
| 6287 5969 | 
             
            - func: reflection_pad1d_backward(Tensor grad_output, Tensor self, int[2] padding) -> Tensor
         | 
| 6288 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 6289 5970 | 
             
              python_module: nn
         | 
| 6290 5971 | 
             
              dispatch:
         | 
| 6291 5972 | 
             
                CPU: reflection_pad1d_backward_cpu
         | 
| @@ -6298,7 +5979,6 @@ | |
| 6298 5979 | 
             
                CUDA: reflection_pad2d_out_cuda
         | 
| 6299 5980 |  | 
| 6300 5981 | 
             
            - func: reflection_pad2d(Tensor self, int[4] padding) -> Tensor
         | 
| 6301 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 6302 5982 | 
             
              python_module: nn
         | 
| 6303 5983 | 
             
              dispatch:
         | 
| 6304 5984 | 
             
                CPU: reflection_pad2d_cpu
         | 
| @@ -6311,7 +5991,6 @@ | |
| 6311 5991 | 
             
                CUDA: reflection_pad2d_backward_out_cuda
         | 
| 6312 5992 |  | 
| 6313 5993 | 
             
            - func: reflection_pad2d_backward(Tensor grad_output, Tensor self, int[4] padding) -> Tensor
         | 
| 6314 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 6315 5994 | 
             
              python_module: nn
         | 
| 6316 5995 | 
             
              dispatch:
         | 
| 6317 5996 | 
             
                CPU: reflection_pad2d_backward_cpu
         | 
| @@ -6324,7 +6003,6 @@ | |
| 6324 6003 | 
             
                CUDA: replication_pad1d_out_cuda
         | 
| 6325 6004 |  | 
| 6326 6005 | 
             
            - func: replication_pad1d(Tensor self, int[2] padding) -> Tensor
         | 
| 6327 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 6328 6006 | 
             
              python_module: nn
         | 
| 6329 6007 | 
             
              dispatch:
         | 
| 6330 6008 | 
             
                CPU: replication_pad1d_cpu
         | 
| @@ -6337,7 +6015,6 @@ | |
| 6337 6015 | 
             
                CUDA: replication_pad1d_backward_out_cuda
         | 
| 6338 6016 |  | 
| 6339 6017 | 
             
            - func: replication_pad1d_backward(Tensor grad_output, Tensor self, int[2] padding) -> Tensor
         | 
| 6340 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 6341 6018 | 
             
              python_module: nn
         | 
| 6342 6019 | 
             
              dispatch:
         | 
| 6343 6020 | 
             
                CPU: replication_pad1d_backward_cpu
         | 
| @@ -6350,7 +6027,6 @@ | |
| 6350 6027 | 
             
                CUDA: replication_pad2d_out_cuda
         | 
| 6351 6028 |  | 
| 6352 6029 | 
             
            - func: replication_pad2d(Tensor self, int[4] padding) -> Tensor
         | 
| 6353 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 6354 6030 | 
             
              python_module: nn
         | 
| 6355 6031 | 
             
              dispatch:
         | 
| 6356 6032 | 
             
                CPU: replication_pad2d_cpu
         | 
| @@ -6363,7 +6039,6 @@ | |
| 6363 6039 | 
             
                CUDA: replication_pad2d_backward_out_cuda
         | 
| 6364 6040 |  | 
| 6365 6041 | 
             
            - func: replication_pad2d_backward(Tensor grad_output, Tensor self, int[4] padding) -> Tensor
         | 
| 6366 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 6367 6042 | 
             
              python_module: nn
         | 
| 6368 6043 | 
             
              dispatch:
         | 
| 6369 6044 | 
             
                CPU: replication_pad2d_backward_cpu
         | 
| @@ -6376,7 +6051,6 @@ | |
| 6376 6051 | 
             
                CUDA: replication_pad3d_out_cuda
         | 
| 6377 6052 |  | 
| 6378 6053 | 
             
            - func: replication_pad3d(Tensor self, int[6] padding) -> Tensor
         | 
| 6379 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 6380 6054 | 
             
              python_module: nn
         | 
| 6381 6055 | 
             
              dispatch:
         | 
| 6382 6056 | 
             
                CPU: replication_pad3d_cpu
         | 
| @@ -6389,12 +6063,14 @@ | |
| 6389 6063 | 
             
                CUDA: replication_pad3d_backward_out_cuda
         | 
| 6390 6064 |  | 
| 6391 6065 | 
             
            - func: replication_pad3d_backward(Tensor grad_output, Tensor self, int[6] padding) -> Tensor
         | 
| 6392 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 6393 6066 | 
             
              python_module: nn
         | 
| 6394 6067 | 
             
              dispatch:
         | 
| 6395 6068 | 
             
                CPU: replication_pad3d_backward_cpu
         | 
| 6396 6069 | 
             
                CUDA: replication_pad3d_backward_cuda
         | 
| 6397 6070 |  | 
| 6071 | 
            +
            - func: _test_optional_float(Tensor self, *, float? scale=None) -> Tensor
         | 
| 6072 | 
            +
              variants: function
         | 
| 6073 | 
            +
             | 
| 6398 6074 | 
             
            - func: upsample_linear1d.out(Tensor self, int[1] output_size, bool align_corners, *, Tensor(a!) out) -> Tensor(a!)
         | 
| 6399 6075 | 
             
              python_module: nn
         | 
| 6400 6076 | 
             
              dispatch:
         | 
| @@ -6402,7 +6078,6 @@ | |
| 6402 6078 | 
             
                CUDA: upsample_linear1d_out_cuda
         | 
| 6403 6079 |  | 
| 6404 6080 | 
             
            - func: upsample_linear1d(Tensor self, int[1] output_size, bool align_corners) -> Tensor
         | 
| 6405 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 6406 6081 | 
             
              python_module: nn
         | 
| 6407 6082 | 
             
              dispatch:
         | 
| 6408 6083 | 
             
                CPU: upsample_linear1d_cpu
         | 
| @@ -6415,7 +6090,6 @@ | |
| 6415 6090 | 
             
                CUDA: upsample_linear1d_backward_out_cuda
         | 
| 6416 6091 |  | 
| 6417 6092 | 
             
            - func: upsample_linear1d_backward(Tensor grad_output, int[1] output_size, int[3] input_size, bool align_corners) -> Tensor
         | 
| 6418 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 6419 6093 | 
             
              python_module: nn
         | 
| 6420 6094 | 
             
              dispatch:
         | 
| 6421 6095 | 
             
                CPU: upsample_linear1d_backward_cpu
         | 
| @@ -6428,7 +6102,6 @@ | |
| 6428 6102 | 
             
                CUDA: upsample_bilinear2d_out_cuda
         | 
| 6429 6103 |  | 
| 6430 6104 | 
             
            - func: upsample_bilinear2d(Tensor self, int[2] output_size, bool align_corners) -> Tensor
         | 
| 6431 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 6432 6105 | 
             
              python_module: nn
         | 
| 6433 6106 | 
             
              dispatch:
         | 
| 6434 6107 | 
             
                CPU: upsample_bilinear2d_cpu
         | 
| @@ -6442,7 +6115,6 @@ | |
| 6442 6115 | 
             
                CUDA: upsample_bilinear2d_backward_out_cuda
         | 
| 6443 6116 |  | 
| 6444 6117 | 
             
            - func: upsample_bilinear2d_backward(Tensor grad_output, int[2] output_size, int[4] input_size, bool align_corners) -> Tensor
         | 
| 6445 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 6446 6118 | 
             
              python_module: nn
         | 
| 6447 6119 | 
             
              dispatch:
         | 
| 6448 6120 | 
             
                CPU: upsample_bilinear2d_backward_cpu
         | 
| @@ -6455,7 +6127,6 @@ | |
| 6455 6127 | 
             
                CUDA: upsample_bicubic2d_out_cuda
         | 
| 6456 6128 |  | 
| 6457 6129 | 
             
            - func: upsample_bicubic2d(Tensor self, int[2] output_size, bool align_corners) -> Tensor
         | 
| 6458 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 6459 6130 | 
             
              python_module: nn
         | 
| 6460 6131 | 
             
              dispatch:
         | 
| 6461 6132 | 
             
                CPU: upsample_bicubic2d_cpu
         | 
| @@ -6468,7 +6139,6 @@ | |
| 6468 6139 | 
             
                CUDA: upsample_bicubic2d_backward_out_cuda
         | 
| 6469 6140 |  | 
| 6470 6141 | 
             
            - func: upsample_bicubic2d_backward(Tensor grad_output, int[2] output_size, int[4] input_size, bool align_corners) -> Tensor
         | 
| 6471 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 6472 6142 | 
             
              python_module: nn
         | 
| 6473 6143 | 
             
              dispatch:
         | 
| 6474 6144 | 
             
                CPU: upsample_bicubic2d_backward_cpu
         | 
| @@ -6481,7 +6151,6 @@ | |
| 6481 6151 | 
             
                CUDA: upsample_trilinear3d_out_cuda
         | 
| 6482 6152 |  | 
| 6483 6153 | 
             
            - func: upsample_trilinear3d(Tensor self, int[3] output_size, bool align_corners) -> Tensor
         | 
| 6484 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 6485 6154 | 
             
              python_module: nn
         | 
| 6486 6155 | 
             
              dispatch:
         | 
| 6487 6156 | 
             
                CPU: upsample_trilinear3d_cpu
         | 
| @@ -6494,7 +6163,6 @@ | |
| 6494 6163 | 
             
                CUDA: upsample_trilinear3d_backward_out_cuda
         | 
| 6495 6164 |  | 
| 6496 6165 | 
             
            - func: upsample_trilinear3d_backward(Tensor grad_output, int[3] output_size, int[5] input_size, bool align_corners) -> Tensor
         | 
| 6497 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 6498 6166 | 
             
              python_module: nn
         | 
| 6499 6167 | 
             
              dispatch:
         | 
| 6500 6168 | 
             
                CPU: upsample_trilinear3d_backward_cpu
         | 
| @@ -6507,7 +6175,6 @@ | |
| 6507 6175 | 
             
                CUDA: upsample_nearest1d_out_cuda
         | 
| 6508 6176 |  | 
| 6509 6177 | 
             
            - func: upsample_nearest1d(Tensor self, int[1] output_size) -> Tensor
         | 
| 6510 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 6511 6178 | 
             
              python_module: nn
         | 
| 6512 6179 | 
             
              dispatch:
         | 
| 6513 6180 | 
             
                CPU: upsample_nearest1d_cpu
         | 
| @@ -6520,7 +6187,6 @@ | |
| 6520 6187 | 
             
                CUDA: upsample_nearest1d_backward_out_cuda
         | 
| 6521 6188 |  | 
| 6522 6189 | 
             
            - func: upsample_nearest1d_backward(Tensor grad_output, int[1] output_size, int[3] input_size) -> Tensor
         | 
| 6523 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 6524 6190 | 
             
              python_module: nn
         | 
| 6525 6191 | 
             
              dispatch:
         | 
| 6526 6192 | 
             
                CPU: upsample_nearest1d_backward_cpu
         | 
| @@ -6533,7 +6199,6 @@ | |
| 6533 6199 | 
             
                CUDA: upsample_nearest2d_out_cuda
         | 
| 6534 6200 |  | 
| 6535 6201 | 
             
            - func: upsample_nearest2d(Tensor self, int[2] output_size) -> Tensor
         | 
| 6536 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 6537 6202 | 
             
              python_module: nn
         | 
| 6538 6203 | 
             
              dispatch:
         | 
| 6539 6204 | 
             
                CPU: upsample_nearest2d_cpu
         | 
| @@ -6547,7 +6212,6 @@ | |
| 6547 6212 | 
             
                CUDA: upsample_nearest2d_backward_out_cuda
         | 
| 6548 6213 |  | 
| 6549 6214 | 
             
            - func: upsample_nearest2d_backward(Tensor grad_output, int[2] output_size, int[4] input_size) -> Tensor
         | 
| 6550 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 6551 6215 | 
             
              python_module: nn
         | 
| 6552 6216 | 
             
              dispatch:
         | 
| 6553 6217 | 
             
                CPU: upsample_nearest2d_backward_cpu
         | 
| @@ -6560,7 +6224,6 @@ | |
| 6560 6224 | 
             
                CUDA: upsample_nearest3d_out_cuda
         | 
| 6561 6225 |  | 
| 6562 6226 | 
             
            - func: upsample_nearest3d(Tensor self, int[3] output_size) -> Tensor
         | 
| 6563 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 6564 6227 | 
             
              python_module: nn
         | 
| 6565 6228 | 
             
              dispatch:
         | 
| 6566 6229 | 
             
                CPU: upsample_nearest3d_cpu
         | 
| @@ -6573,7 +6236,6 @@ | |
| 6573 6236 | 
             
                CUDA: upsample_nearest3d_backward_out_cuda
         | 
| 6574 6237 |  | 
| 6575 6238 | 
             
            - func: upsample_nearest3d_backward(Tensor grad_output, int[3] output_size, int[5] input_size) -> Tensor
         | 
| 6576 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 6577 6239 | 
             
              python_module: nn
         | 
| 6578 6240 | 
             
              dispatch:
         | 
| 6579 6241 | 
             
                CPU: upsample_nearest3d_backward_cpu
         | 
| @@ -6582,15 +6244,12 @@ | |
| 6582 6244 | 
             
            - func: sigmoid_backward.grad_input(Tensor grad_output, Tensor output, *, Tensor(a!) grad_input) -> Tensor(a!)
         | 
| 6583 6245 | 
             
              python_module: nn
         | 
| 6584 6246 | 
             
              dispatch:
         | 
| 6585 | 
            -
                CPU:  | 
| 6586 | 
            -
                CUDA:  | 
| 6247 | 
            +
                CPU: sigmoid_backward_out
         | 
| 6248 | 
            +
                CUDA: sigmoid_backward_out
         | 
| 6587 6249 |  | 
| 6588 6250 | 
             
            - func: sigmoid_backward(Tensor grad_output, Tensor output) -> Tensor
         | 
| 6589 6251 | 
             
              use_c10_dispatcher: full
         | 
| 6590 6252 | 
             
              python_module: nn
         | 
| 6591 | 
            -
              dispatch:
         | 
| 6592 | 
            -
                CPU: legacy::cpu::_thnn_sigmoid_backward
         | 
| 6593 | 
            -
                CUDA: legacy::cuda::_thnn_sigmoid_backward
         | 
| 6594 6253 |  | 
| 6595 6254 | 
             
            - func: tanh_backward.grad_input(Tensor grad_output, Tensor output, *, Tensor(a!) grad_input) -> Tensor(a!)
         | 
| 6596 6255 | 
             
              python_module: nn
         | 
| @@ -6635,14 +6294,13 @@ | |
| 6635 6294 | 
             
                CPU: slow_conv_transpose2d_cpu
         | 
| 6636 6295 | 
             
                CUDA: slow_conv_transpose2d_cuda
         | 
| 6637 6296 |  | 
| 6638 | 
            -
            - func: slow_conv_transpose2d_backward.grad_output(Tensor grad_output, Tensor self, Tensor weight, int[2] kernel_size, int[2] stride, int[2] padding, int[2] output_padding, int[2] dilation, Tensor columns, Tensor ones, *, Tensor | 
| 6297 | 
            +
            - func: slow_conv_transpose2d_backward.grad_output(Tensor grad_output, Tensor self, Tensor weight, int[2] kernel_size, int[2] stride, int[2] padding, int[2] output_padding, int[2] dilation, Tensor columns, Tensor ones, *, Tensor(a!)? grad_input, Tensor(b!)? grad_weight, Tensor(c!)? grad_bias) -> (Tensor(a!), Tensor(b!), Tensor(c!))
         | 
| 6639 6298 | 
             
              python_module: nn
         | 
| 6640 6299 | 
             
              dispatch:
         | 
| 6641 6300 | 
             
                CPU: slow_conv_transpose2d_backward_out_cpu
         | 
| 6642 6301 | 
             
                CUDA: slow_conv_transpose2d_backward_out_cuda
         | 
| 6643 6302 |  | 
| 6644 6303 | 
             
            - func: slow_conv_transpose2d_backward.output_mask(Tensor grad_output, Tensor self, Tensor weight, int[2] kernel_size, int[2] stride, int[2] padding, int[2] output_padding, int[2] dilation, Tensor columns, Tensor ones, bool[3] output_mask) -> (Tensor grad_input, Tensor grad_weight, Tensor grad_bias)
         | 
| 6645 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 6646 6304 | 
             
              python_module: nn
         | 
| 6647 6305 | 
             
              dispatch:
         | 
| 6648 6306 | 
             
                CPU: slow_conv_transpose2d_backward_cpu
         | 
| @@ -6660,14 +6318,13 @@ | |
| 6660 6318 | 
             
                CPU: slow_conv_transpose3d_cpu
         | 
| 6661 6319 | 
             
                CUDA: slow_conv_transpose3d_cuda
         | 
| 6662 6320 |  | 
| 6663 | 
            -
            - func: slow_conv_transpose3d_backward.grad_output(Tensor grad_output, Tensor self, Tensor weight, int[3] kernel_size, int[3] stride, int[3] padding, int[3] output_padding, int[3] dilation, Tensor finput, Tensor fgrad_input, *, Tensor | 
| 6321 | 
            +
            - func: slow_conv_transpose3d_backward.grad_output(Tensor grad_output, Tensor self, Tensor weight, int[3] kernel_size, int[3] stride, int[3] padding, int[3] output_padding, int[3] dilation, Tensor finput, Tensor fgrad_input, *, Tensor(a!)? grad_input, Tensor(b!)? grad_weight, Tensor(c!)? grad_bias) -> (Tensor(a!), Tensor(b!), Tensor(c!))
         | 
| 6664 6322 | 
             
              python_module: nn
         | 
| 6665 6323 | 
             
              dispatch:
         | 
| 6666 6324 | 
             
                CPU: slow_conv_transpose3d_backward_out_cpu
         | 
| 6667 6325 | 
             
                CUDA: slow_conv_transpose3d_backward_out_cuda
         | 
| 6668 6326 |  | 
| 6669 6327 | 
             
            - func: slow_conv_transpose3d_backward.output_mask(Tensor grad_output, Tensor self, Tensor weight, int[3] kernel_size, int[3] stride, int[3] padding, int[3] output_padding, int[3] dilation, Tensor finput, Tensor fgrad_input, bool[3] output_mask) -> (Tensor grad_input, Tensor grad_weight, Tensor grad_bias)
         | 
| 6670 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 6671 6328 | 
             
              python_module: nn
         | 
| 6672 6329 | 
             
              dispatch:
         | 
| 6673 6330 | 
             
                CPU: slow_conv_transpose3d_backward_cpu
         | 
| @@ -6682,26 +6339,25 @@ | |
| 6682 6339 | 
             
            - func: thnn_conv2d_forward.output(Tensor self, Tensor weight, int[2] kernel_size, Tensor? bias, int[2] stride, int[2] padding, *, Tensor(a!) output, Tensor(b!) finput, Tensor(c!) fgrad_input) -> (Tensor(a!), Tensor(b!), Tensor(c!))
         | 
| 6683 6340 | 
             
              python_module: nn
         | 
| 6684 6341 | 
             
              dispatch:
         | 
| 6685 | 
            -
                CPU:  | 
| 6342 | 
            +
                CPU: slow_conv2d_forward_out_cpu
         | 
| 6686 6343 | 
             
                CUDA: legacy::cuda::_thnn_conv2d_forward_out
         | 
| 6687 6344 |  | 
| 6688 6345 | 
             
            - func: thnn_conv2d_forward(Tensor self, Tensor weight, int[2] kernel_size, Tensor? bias, int[2] stride, int[2] padding) -> (Tensor output, Tensor finput, Tensor fgrad_input)
         | 
| 6689 6346 | 
             
              python_module: nn
         | 
| 6690 6347 | 
             
              dispatch:
         | 
| 6691 | 
            -
                CPU:  | 
| 6348 | 
            +
                CPU: slow_conv2d_forward_cpu
         | 
| 6692 6349 | 
             
                CUDA: legacy::cuda::_thnn_conv2d_forward
         | 
| 6693 6350 |  | 
| 6694 | 
            -
            - func: thnn_conv2d_backward.grad_input(Tensor grad_output, Tensor self, Tensor weight, int[2] kernel_size, int[2] stride, int[2] padding, Tensor finput, Tensor fgrad_input, *, Tensor | 
| 6351 | 
            +
            - func: thnn_conv2d_backward.grad_input(Tensor grad_output, Tensor self, Tensor weight, int[2] kernel_size, int[2] stride, int[2] padding, Tensor finput, Tensor fgrad_input, *, Tensor(a!)? grad_input, Tensor(b!)? grad_weight, Tensor(c!)? grad_bias) -> (Tensor(a!), Tensor(b!), Tensor(c!))
         | 
| 6695 6352 | 
             
              python_module: nn
         | 
| 6696 6353 | 
             
              dispatch:
         | 
| 6697 | 
            -
                CPU:  | 
| 6354 | 
            +
                CPU: slow_conv2d_backward_out_cpu
         | 
| 6698 6355 | 
             
                CUDA: legacy::cuda::_thnn_conv2d_backward_out
         | 
| 6699 6356 |  | 
| 6700 6357 | 
             
            - func: thnn_conv2d_backward.output_mask(Tensor grad_output, Tensor self, Tensor weight, int[2] kernel_size, int[2] stride, int[2] padding, Tensor finput, Tensor fgrad_input, bool[3] output_mask) -> (Tensor grad_input, Tensor grad_weight, Tensor grad_bias)
         | 
| 6701 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 6702 6358 | 
             
              python_module: nn
         | 
| 6703 6359 | 
             
              dispatch:
         | 
| 6704 | 
            -
                CPU:  | 
| 6360 | 
            +
                CPU: slow_conv2d_backward_cpu
         | 
| 6705 6361 | 
             
                CUDA: legacy::cuda::_thnn_conv2d_backward
         | 
| 6706 6362 |  | 
| 6707 6363 | 
             
            - func: thnn_conv_depthwise2d.out(Tensor self, Tensor weight, int[2] kernel_size, Tensor? bias=None, int[2] stride=1, int[2] padding=0, int[2] dilation=1, *, Tensor(a!) out) -> Tensor(a!)
         | 
| @@ -6720,43 +6376,41 @@ | |
| 6720 6376 | 
             
              dispatch:
         | 
| 6721 6377 | 
             
                CUDA: legacy::cuda::_thnn_conv_depthwise2d_forward
         | 
| 6722 6378 |  | 
| 6723 | 
            -
            - func: thnn_conv_depthwise2d_backward.grad_input(Tensor grad_output, Tensor self, Tensor weight, int[2] kernel_size, int[2] stride, int[2] padding, int[2] dilation, *, Tensor | 
| 6379 | 
            +
            - func: thnn_conv_depthwise2d_backward.grad_input(Tensor grad_output, Tensor self, Tensor weight, int[2] kernel_size, int[2] stride, int[2] padding, int[2] dilation, *, Tensor(a!)? grad_input, Tensor(b!)? grad_weight) -> (Tensor(a!), Tensor(b!))
         | 
| 6724 6380 | 
             
              python_module: nn
         | 
| 6725 6381 | 
             
              dispatch:
         | 
| 6726 6382 | 
             
                CUDA: legacy::cuda::_thnn_conv_depthwise2d_backward_out
         | 
| 6727 6383 |  | 
| 6728 6384 | 
             
            - func: thnn_conv_depthwise2d_backward.output_mask(Tensor grad_output, Tensor self, Tensor weight, int[2] kernel_size, int[2] stride, int[2] padding, int[2] dilation, bool[2] output_mask) -> (Tensor grad_input, Tensor grad_weight)
         | 
| 6729 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 6730 6385 | 
             
              python_module: nn
         | 
| 6731 6386 | 
             
              dispatch:
         | 
| 6732 6387 | 
             
                CUDA: legacy::cuda::_thnn_conv_depthwise2d_backward
         | 
| 6733 6388 |  | 
| 6734 | 
            -
            - func:  | 
| 6389 | 
            +
            - func: slow_conv3d.out(Tensor self, Tensor weight, int[3] kernel_size, Tensor? bias=None, int[3] stride=1, int[3] padding=0, *, Tensor(a!) out) -> Tensor(a!)
         | 
| 6735 6390 | 
             
              python_module: nn
         | 
| 6736 6391 |  | 
| 6737 | 
            -
            - func:  | 
| 6392 | 
            +
            - func: slow_conv3d(Tensor self, Tensor weight, int[3] kernel_size, Tensor? bias=None, int[3] stride=1, int[3] padding=0) -> Tensor
         | 
| 6738 6393 | 
             
              python_module: nn
         | 
| 6739 6394 |  | 
| 6740 | 
            -
            - func:  | 
| 6395 | 
            +
            - func: slow_conv3d_forward.output(Tensor self, Tensor weight, int[3] kernel_size, Tensor? bias, int[3] stride, int[3] padding, *, Tensor(a!) output, Tensor(b!) finput, Tensor(c!) fgrad_input) -> (Tensor(a!), Tensor(b!), Tensor(c!))
         | 
| 6741 6396 | 
             
              python_module: nn
         | 
| 6742 6397 | 
             
              dispatch:
         | 
| 6743 | 
            -
                CPU:  | 
| 6398 | 
            +
                CPU: slow_conv3d_forward_out_cpu
         | 
| 6744 6399 |  | 
| 6745 | 
            -
            - func:  | 
| 6400 | 
            +
            - func: slow_conv3d_forward(Tensor self, Tensor weight, int[3] kernel_size, Tensor? bias, int[3] stride, int[3] padding) -> (Tensor output, Tensor finput, Tensor fgrad_input)
         | 
| 6746 6401 | 
             
              python_module: nn
         | 
| 6747 6402 | 
             
              dispatch:
         | 
| 6748 | 
            -
                CPU:  | 
| 6403 | 
            +
                CPU: slow_conv3d_forward_cpu
         | 
| 6749 6404 |  | 
| 6750 | 
            -
            - func:  | 
| 6405 | 
            +
            - func: slow_conv3d_backward.grad_input(Tensor grad_output, Tensor self, Tensor weight, int[3] kernel_size, int[3] stride, int[3] padding, Tensor finput, Tensor fgrad_input, *, Tensor(a!)? grad_input, Tensor(b!)? grad_weight, Tensor(c!)? grad_bias) -> (Tensor(a!), Tensor(b!), Tensor(c!))
         | 
| 6751 6406 | 
             
              python_module: nn
         | 
| 6752 6407 | 
             
              dispatch:
         | 
| 6753 | 
            -
                CPU:  | 
| 6408 | 
            +
                CPU: slow_conv3d_backward_out_cpu
         | 
| 6754 6409 |  | 
| 6755 | 
            -
            - func:  | 
| 6756 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 6410 | 
            +
            - func: slow_conv3d_backward.output_mask(Tensor grad_output, Tensor self, Tensor weight, int[3] kernel_size, int[3] stride, int[3] padding, Tensor finput, Tensor fgrad_input, bool[3] output_mask) -> (Tensor grad_input, Tensor grad_weight, Tensor grad_bias)
         | 
| 6757 6411 | 
             
              python_module: nn
         | 
| 6758 6412 | 
             
              dispatch:
         | 
| 6759 | 
            -
                CPU:  | 
| 6413 | 
            +
                CPU: slow_conv3d_backward_cpu
         | 
| 6760 6414 |  | 
| 6761 6415 | 
             
            - func: slow_conv_dilated2d(Tensor self, Tensor weight, int[2] kernel_size, Tensor? bias=None, int[2] stride=1, int[2] padding=0, int[2] dilation=1) -> Tensor
         | 
| 6762 6416 | 
             
              python_module: nn
         | 
| @@ -6765,7 +6419,6 @@ | |
| 6765 6419 | 
             
                CUDA: slow_conv_dilated2d_cuda
         | 
| 6766 6420 |  | 
| 6767 6421 | 
             
            - func: slow_conv_dilated2d_backward(Tensor grad_output, Tensor self, Tensor weight, int[2] kernel_size, int[2] stride, int[2] padding, int[2] dilation, bool[3] output_mask) -> (Tensor grad_input, Tensor grad_weight, Tensor grad_bias)
         | 
| 6768 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 6769 6422 | 
             
              python_module: nn
         | 
| 6770 6423 | 
             
              dispatch:
         | 
| 6771 6424 | 
             
                CPU: slow_conv_dilated2d_backward_cpu
         | 
| @@ -6778,7 +6431,6 @@ | |
| 6778 6431 | 
             
                CUDA: slow_conv_dilated3d_cuda
         | 
| 6779 6432 |  | 
| 6780 6433 | 
             
            - func: slow_conv_dilated3d_backward(Tensor grad_output, Tensor self, Tensor weight, int[3] kernel_size, int[3] stride, int[3] padding, int[3] dilation, bool[3] output_mask) -> (Tensor grad_input, Tensor grad_weight, Tensor grad_bias)
         | 
| 6781 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 6782 6434 | 
             
              python_module: nn
         | 
| 6783 6435 | 
             
              dispatch:
         | 
| 6784 6436 | 
             
                CPU: slow_conv_dilated3d_backward_cpu
         | 
| @@ -6791,7 +6443,6 @@ | |
| 6791 6443 | 
             
                CUDA: col2im_out_cuda
         | 
| 6792 6444 |  | 
| 6793 6445 | 
             
            - func: col2im(Tensor self, int[2] output_size, int[2] kernel_size, int[2] dilation, int[2] padding, int[2] stride) -> Tensor
         | 
| 6794 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 6795 6446 | 
             
              python_module: nn
         | 
| 6796 6447 | 
             
              dispatch:
         | 
| 6797 6448 | 
             
                CPU: col2im_cpu
         | 
| @@ -6804,7 +6455,6 @@ | |
| 6804 6455 | 
             
                CUDA: col2im_backward_out_cuda
         | 
| 6805 6456 |  | 
| 6806 6457 | 
             
            - func: col2im_backward(Tensor grad_output, int[2] kernel_size, int[2] dilation, int[2] padding, int[2] stride) -> Tensor
         | 
| 6807 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 6808 6458 | 
             
              python_module: nn
         | 
| 6809 6459 | 
             
              dispatch:
         | 
| 6810 6460 | 
             
                CPU: col2im_backward_cpu
         | 
| @@ -6817,7 +6467,6 @@ | |
| 6817 6467 | 
             
                CUDA: im2col_out_cuda
         | 
| 6818 6468 |  | 
| 6819 6469 | 
             
            - func: im2col(Tensor self, int[2] kernel_size, int[2] dilation, int[2] padding, int[2] stride) -> Tensor
         | 
| 6820 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 6821 6470 | 
             
              python_module: nn
         | 
| 6822 6471 | 
             
              dispatch:
         | 
| 6823 6472 | 
             
                CPU: im2col_cpu
         | 
| @@ -6830,8 +6479,13 @@ | |
| 6830 6479 | 
             
                CUDA: im2col_backward_out_cuda
         | 
| 6831 6480 |  | 
| 6832 6481 | 
             
            - func: im2col_backward(Tensor grad_output, int[2] input_size, int[2] kernel_size, int[2] dilation, int[2] padding, int[2] stride) -> Tensor
         | 
| 6833 | 
            -
              use_c10_dispatcher: unboxed_only
         | 
| 6834 6482 | 
             
              python_module: nn
         | 
| 6835 6483 | 
             
              dispatch:
         | 
| 6836 6484 | 
             
                CPU: im2col_backward_cpu
         | 
| 6837 6485 | 
             
                CUDA: im2col_backward_cuda
         | 
| 6486 | 
            +
             | 
| 6487 | 
            +
            - func: isfinite(Tensor self) -> Tensor
         | 
| 6488 | 
            +
              use_c10_dispatcher: full
         | 
| 6489 | 
            +
              variants: function
         | 
| 6490 | 
            +
              device_guard: False
         | 
| 6491 | 
            +
              supports_named_tensor: True
         |