/usr/local/lib64/python3.6/site-packages/torch/include/torch/csrc/autograd/generated
Edit: /usr/local/lib64/python3.6/site-packages/torch/include/torch/csrc/autograd/generated/Functions.h (226380B)
#pragma once
// @generated from tools/autograd/templates/Functions.h
#include
#include
#include
#include "torch/csrc/THP_export.h"
#include "torch/csrc/autograd/function.h"
#include "torch/csrc/autograd/variable.h"
#include "torch/csrc/autograd/saved_variable.h"
#include
namespace torch { namespace autograd { namespace generated {
using at::Scalar;
using at::Tensor;
using at::IntArrayRef;
using at::ArrayRef;
using at::Type;
using at::TensorGeometry;
using at::ScalarType;
using c10::optional;
using c10::fmap;
inline std::vector unpack_list(at::ArrayRef xs) {
// NB: we must explicitly do the conversion in the lambda, otherwise template
// deduction will give a Tensor of Variable which is not convertible
return fmap(xs, [](const SavedVariable& x) {
return static_cast(x.unpack());
});
}
inline c10::List> unpack_opt_list(at::ArrayRef xs) {
torch::List> result;
result.reserve(xs.size());
for (const SavedVariable& v : xs) {
result.push_back(v.unpack());
}
return result;
}
struct TypeAndSize {
TypeAndSize() : options(at::TensorOptions()) {}
/* implicit */
TypeAndSize(const Tensor & t)
: sizes(t.sizes().vec())
, options(t.options()) {}
Tensor zeros() { return at::zeros(sizes, options); }
private:
std::vector sizes;
at::TensorOptions options;
};
struct TORCH_API AbsBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "AbsBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
}
SavedVariable self_;
};
struct TORCH_API AcosBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "AcosBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
}
SavedVariable self_;
};
struct TORCH_API AddBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "AddBackward0"; }
void release_variables() override {
}
at::ScalarType other_scalar_type;
at::Scalar alpha;
at::ScalarType self_scalar_type;
};
struct TORCH_API AddBackward1 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "AddBackward1"; }
void release_variables() override {
}
at::ScalarType self_scalar_type;
};
struct TORCH_API AddbmmBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "AddbmmBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
batch2_.reset_data();
batch1_.reset_data();
}
int64_t batch1_argsize_0 = 0;
int64_t batch1_argsize_1 = 0;
int64_t batch2_argsize_2 = 0;
SavedVariable batch2_;
at::Scalar alpha;
SavedVariable batch1_;
at::Scalar beta;
};
struct TORCH_API AddcdivBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "AddcdivBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
tensor2_.reset_data();
tensor1_.reset_data();
}
at::ScalarType self_scalar_type;
at::ScalarType tensor1_scalar_type;
SavedVariable tensor2_;
at::Scalar value;
SavedVariable tensor1_;
at::ScalarType tensor2_scalar_type;
};
struct TORCH_API AddcmulBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "AddcmulBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
tensor2_.reset_data();
tensor1_.reset_data();
}
at::ScalarType self_scalar_type;
at::ScalarType tensor1_scalar_type;
SavedVariable tensor2_;
at::Scalar value;
SavedVariable tensor1_;
at::ScalarType tensor2_scalar_type;
};
struct TORCH_API AddmmBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "AddmmBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
mat2_.reset_data();
mat1_.reset_data();
}
std::vector mat1_sizes;
std::vector mat1_strides;
SavedVariable mat2_;
at::Scalar alpha;
SavedVariable mat1_;
std::vector mat2_sizes;
std::vector mat2_strides;
at::Scalar beta;
};
struct TORCH_API SparseAddmmBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "SparseAddmmBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
sparse_.reset_data();
dense_.reset_data();
}
SavedVariable sparse_;
std::vector dense_sizes;
std::vector dense_strides;
at::Scalar alpha;
at::Scalar beta;
SavedVariable dense_;
};
struct TORCH_API AddmvBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "AddmvBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
vec_.reset_data();
mat_.reset_data();
}
SavedVariable vec_;
at::Scalar alpha;
at::Scalar beta;
SavedVariable mat_;
};
struct TORCH_API AddrBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "AddrBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
vec2_.reset_data();
vec1_.reset_data();
}
at::Scalar beta;
SavedVariable vec2_;
at::Scalar alpha;
SavedVariable vec1_;
};
struct TORCH_API AffineGridGeneratorBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "AffineGridGeneratorBackward0"; }
void release_variables() override {
}
std::vector size;
bool align_corners;
};
struct TORCH_API AliasBackward0 : public Node {
using Node::Node;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "AliasBackward0"; }
void release_variables() override {
}
};
struct TORCH_API AngleBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "AngleBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
}
SavedVariable self_;
};
struct TORCH_API AnyBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "AnyBackward0"; }
void release_variables() override {
}
};
struct TORCH_API AnyBackward1 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "AnyBackward1"; }
void release_variables() override {
}
};
struct TORCH_API AllBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "AllBackward0"; }
void release_variables() override {
}
};
struct TORCH_API AllBackward1 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "AllBackward1"; }
void release_variables() override {
}
};
struct TORCH_API AcoshBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "AcoshBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
}
SavedVariable self_;
};
struct TORCH_API AcoshBackward1 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "AcoshBackward1"; }
void release_variables() override {
}
};
struct TORCH_API AsinhBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "AsinhBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
}
SavedVariable self_;
};
struct TORCH_API AsinhBackward1 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "AsinhBackward1"; }
void release_variables() override {
}
};
struct TORCH_API AtanhBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "AtanhBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
}
SavedVariable self_;
};
struct TORCH_API AtanhBackward1 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "AtanhBackward1"; }
void release_variables() override {
}
};
struct TORCH_API AsStridedBackward0 : public Node {
using Node::Node;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "AsStridedBackward0"; }
void release_variables() override {
}
at::TensorGeometry self_geometry;
std::vector size;
std::vector stride;
c10::optional storage_offset;
};
struct TORCH_API AsinBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "AsinBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
}
SavedVariable self_;
};
struct TORCH_API AtanBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "AtanBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
}
SavedVariable self_;
};
struct TORCH_API Atan2Backward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "Atan2Backward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
other_.reset_data();
}
SavedVariable self_;
SavedVariable other_;
};
struct TORCH_API BaddbmmBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "BaddbmmBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
batch2_.reset_data();
batch1_.reset_data();
}
SavedVariable batch2_;
at::Scalar alpha;
SavedVariable batch1_;
at::Scalar beta;
};
struct TORCH_API BernoulliBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "BernoulliBackward0"; }
void release_variables() override {
}
};
struct TORCH_API BernoulliBackward1 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "BernoulliBackward1"; }
void release_variables() override {
}
torch::autograd::generated::TypeAndSize p_info;
};
struct TORCH_API BernoulliBackward2 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "BernoulliBackward2"; }
void release_variables() override {
}
};
struct TORCH_API BmmBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "BmmBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
mat2_.reset_data();
}
SavedVariable self_;
SavedVariable mat2_;
};
struct TORCH_API CatBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "CatBackward0"; }
void release_variables() override {
}
::std::vector<::std::vector> tensors_args_sizes;
::std::vector tensors_args_scalartypes;
int64_t dim = 0;
size_t tensors_size_;
};
struct TORCH_API CauchyBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "CauchyBackward0"; }
void release_variables() override {
}
};
struct TORCH_API CeilBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "CeilBackward0"; }
void release_variables() override {
}
};
struct TORCH_API CholeskyBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "CholeskyBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
result_.reset_data();
}
bool upper;
SavedVariable result_;
};
struct TORCH_API LinalgCholeskyExBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "LinalgCholeskyExBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
L_.reset_data();
}
bool upper;
SavedVariable L_;
};
struct TORCH_API CholeskySolveBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "CholeskySolveBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
input2_.reset_data();
result_.reset_data();
}
SavedVariable self_;
SavedVariable input2_;
bool upper;
SavedVariable result_;
};
struct TORCH_API CholeskyInverseBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "CholeskyInverseBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
result_.reset_data();
}
SavedVariable self_;
bool upper;
SavedVariable result_;
};
struct TORCH_API ClampBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "ClampBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
min_.reset_data();
max_.reset_data();
}
SavedVariable self_;
SavedVariable min_;
SavedVariable max_;
};
struct TORCH_API ClampBackward1 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "ClampBackward1"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
}
SavedVariable self_;
c10::optional min;
c10::optional max;
};
struct TORCH_API ClampMinBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "ClampMinBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
}
SavedVariable self_;
at::Scalar min;
};
struct TORCH_API ClampMinBackward1 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "ClampMinBackward1"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
min_.reset_data();
}
SavedVariable self_;
SavedVariable min_;
};
struct TORCH_API ClampMaxBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "ClampMaxBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
}
SavedVariable self_;
at::Scalar max;
};
struct TORCH_API ClampMaxBackward1 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "ClampMaxBackward1"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
max_.reset_data();
}
SavedVariable self_;
SavedVariable max_;
};
struct TORCH_API CloneBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "CloneBackward0"; }
void release_variables() override {
}
};
struct TORCH_API ToCopyBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "ToCopyBackward0"; }
void release_variables() override {
}
at::TensorOptions self_options;
bool non_blocking;
};
struct TORCH_API CoalesceBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "CoalesceBackward0"; }
void release_variables() override {
}
};
struct TORCH_API ComplexBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "ComplexBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
imag_.reset_data();
real_.reset_data();
}
SavedVariable imag_;
SavedVariable real_;
};
struct TORCH_API PolarBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "PolarBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
result_.reset_data();
}
SavedVariable result_;
};
struct TORCH_API ConjBackward0 : public Node {
using Node::Node;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "ConjBackward0"; }
void release_variables() override {
}
};
struct TORCH_API NegViewBackward0 : public Node {
using Node::Node;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "NegViewBackward0"; }
void release_variables() override {
}
};
struct TORCH_API ConjPhysicalBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "ConjPhysicalBackward0"; }
void release_variables() override {
}
};
struct TORCH_API ConjPhysicalBackward1 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "ConjPhysicalBackward1"; }
void release_variables() override {
}
};
struct TORCH_API CopysignBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "CopysignBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
result_.reset_data();
}
torch::autograd::generated::TypeAndSize other_info;
SavedVariable self_;
SavedVariable result_;
};
struct TORCH_API CopysignBackward1 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "CopysignBackward1"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
result_.reset_data();
}
SavedVariable self_;
SavedVariable result_;
};
struct TORCH_API CosBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "CosBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
}
SavedVariable self_;
};
struct TORCH_API CoshBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "CoshBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
}
SavedVariable self_;
};
struct TORCH_API CrossBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "CrossBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
other_.reset_data();
}
SavedVariable self_;
c10::optional dim;
SavedVariable other_;
};
struct TORCH_API LogcumsumexpBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "LogcumsumexpBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
result_.reset_data();
}
SavedVariable self_;
int64_t dim = 0;
SavedVariable result_;
};
struct TORCH_API CumprodBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "CumprodBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
result_.reset_data();
}
at::ScalarType self_scalar_type;
SavedVariable self_;
int64_t dim = 0;
SavedVariable result_;
};
struct TORCH_API CumsumBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "CumsumBackward0"; }
void release_variables() override {
}
at::ScalarType self_scalar_type;
int64_t dim = 0;
};
struct TORCH_API CummaxBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "CummaxBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
indices_.reset_data();
}
SavedVariable self_;
int64_t dim = 0;
SavedVariable indices_;
};
struct TORCH_API CumminBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "CumminBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
indices_.reset_data();
}
SavedVariable self_;
int64_t dim = 0;
SavedVariable indices_;
};
struct TORCH_API ConvTbcBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "ConvTbcBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
weight_.reset_data();
bias_.reset_data();
}
SavedVariable self_;
SavedVariable weight_;
SavedVariable bias_;
int64_t pad = 0;
};
struct TORCH_API CtcLossBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "CtcLossBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
log_probs_.reset_data();
targets_.reset_data();
result0_.reset_data();
result1_.reset_data();
}
SavedVariable log_probs_;
SavedVariable targets_;
std::vector input_lengths;
std::vector target_lengths;
int64_t blank = 0;
bool zero_infinity;
SavedVariable result0_;
SavedVariable result1_;
};
struct TORCH_API Deg2RadBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "Deg2RadBackward0"; }
void release_variables() override {
}
};
struct TORCH_API DetLuBasedHelperBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "DetLuBasedHelperBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
det_.reset_data();
lu_.reset_data();
pivs_.reset_data();
}
SavedVariable self_;
SavedVariable det_;
SavedVariable lu_;
SavedVariable pivs_;
};
struct TORCH_API DiagBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "DiagBackward0"; }
void release_variables() override {
}
std::vector self_sizes;
int64_t diagonal = 0;
};
struct TORCH_API DiagonalBackward0 : public Node {
using Node::Node;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "DiagonalBackward0"; }
void release_variables() override {
}
std::vector self_sizes;
int64_t offset = 0;
int64_t dim1 = 0;
int64_t dim2 = 0;
};
struct TORCH_API DiagonalBackwardBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "DiagonalBackwardBackward0"; }
void release_variables() override {
}
int64_t offset = 0;
int64_t dim1 = 0;
int64_t dim2 = 0;
};
struct TORCH_API DistBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "DistBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
other_.reset_data();
result_.reset_data();
}
SavedVariable self_;
SavedVariable other_;
at::Scalar p;
SavedVariable result_;
};
struct TORCH_API DivBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "DivBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
other_.reset_data();
}
SavedVariable self_;
SavedVariable other_;
at::ScalarType self_scalar_type;
};
struct TORCH_API DivBackward1 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "DivBackward1"; }
void release_variables() override {
}
at::ScalarType self_scalar_type;
at::Scalar other;
};
struct TORCH_API DivBackward2 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "DivBackward2"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
other_.reset_data();
}
SavedVariable self_;
SavedVariable other_;
c10::optional rounding_mode;
at::ScalarType self_scalar_type;
};
struct TORCH_API DivBackward3 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "DivBackward3"; }
void release_variables() override {
}
at::ScalarType self_scalar_type;
at::Scalar other;
c10::optional rounding_mode;
};
struct TORCH_API DotBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "DotBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
tensor_.reset_data();
self_.reset_data();
}
SavedVariable tensor_;
SavedVariable self_;
};
struct TORCH_API VdotBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "VdotBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
other_.reset_data();
}
SavedVariable self_;
SavedVariable other_;
};
struct TORCH_API FusedDropoutBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "FusedDropoutBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
result1_.reset_data();
}
double p;
SavedVariable result1_;
};
struct TORCH_API EigBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "EigBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
eigenvalues_.reset_data();
eigenvectors_return_.reset_data();
}
SavedVariable self_;
bool eigenvectors;
SavedVariable eigenvalues_;
SavedVariable eigenvectors_return_;
};
struct TORCH_API EqBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "EqBackward0"; }
void release_variables() override {
}
torch::autograd::generated::TypeAndSize self_info;
};
struct TORCH_API EqBackward1 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "EqBackward1"; }
void release_variables() override {
}
torch::autograd::generated::TypeAndSize other_info;
torch::autograd::generated::TypeAndSize self_info;
};
struct TORCH_API ErfBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "ErfBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
}
SavedVariable self_;
};
struct TORCH_API ErfcBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "ErfcBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
}
SavedVariable self_;
};
struct TORCH_API SpecialErfcxBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "SpecialErfcxBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
result_.reset_data();
}
SavedVariable self_;
SavedVariable result_;
};
struct TORCH_API ErfinvBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "ErfinvBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
}
SavedVariable self_;
};
struct TORCH_API ExpBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "ExpBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
result_.reset_data();
}
SavedVariable result_;
};
struct TORCH_API Exp2Backward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "Exp2Backward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
result_.reset_data();
}
SavedVariable result_;
};
struct TORCH_API Expm1Backward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "Expm1Backward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
result_.reset_data();
}
SavedVariable result_;
};
struct TORCH_API ExpandBackward0 : public Node {
using Node::Node;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "ExpandBackward0"; }
void release_variables() override {
}
std::vector self_sizes;
};
struct TORCH_API ExponentialBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "ExponentialBackward0"; }
void release_variables() override {
}
};
struct TORCH_API FakeQuantizePerTensorAffineCachemaskBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "FakeQuantizePerTensorAffineCachemaskBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
mask_.reset_data();
}
SavedVariable mask_;
};
struct TORCH_API FakeQuantizePerTensorAffineCachemaskTensorQparamsBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "FakeQuantizePerTensorAffineCachemaskTensorQparamsBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
mask_.reset_data();
}
SavedVariable mask_;
};
struct TORCH_API FakeQuantizeLearnablePerTensorAffineBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "FakeQuantizeLearnablePerTensorAffineBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
scale_.reset_data();
zero_point_.reset_data();
}
SavedVariable self_;
SavedVariable scale_;
SavedVariable zero_point_;
int64_t quant_min = 0;
int64_t quant_max = 0;
double grad_factor;
};
struct TORCH_API FakeQuantizePerChannelAffineCachemaskBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "FakeQuantizePerChannelAffineCachemaskBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
mask_.reset_data();
}
SavedVariable mask_;
};
struct TORCH_API FakeQuantizeLearnablePerChannelAffineBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "FakeQuantizeLearnablePerChannelAffineBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
scale_.reset_data();
zero_point_.reset_data();
}
SavedVariable self_;
SavedVariable scale_;
SavedVariable zero_point_;
int64_t axis = 0;
int64_t quant_min = 0;
int64_t quant_max = 0;
double grad_factor;
};
struct TORCH_API FusedMovingAvgObsFqHelperBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "FusedMovingAvgObsFqHelperBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
mask_.reset_data();
}
SavedVariable mask_;
};
struct TORCH_API FillBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "FillBackward0"; }
void release_variables() override {
}
};
struct TORCH_API FillBackward1 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "FillBackward1"; }
void release_variables() override {
}
};
struct TORCH_API FloorBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "FloorBackward0"; }
void release_variables() override {
}
};
struct TORCH_API FmodBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "FmodBackward0"; }
void release_variables() override {
}
};
struct TORCH_API FmodBackward1 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "FmodBackward1"; }
void release_variables() override {
std::lock_guard lock(mutex_);
other_.reset_data();
}
SavedVariable other_;
};
struct TORCH_API FracBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "FracBackward0"; }
void release_variables() override {
}
};
struct TORCH_API FrexpBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "FrexpBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
exponent_.reset_data();
}
SavedVariable exponent_;
};
struct TORCH_API GatherBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "GatherBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
index_.reset_data();
}
SavedVariable self_;
int64_t dim = 0;
SavedVariable index_;
bool sparse_grad;
};
struct TORCH_API GeBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "GeBackward0"; }
void release_variables() override {
}
torch::autograd::generated::TypeAndSize self_info;
};
struct TORCH_API GeBackward1 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "GeBackward1"; }
void release_variables() override {
}
torch::autograd::generated::TypeAndSize other_info;
torch::autograd::generated::TypeAndSize self_info;
};
struct TORCH_API GeometricBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "GeometricBackward0"; }
void release_variables() override {
}
};
struct TORCH_API GeqrfBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "GeqrfBackward0"; }
void release_variables() override {
}
};
struct TORCH_API GridSampler2DBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "GridSampler2DBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
input_.reset_data();
grid_.reset_data();
}
SavedVariable input_;
SavedVariable grid_;
int64_t interpolation_mode = 0;
int64_t padding_mode = 0;
bool align_corners;
};
struct TORCH_API GridSampler3DBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "GridSampler3DBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
input_.reset_data();
grid_.reset_data();
}
SavedVariable input_;
SavedVariable grid_;
int64_t interpolation_mode = 0;
int64_t padding_mode = 0;
bool align_corners;
};
struct TORCH_API GridSampler2DCpuFallbackBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "GridSampler2DCpuFallbackBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
input_.reset_data();
grid_.reset_data();
}
SavedVariable input_;
SavedVariable grid_;
int64_t interpolation_mode = 0;
int64_t padding_mode = 0;
bool align_corners;
};
struct TORCH_API GtBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "GtBackward0"; }
void release_variables() override {
}
torch::autograd::generated::TypeAndSize self_info;
};
struct TORCH_API GtBackward1 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "GtBackward1"; }
void release_variables() override {
}
torch::autograd::generated::TypeAndSize other_info;
torch::autograd::generated::TypeAndSize self_info;
};
struct TORCH_API HardsigmoidBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "HardsigmoidBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
}
SavedVariable self_;
};
struct TORCH_API HistcBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "HistcBackward0"; }
void release_variables() override {
}
};
struct TORCH_API HardswishBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "HardswishBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
}
SavedVariable self_;
};
struct TORCH_API HypotBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "HypotBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
other_.reset_data();
self_.reset_data();
result_.reset_data();
}
SavedVariable other_;
SavedVariable self_;
SavedVariable result_;
};
struct TORCH_API I0Backward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "I0Backward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
}
SavedVariable self_;
};
struct TORCH_API SpecialI0EBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "SpecialI0EBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
result_.reset_data();
}
SavedVariable self_;
SavedVariable result_;
};
struct TORCH_API SpecialI1Backward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "SpecialI1Backward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
result_.reset_data();
}
SavedVariable self_;
SavedVariable result_;
};
struct TORCH_API SpecialI1EBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "SpecialI1EBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
result_.reset_data();
}
SavedVariable self_;
SavedVariable result_;
};
struct TORCH_API IgammaBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "IgammaBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
other_.reset_data();
}
SavedVariable self_;
SavedVariable other_;
};
struct TORCH_API IgammacBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "IgammacBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
other_.reset_data();
}
SavedVariable self_;
SavedVariable other_;
};
struct TORCH_API IndexBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "IndexBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
indices_.clear();
indices_released_ = true;
}
std::vector self_sizes;
at::TensorOptions self_options;
std::vector indices_;
bool indices_released_ = false;
};
struct TORCH_API IndexAddBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "IndexAddBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
index_.reset_data();
source_.reset_data();
}
int64_t dim = 0;
SavedVariable index_;
int64_t source_dim = 0;
SavedVariable source_;
at::Scalar alpha;
};
struct TORCH_API IndexCopyBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "IndexCopyBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
index_.reset_data();
source_.reset_data();
}
int64_t dim = 0;
SavedVariable index_;
int64_t source_dim = 0;
SavedVariable source_;
};
struct TORCH_API IndexFillBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "IndexFillBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
index_.reset_data();
}
int64_t dim = 0;
SavedVariable index_;
};
struct TORCH_API IndexFillBackward1 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "IndexFillBackward1"; }
void release_variables() override {
std::lock_guard lock(mutex_);
index_.reset_data();
}
int64_t dim = 0;
SavedVariable index_;
};
struct TORCH_API IndexPutBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "IndexPutBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
indices_.clear();
indices_released_ = true;
}
std::vector indices_;
bool indices_released_ = false;
torch::autograd::generated::TypeAndSize values_info;
bool accumulate;
};
struct TORCH_API IndexPutImplBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "IndexPutImplBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
indices_.clear();
indices_released_ = true;
}
std::vector indices_;
bool indices_released_ = false;
torch::autograd::generated::TypeAndSize values_info;
bool accumulate;
};
struct TORCH_API IndexSelectBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "IndexSelectBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
index_.reset_data();
}
std::vector self_sizes;
int64_t dim = 0;
SavedVariable index_;
};
struct TORCH_API InverseBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "InverseBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
result_.reset_data();
}
SavedVariable result_;
};
struct TORCH_API LinalgInvExBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "LinalgInvExBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
inverse_.reset_data();
}
SavedVariable inverse_;
};
struct TORCH_API KthvalueBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "KthvalueBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
indices_.reset_data();
}
std::vector self_sizes;
int64_t dim = 0;
bool keepdim;
SavedVariable indices_;
};
struct TORCH_API LeBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "LeBackward0"; }
void release_variables() override {
}
torch::autograd::generated::TypeAndSize self_info;
};
struct TORCH_API LeBackward1 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "LeBackward1"; }
void release_variables() override {
}
torch::autograd::generated::TypeAndSize other_info;
torch::autograd::generated::TypeAndSize self_info;
};
struct TORCH_API LerpBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "LerpBackward0"; }
void release_variables() override {
}
at::Scalar weight;
};
struct TORCH_API LerpBackward1 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "LerpBackward1"; }
void release_variables() override {
std::lock_guard lock(mutex_);
weight_.reset_data();
self_.reset_data();
end_.reset_data();
}
SavedVariable weight_;
SavedVariable self_;
SavedVariable end_;
};
struct TORCH_API LgammaBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "LgammaBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
}
SavedVariable self_;
};
struct TORCH_API DigammaBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "DigammaBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
}
SavedVariable self_;
};
struct TORCH_API PolygammaBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "PolygammaBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
}
int64_t n = 0;
SavedVariable self_;
};
struct TORCH_API PolygammaBackward1 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "PolygammaBackward1"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
}
SavedVariable self_;
int64_t n = 0;
};
struct TORCH_API LogBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "LogBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
}
SavedVariable self_;
};
struct TORCH_API Log10Backward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "Log10Backward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
}
SavedVariable self_;
};
struct TORCH_API Log1PBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "Log1PBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
}
SavedVariable self_;
};
struct TORCH_API Log2Backward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "Log2Backward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
}
SavedVariable self_;
};
struct TORCH_API LogaddexpBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "LogaddexpBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
other_.reset_data();
}
SavedVariable self_;
SavedVariable other_;
};
struct TORCH_API Logaddexp2Backward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "Logaddexp2Backward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
other_.reset_data();
}
SavedVariable self_;
SavedVariable other_;
};
struct TORCH_API XlogyBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "XlogyBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
other_.reset_data();
}
SavedVariable self_;
torch::autograd::generated::TypeAndSize other_info;
SavedVariable other_;
};
struct TORCH_API XlogyBackward1 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "XlogyBackward1"; }
void release_variables() override {
std::lock_guard lock(mutex_);
other_.reset_data();
}
at::Scalar self;
torch::autograd::generated::TypeAndSize other_info;
SavedVariable other_;
};
struct TORCH_API XlogyBackward2 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "XlogyBackward2"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
}
SavedVariable self_;
at::Scalar other;
};
struct TORCH_API SpecialXlog1PyBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "SpecialXlog1PyBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
other_.reset_data();
}
SavedVariable self_;
SavedVariable other_;
};
struct TORCH_API SpecialXlog1PyBackward1 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "SpecialXlog1PyBackward1"; }
void release_variables() override {
std::lock_guard lock(mutex_);
other_.reset_data();
}
at::Scalar self;
SavedVariable other_;
};
struct TORCH_API SpecialXlog1PyBackward2 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "SpecialXlog1PyBackward2"; }
void release_variables() override {
}
at::Scalar other;
};
struct TORCH_API SpecialZetaBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "SpecialZetaBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
other_.reset_data();
}
SavedVariable self_;
SavedVariable other_;
};
struct TORCH_API SpecialZetaBackward1 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "SpecialZetaBackward1"; }
void release_variables() override {
std::lock_guard lock(mutex_);
other_.reset_data();
}
at::Scalar self;
SavedVariable other_;
};
struct TORCH_API SpecialZetaBackward2 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "SpecialZetaBackward2"; }
void release_variables() override {
}
};
struct TORCH_API LogdetBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "LogdetBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
result_.reset_data();
}
SavedVariable self_;
SavedVariable result_;
};
struct TORCH_API LogNormalBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "LogNormalBackward0"; }
void release_variables() override {
}
};
struct TORCH_API LogsumexpBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "LogsumexpBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
result_.reset_data();
}
SavedVariable self_;
std::vector dim;
bool keepdim;
SavedVariable result_;
};
struct TORCH_API LstsqBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "LstsqBackward0"; }
void release_variables() override {
}
};
struct TORCH_API LinalgLstsqBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "LinalgLstsqBackward0"; }
void release_variables() override {
}
};
struct TORCH_API LtBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "LtBackward0"; }
void release_variables() override {
}
torch::autograd::generated::TypeAndSize self_info;
};
struct TORCH_API LtBackward1 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "LtBackward1"; }
void release_variables() override {
}
torch::autograd::generated::TypeAndSize other_info;
torch::autograd::generated::TypeAndSize self_info;
};
struct TORCH_API LuWithInfoBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "LuWithInfoBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
LU_.reset_data();
pivots_.reset_data();
}
SavedVariable self_;
SavedVariable LU_;
SavedVariable pivots_;
};
struct TORCH_API LuSolveBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "LuSolveBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
LU_data_.reset_data();
LU_pivots_.reset_data();
}
SavedVariable self_;
SavedVariable LU_data_;
SavedVariable LU_pivots_;
};
struct TORCH_API LuUnpackBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "LuUnpackBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
LU_data_.reset_data();
}
SavedVariable LU_data_;
bool unpack_data;
};
struct TORCH_API MaskedFillBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "MaskedFillBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
mask_.reset_data();
}
SavedVariable mask_;
};
struct TORCH_API MaskedFillBackward1 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "MaskedFillBackward1"; }
void release_variables() override {
std::lock_guard lock(mutex_);
mask_.reset_data();
}
SavedVariable mask_;
};
struct TORCH_API MaskedScatterBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "MaskedScatterBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
mask_.reset_data();
}
SavedVariable mask_;
std::vector source_sizes;
};
struct TORCH_API MaskedSelectBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "MaskedSelectBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
mask_.reset_data();
}
SavedVariable self_;
SavedVariable mask_;
};
struct TORCH_API MatrixExpBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "MatrixExpBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
}
SavedVariable self_;
};
struct TORCH_API MaxBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "MaxBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
indices_.reset_data();
}
std::vector self_sizes;
int64_t dim = 0;
bool keepdim;
SavedVariable indices_;
};
struct TORCH_API MaxBackward1 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "MaxBackward1"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
result_.reset_data();
}
SavedVariable self_;
SavedVariable result_;
};
struct TORCH_API MaximumBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "MaximumBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
other_.reset_data();
}
SavedVariable self_;
SavedVariable other_;
};
struct TORCH_API FmaxBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "FmaxBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
other_.reset_data();
}
SavedVariable self_;
SavedVariable other_;
};
struct TORCH_API MeanBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "MeanBackward0"; }
void release_variables() override {
}
std::vector self_sizes;
int64_t self_numel = 0;
at::ScalarType self_scalar_type;
};
struct TORCH_API MeanBackward1 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "MeanBackward1"; }
void release_variables() override {
}
std::vector self_sizes;
at::ScalarType self_scalar_type;
std::vector dim;
bool keepdim;
};
struct TORCH_API MedianBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "MedianBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
result_.reset_data();
}
SavedVariable self_;
SavedVariable result_;
};
struct TORCH_API NanmedianBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "NanmedianBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
result_.reset_data();
}
SavedVariable self_;
SavedVariable result_;
};
struct TORCH_API MedianBackward1 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "MedianBackward1"; }
void release_variables() override {
std::lock_guard lock(mutex_);
indices_.reset_data();
}
std::vector self_sizes;
int64_t dim = 0;
bool keepdim;
SavedVariable indices_;
};
struct TORCH_API NanmedianBackward1 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "NanmedianBackward1"; }
void release_variables() override {
std::lock_guard lock(mutex_);
indices_.reset_data();
}
std::vector self_sizes;
int64_t dim = 0;
bool keepdim;
SavedVariable indices_;
};
struct TORCH_API MinBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "MinBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
indices_.reset_data();
}
std::vector self_sizes;
int64_t dim = 0;
bool keepdim;
SavedVariable indices_;
};
struct TORCH_API MinBackward1 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "MinBackward1"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
result_.reset_data();
}
SavedVariable self_;
SavedVariable result_;
};
struct TORCH_API MinimumBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "MinimumBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
other_.reset_data();
}
SavedVariable self_;
SavedVariable other_;
};
struct TORCH_API FminBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "FminBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
other_.reset_data();
}
SavedVariable self_;
SavedVariable other_;
};
struct TORCH_API AmaxBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "AmaxBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
result_.reset_data();
}
SavedVariable self_;
std::vector dim;
bool keepdim;
SavedVariable result_;
};
struct TORCH_API AminBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "AminBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
result_.reset_data();
}
SavedVariable self_;
std::vector dim;
bool keepdim;
SavedVariable result_;
};
struct TORCH_API MmBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "MmBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
mat2_.reset_data();
}
SavedVariable self_;
std::vector mat2_sizes;
std::vector mat2_strides;
std::vector self_sizes;
std::vector self_strides;
SavedVariable mat2_;
};
struct TORCH_API ModeBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "ModeBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
indices_.reset_data();
}
std::vector self_sizes;
int64_t dim = 0;
bool keepdim;
SavedVariable indices_;
};
struct TORCH_API MulBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "MulBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
other_.reset_data();
}
SavedVariable self_;
at::ScalarType other_scalar_type;
at::ScalarType self_scalar_type;
SavedVariable other_;
};
struct TORCH_API MulBackward1 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "MulBackward1"; }
void release_variables() override {
}
at::ScalarType self_scalar_type;
at::Scalar other;
};
struct TORCH_API MvBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "MvBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
vec_.reset_data();
self_.reset_data();
}
SavedVariable vec_;
SavedVariable self_;
};
struct TORCH_API MvlgammaBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "MvlgammaBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
}
SavedVariable self_;
int64_t p = 0;
};
struct TORCH_API NanToNumBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "NanToNumBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
}
SavedVariable self_;
};
struct TORCH_API NativeBatchNormBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "NativeBatchNormBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
input_.reset_data();
weight_.reset_data();
running_mean_.reset_data();
running_var_.reset_data();
result1_.reset_data();
result2_.reset_data();
}
SavedVariable input_;
SavedVariable weight_;
SavedVariable running_mean_;
SavedVariable running_var_;
bool training;
double eps;
SavedVariable result1_;
SavedVariable result2_;
};
struct TORCH_API NativeBatchNormBackwardBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "NativeBatchNormBackwardBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
grad_out_.reset_data();
input_.reset_data();
weight_.reset_data();
running_mean_.reset_data();
running_var_.reset_data();
save_mean_.reset_data();
save_invstd_.reset_data();
}
SavedVariable grad_out_;
SavedVariable input_;
SavedVariable weight_;
SavedVariable running_mean_;
SavedVariable running_var_;
SavedVariable save_mean_;
SavedVariable save_invstd_;
bool train;
double eps;
};
struct TORCH_API NativeLayerNormBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "NativeLayerNormBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
input_.reset_data();
weight_.reset_data();
bias_.reset_data();
result1_.reset_data();
result2_.reset_data();
}
SavedVariable input_;
std::vector normalized_shape;
SavedVariable weight_;
SavedVariable bias_;
SavedVariable result1_;
SavedVariable result2_;
};
struct TORCH_API NativeLayerNormBackwardBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "NativeLayerNormBackwardBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
grad_out_.reset_data();
input_.reset_data();
mean_.reset_data();
rstd_.reset_data();
weight_.reset_data();
}
SavedVariable grad_out_;
SavedVariable input_;
std::vector normalized_shape;
SavedVariable mean_;
SavedVariable rstd_;
SavedVariable weight_;
};
struct TORCH_API NativeGroupNormBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "NativeGroupNormBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
input_.reset_data();
weight_.reset_data();
result1_.reset_data();
result2_.reset_data();
}
SavedVariable input_;
SavedVariable weight_;
int64_t N = 0;
int64_t C = 0;
int64_t HxW = 0;
int64_t group = 0;
double eps;
SavedVariable result1_;
SavedVariable result2_;
};
struct TORCH_API NeBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "NeBackward0"; }
void release_variables() override {
}
torch::autograd::generated::TypeAndSize self_info;
};
struct TORCH_API NeBackward1 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "NeBackward1"; }
void release_variables() override {
}
torch::autograd::generated::TypeAndSize other_info;
torch::autograd::generated::TypeAndSize self_info;
};
struct TORCH_API NegBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "NegBackward0"; }
void release_variables() override {
}
};
struct TORCH_API NextafterBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "NextafterBackward0"; }
void release_variables() override {
}
};
struct TORCH_API NormBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "NormBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
result_.reset_data();
}
SavedVariable self_;
at::Scalar p;
SavedVariable result_;
};
struct TORCH_API NormBackward1 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "NormBackward1"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
result_.reset_data();
}
SavedVariable self_;
c10::optional p;
std::vector dim;
bool keepdim;
SavedVariable result_;
};
struct TORCH_API NormBackward2 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "NormBackward2"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
result_.reset_data();
}
SavedVariable self_;
c10::optional p;
SavedVariable result_;
};
struct TORCH_API NormBackward3 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "NormBackward3"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
result_.reset_data();
}
SavedVariable self_;
c10::optional p;
std::vector dim;
bool keepdim;
SavedVariable result_;
};
struct TORCH_API LinalgVectorNormBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "LinalgVectorNormBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
result_.reset_data();
}
SavedVariable self_;
at::Scalar ord;
c10::OptionalArray dim;
bool keepdim;
SavedVariable result_;
};
struct TORCH_API PdistBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "PdistBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
result_.reset_data();
}
SavedVariable self_;
double p;
SavedVariable result_;
};
struct TORCH_API PdistBackwardBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "PdistBackwardBackward0"; }
void release_variables() override {
}
};
struct TORCH_API EuclideanDistBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "EuclideanDistBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
x1_.reset_data();
x2_.reset_data();
result_.reset_data();
}
SavedVariable x1_;
SavedVariable x2_;
SavedVariable result_;
};
struct TORCH_API CdistBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "CdistBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
x1_.reset_data();
x2_.reset_data();
result_.reset_data();
}
SavedVariable x1_;
SavedVariable x2_;
double p;
SavedVariable result_;
};
struct TORCH_API CdistBackwardBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "CdistBackwardBackward0"; }
void release_variables() override {
}
};
struct TORCH_API NormalBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "NormalBackward0"; }
void release_variables() override {
}
};
struct TORCH_API NormalBackward1 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "NormalBackward1"; }
void release_variables() override {
}
std::vector mean_sizes;
};
struct TORCH_API NormalBackward2 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "NormalBackward2"; }
void release_variables() override {
}
std::vector std_sizes;
};
struct TORCH_API NormalBackward3 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "NormalBackward3"; }
void release_variables() override {
}
std::vector mean_sizes;
std::vector std_sizes;
};
struct TORCH_API LinalgHouseholderProductBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "LinalgHouseholderProductBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
input_.reset_data();
tau_.reset_data();
}
SavedVariable input_;
SavedVariable tau_;
};
struct TORCH_API OrmqrBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "OrmqrBackward0"; }
void release_variables() override {
}
};
struct TORCH_API PermuteBackward0 : public Node {
using Node::Node;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "PermuteBackward0"; }
void release_variables() override {
}
std::vector dims;
};
struct TORCH_API PoissonBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "PoissonBackward0"; }
void release_variables() override {
}
torch::autograd::generated::TypeAndSize self_info;
};
struct TORCH_API PowBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "PowBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
}
SavedVariable self_;
at::Scalar exponent;
};
struct TORCH_API PowBackward1 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "PowBackward1"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
exponent_.reset_data();
result_.reset_data();
}
SavedVariable self_;
SavedVariable exponent_;
SavedVariable result_;
};
struct TORCH_API PowBackward2 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "PowBackward2"; }
void release_variables() override {
std::lock_guard lock(mutex_);
exponent_.reset_data();
result_.reset_data();
}
at::Scalar self;
SavedVariable exponent_;
SavedVariable result_;
};
struct TORCH_API ProdBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "ProdBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
result_.reset_data();
}
SavedVariable self_;
SavedVariable result_;
};
struct TORCH_API ProdBackward1 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "ProdBackward1"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
result_.reset_data();
}
SavedVariable self_;
int64_t dim = 0;
bool keepdim;
SavedVariable result_;
};
struct TORCH_API PutBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "PutBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
index_.reset_data();
source_.reset_data();
}
SavedVariable index_;
torch::autograd::generated::TypeAndSize source_info;
bool accumulate;
SavedVariable source_;
};
struct TORCH_API LinalgQrBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "LinalgQrBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
Q_.reset_data();
R_.reset_data();
}
SavedVariable self_;
std::string mode;
SavedVariable Q_;
SavedVariable R_;
};
struct TORCH_API Rad2DegBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "Rad2DegBackward0"; }
void release_variables() override {
}
};
struct TORCH_API RandomBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "RandomBackward0"; }
void release_variables() override {
}
};
struct TORCH_API RandomBackward1 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "RandomBackward1"; }
void release_variables() override {
}
};
struct TORCH_API RandomBackward2 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "RandomBackward2"; }
void release_variables() override {
}
};
struct TORCH_API ReciprocalBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "ReciprocalBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
result_.reset_data();
}
SavedVariable result_;
};
struct TORCH_API RemainderBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "RemainderBackward0"; }
void release_variables() override {
}
};
struct TORCH_API RemainderBackward1 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "RemainderBackward1"; }
void release_variables() override {
}
};
struct TORCH_API RenormBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "RenormBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
}
SavedVariable self_;
at::Scalar p;
int64_t dim = 0;
at::Scalar maxnorm;
};
struct TORCH_API RepeatBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "RepeatBackward0"; }
void release_variables() override {
}
std::vector self_sizes;
std::vector repeats;
};
struct TORCH_API SpecialEntrBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "SpecialEntrBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
}
SavedVariable self_;
};
struct TORCH_API SpecialNdtriBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "SpecialNdtriBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
result_.reset_data();
}
SavedVariable result_;
};
struct TORCH_API ReshapeAliasBackward0 : public Node {
using Node::Node;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "ReshapeAliasBackward0"; }
void release_variables() override {
}
std::vector self_sizes;
};
struct TORCH_API RoundBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "RoundBackward0"; }
void release_variables() override {
}
};
struct TORCH_API RsqrtBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "RsqrtBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
result_.reset_data();
}
SavedVariable result_;
};
struct TORCH_API ScatterBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "ScatterBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
index_.reset_data();
}
int64_t dim = 0;
SavedVariable index_;
};
struct TORCH_API ScatterBackward1 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "ScatterBackward1"; }
void release_variables() override {
std::lock_guard lock(mutex_);
index_.reset_data();
}
int64_t dim = 0;
SavedVariable index_;
};
struct TORCH_API ScatterAddBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "ScatterAddBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
index_.reset_data();
}
int64_t dim = 0;
SavedVariable index_;
};
struct TORCH_API SelectBackward0 : public Node {
using Node::Node;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "SelectBackward0"; }
void release_variables() override {
}
std::vector self_sizes;
int64_t dim = 0;
int64_t index = 0;
};
struct TORCH_API SelectBackwardBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "SelectBackwardBackward0"; }
void release_variables() override {
}
int64_t dim = 0;
int64_t index = 0;
};
struct TORCH_API SigmoidBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "SigmoidBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
result_.reset_data();
}
SavedVariable result_;
};
struct TORCH_API LogitBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "LogitBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
}
SavedVariable self_;
c10::optional eps;
};
struct TORCH_API SignBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "SignBackward0"; }
void release_variables() override {
}
};
struct TORCH_API SgnBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "SgnBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
result_.reset_data();
}
SavedVariable self_;
SavedVariable result_;
};
struct TORCH_API SinBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "SinBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
}
SavedVariable self_;
};
struct TORCH_API SincBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "SincBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
}
SavedVariable self_;
};
struct TORCH_API SinhBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "SinhBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
}
SavedVariable self_;
};
struct TORCH_API SliceBackward0 : public Node {
using Node::Node;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "SliceBackward0"; }
void release_variables() override {
}
std::vector self_sizes;
int64_t dim = 0;
c10::optional start;
c10::optional end;
int64_t step = 0;
};
struct TORCH_API SliceBackwardBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "SliceBackwardBackward0"; }
void release_variables() override {
}
int64_t dim = 0;
int64_t start = 0;
int64_t end = 0;
int64_t step = 0;
};
struct TORCH_API SlogdetBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "SlogdetBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
sign_.reset_data();
logabsdet_.reset_data();
}
SavedVariable self_;
SavedVariable sign_;
SavedVariable logabsdet_;
};
struct TORCH_API LinalgSlogdetBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "LinalgSlogdetBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
sign_.reset_data();
logabsdet_.reset_data();
}
SavedVariable self_;
SavedVariable sign_;
SavedVariable logabsdet_;
};
struct TORCH_API SolveBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "SolveBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
self_.reset_data();
A_.reset_data();
solution_.reset_data();
}
SavedVariable self_;
SavedVariable A_;
SavedVariable solution_;
};
struct TORCH_API LinalgSolveBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "LinalgSolveBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
input_.reset_data();
other_.reset_data();
result_.reset_data();
}
SavedVariable input_;
SavedVariable other_;
SavedVariable result_;
};
struct TORCH_API SortBackward0 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "SortBackward0"; }
void release_variables() override {
std::lock_guard lock(mutex_);
indices_.reset_data();
}
std::vector self_sizes;
int64_t dim = 0;
SavedVariable indices_;
};
struct TORCH_API SortBackward1 : public TraceableFunction {
using TraceableFunction::TraceableFunction;
variable_list apply(variable_list&& grads) override;
std::string name() const override { return "SortBackward1"; }
void release_variables() override {
std::lock_guard