Skip to content

Remove extra overrides for non-leaf nodes.  #1225

@ailzhang

Description

@ailzhang

Note that when removing extra overrides, we need to make sure their leaf part is added if not present. For example, arange should be removed but we should add arange_out.
For reference here's source of truth of all leaf nodes as of 10/21/2019:
https://gist.github.com/ailzhang/905aa41a5be8c5315ba0e3d8f0d0e326

  • (Ailing)Tensor bitwise_not(const Tensor& self); // bitwise_not(Tensor)->Tensor
  • (Ailing)Tensor& bitwise_not_(Tensor& self); // bitwise_not_(Tensor)->Tensor
  • (Ailing) Tensor _cast_Byte(const Tensor& self, bool non_blocking); // _cast_Byte(Tensor,bool)->Tensor
  • (Ailing) Tensor _cast_Char(const Tensor& self, bool non_blocking); // _cast_Char(Tensor,bool)->Tensor
  • (Ailing) Tensor _cast_Float(const Tensor& self, bool non_blocking); // _cast_Float(Tensor,bool)->Tensor
  • (Ailing) Tensor _cast_Int(const Tensor& self, bool non_blocking); // _cast_Int(Tensor,bool)->Tensor
  • (Ailing) Tensor _cast_Long(const Tensor& self, bool non_blocking); // _cast_Long(Tensor,bool)->Tensor
  • (Ailing) Tensor _cast_Short(const Tensor& self, bool non_blocking); // _cast_Short(Tensor,bool)->Tensor
  • (Ailing)Tensor _dim_arange(const Tensor& like, int64_t dim); // _dim_arange(Tensor,int64_t)->Tensor
  • (Ailing) Tensor argmax(const Tensor& self, c10::optional<int64_t> dim, bool keepdim); // argmax(Tensor,c10::optional<int64_t>,bool)->Tensor
  • (Ailing) Tensor argmin(const Tensor& self, c10::optional<int64_t> dim, bool keepdim); // argmin(Tensor,c10::optional<int64_t>,bool)->Tensor
  • (Ailing) Tensor argsort(const Tensor& self, int64_t dim, bool descending); // argsort(Tensor,int64_t,bool)->Tensor
  • (Ailing) Tensor avg_pool1d(const Tensor& self, IntArrayRef kernel_size, IntArrayRef stride, IntArrayRef padding, bool ceil_mode, bool count_include_pad); // avg_pool1d(Tensor,IntArrayRef,IntArrayRef,IntArrayRef,bool,bool)->Tensor
  • (Ailing) Tensor batch_norm(const Tensor& input, const Tensor& weight, const Tensor& bias, const Tensor& running_mean, const Tensor& running_var, bool training, double momentum, double eps, bool cudnn_enabled); // batch_norm(Tensor,Tensor,Tensor,Tensor,Tensor,bool,double,double,bool)->Tensor
  • (Ailing) Tensor bernoulli(const Tensor& self, double p, Generator* generator); // bernoulli(Tensor,double,Generator)->Tensor
  • (Ailing) Tensor bilinear(const Tensor& input1, const Tensor& input2, const Tensor& weight, const Tensor& bias); // bilinear(Tensor,Tensor,Tensor,Tensor)->Tensor
  • (Ailing) Tensor binary_cross_entropy_with_logits_backward( const Tensor& grad_output, const Tensor& self, const Tensor& target, const Tensor& weight, const Tensor& pos_weight, int64_t reduction); // binary_cross_entropy_with_logits_backward(Tensor,Tensor,Tensor,Tensor,Tensor,int64_t)->Tensor
  • (Ailing) std::vector broadcast_tensors(TensorList tensors); // broadcast_tensors(TensorList)->std::vector
  • (Ailing) Tensor celu(const Tensor& self, Scalar alpha); // celu(Tensor,Scalar)->Tensor
  • (Ailing) Tensor& celu_(Tensor& self, Scalar alpha); // celu_(Tensor,Scalar)->Tensor
  • (Ailing) Tensor chain_matmul(TensorList matrices); // chain_matmul(TensorList)->Tensor
  • (Ailing) Tensor contiguous(const Tensor& self, MemoryFormat memory_format); // contiguous(Tensor,MemoryFormat)->Tensor
  • (Ailing) Tensor& copy_(Tensor& self, const Tensor& src, bool non_blocking); // copy_(Tensor,Tensor,bool)->Tensor
  • (Ailing) Tensor cosine_embedding_loss(const Tensor& input1, const Tensor& input2, const Tensor& target, double margin, int64_t reduction); // cosine_embedding_loss(Tensor,Tensor,Tensor,double,int64_t)->Tensor
  • (Ailing) Tensor cosine_similarity(const Tensor& x1, const Tensor& x2, int64_t dim, double eps); // cosine_similarity(Tensor,Tensor,int64_t,double)->Tensor
  • (Ailing) Tensor diagflat(const Tensor& self, int64_t offset); // diagflat(Tensor,int64_t)->Tensor
  • (Ailing) Tensor dropout(const Tensor& input, double p, bool train); // dropout(Tensor,double,bool)->Tensor
  • (Ailing) Tensor& dropout_(Tensor& self, double p, bool train); // dropout_(Tensor,double,bool)->Tensor
  • Tensor einsum(std::string equation, TensorList tensors); // einsum(std::string,TensorList)->Tensor
  • Tensor empty_like(const Tensor& self); // empty_like(Tensor)->Tensor
  • Tensor expand_as(const Tensor& self, const Tensor& other); // expand_as(Tensor,Tensor)->Tensor
  • Tensor flatten(const Tensor& self, int64_t start_dim, int64_t end_dim); // flatten(Tensor,int64_t,int64_t)->Tensor
  • Tensor frobenius_norm(const Tensor& self); // frobenius_norm(Tensor)->Tensor
  • Tensor frobenius_norm(const Tensor& self, IntArrayRef dim, bool keepdim); // frobenius_norm(Tensor,IntArrayRef,bool)->Tensor
  • Tensor full_like(const Tensor& self, Scalar fill_value); // full_like(Tensor,Scalar)->Tensor
  • Tensor group_norm(const Tensor& input, int64_t num_groups, const Tensor& weight, const Tensor& bias, double eps, bool cudnn_enabled); // group_norm(Tensor,int64_t,Tensor,Tensor,double,bool)->Tensor
  • Tensor hinge_embedding_loss(const Tensor& self, const Tensor& target, double margin, int64_t reduction); // hinge_embedding_loss(Tensor,Tensor,double,int64_t)->Tensor
  • Tensor index_add(const Tensor& self, int64_t dim, const Tensor& index, const Tensor& source); // index_add(Tensor,int64_t,Tensor,Tensor)->Tensor
  • Tensor index_copy(const Tensor& self, int64_t dim, const Tensor& index, const Tensor& source); // index_copy(Tensor,int64_t,Tensor,Tensor)->Tensor
  • Tensor index_fill(const Tensor& self, int64_t dim, const Tensor& index, Scalar value); // index_fill(Tensor,int64_t,Tensor,Scalar)->Tensor
  • Tensor index_fill(const Tensor& self, int64_t dim, const Tensor& index, const Tensor& value); // index_fill(Tensor,int64_t,Tensor,Tensor)->Tensor
  • Tensor index_put(const Tensor& self, TensorList indices, const Tensor& values, bool accumulate); // index_put(Tensor,TensorList,Tensor,bool)->Tensor
  • Tensor instance_norm( const Tensor& input, const Tensor& weight, const Tensor& bias, const Tensor& running_mean, const Tensor& running_var, bool use_input_stats, double momentum, double eps, bool cudnn_enabled); // instance_norm(Tensor,Tensor,Tensor,Tensor,Tensor,bool,double,double,bool)->Tensor
  • bool is_floating_point(const Tensor& self); // is_floating_point(Tensor)->bool
  • bool is_signed(const Tensor& self); // is_signed(Tensor)->bool
  • Tensor layer_norm(const Tensor& input, IntArrayRef normalized_shape, const Tensor& weight, const Tensor& bias, double eps, bool cudnn_enable); // layer_norm(Tensor,IntArrayRef,Tensor,Tensor,double,bool)->Tensor
  • Tensor linear(const Tensor& input, const Tensor& weight, const Tensor& bias); // linear(Tensor,Tensor,Tensor)->Tensor
  • Tensor log_sigmoid(const Tensor& self); // log_sigmoid(Tensor)->Tensor
  • Tensor log_softmax(const Tensor& self, int64_t dim, c10::optional dtype); // log_softmax(Tensor,int64_t,c10::optional)->Tensor
  • Tensor margin_ranking_loss(const Tensor& input1, const Tensor& input2, const Tensor& target, double margin, int64_t reduction); // margin_ranking_loss(Tensor,Tensor,Tensor,double,int64_t)->Tensor
  • Tensor masked_fill(const Tensor& self, const Tensor& mask, Scalar value); // masked_fill(Tensor,Tensor,Scalar)->Tensor
  • Tensor masked_fill(const Tensor& self, const Tensor& mask, const Tensor& value); // masked_fill(Tensor,Tensor,Tensor)->Tensor
  • Tensor matmul(const Tensor& self, const Tensor& other); // matmul(Tensor,Tensor)->Tensor
  • Tensor max_pool1d(const Tensor& self, IntArrayRef kernel_size, IntArrayRef stride, IntArrayRef padding, IntArrayRef dilation, bool ceil_mode); // max_pool1d(Tensor,IntArrayRef,IntArrayRef,IntArrayRef,IntArrayRef,bool)->Tensor
  • Tensor max_pool2d(const Tensor& self, IntArrayRef kernel_size, IntArrayRef stride, IntArrayRef padding, IntArrayRef dilation, bool ceil_mode); // max_pool2d(Tensor,IntArrayRef,IntArrayRef,IntArrayRef,IntArrayRef,bool)->Tensor
  • Tensor max_pool3d(const Tensor& self, IntArrayRef kernel_size, IntArrayRef stride, IntArrayRef padding, IntArrayRef dilation, bool ceil_mode); // max_pool3d(Tensor,IntArrayRef,IntArrayRef,IntArrayRef,IntArrayRef,bool)->Tensor
  • std::vector meshgrid(TensorList tensors); // meshgrid(TensorList)->std::vector
  • Tensor narrow(const Tensor& self, int64_t dim, int64_t start, int64_t length); // narrow(Tensor,int64_t,int64_t,int64_t)->Tensor
  • Tensor nll_loss(const Tensor& self, const Tensor& target, const Tensor& weight, int64_t reduction, int64_t ignore_index); // nll_loss(Tensor,Tensor,Tensor,int64_t,int64_t)->Tensor
  • Tensor nuclear_norm(const Tensor& self, bool keepdim); // nuclear_norm(Tensor,bool)->Tensor
  • Tensor one_hot(const Tensor& self, int64_t num_classes); // one_hot(Tensor,int64_t)->Tensor
  • Tensor ones_like(const Tensor& self); // ones_like(Tensor)->Tensor
  • Tensor pairwise_distance(const Tensor& x1, const Tensor& x2, double p, double eps, bool keepdim); // pairwise_distance(Tensor,Tensor,double,double,bool)->Tensor
  • Tensor pixel_shuffle(const Tensor& self, int64_t upscale_factor); // pixel_shuffle(Tensor,int64_t)->Tensor
  • Tensor pinverse(const Tensor& self, double rcond); // pinverse(Tensor,double)->Tensor
  • Tensor reshape(const Tensor& self, IntArrayRef shape); // reshape(Tensor,IntArrayRef)->Tensor
  • Tensor scatter(const Tensor& self, int64_t dim, const Tensor& index, const Tensor& src); // scatter(Tensor,int64_t,Tensor,Tensor)->Tensor
  • Tensor scatter(const Tensor& self, int64_t dim, const Tensor& index, Scalar value); // scatter(Tensor,int64_t,Tensor,Scalar)->Tensor
  • Tensor scatter_add(const Tensor& self, int64_t dim, const Tensor& index, const Tensor& src); // scatter_add(Tensor,int64_t,Tensor,Tensor)->Tensor
  • Tensor selu(const Tensor& self); // selu(Tensor)->Tensor
  • Tensor& selu_(Tensor& self); // selu_(Tensor)->Tensor
  • int64_t size(const Tensor& self, int64_t dim); // size(Tensor,int64_t)->int64_t
  • Tensor softmax(const Tensor& self, int64_t dim, c10::optional dtype); // softmax(Tensor,int64_t,c10::optional)->Tensor
  • Tensor sum_to_size(const Tensor& self, IntArrayRef size); // sum_to_size(Tensor,IntArrayRef)->Tensor
  • Tensor tensordot(const Tensor& self, const Tensor& other, IntArrayRef dims_self, IntArrayRef dims_other); // tensordot(Tensor,Tensor,IntArrayRef,IntArrayRef)->Tensor
  • Tensor to(const Tensor& self, const TensorOptions& options, bool non_blocking, bool copy, c10::optional memory_format); // to(Tensor,TensorOptions,bool,bool,c10::optional)->Tensor
  • Tensor to(const Tensor& self, Device device, ScalarType dtype, bool non_blocking, bool copy, c10::optional memory_format); // to(Tensor,Device,ScalarType,bool,bool,c10::optional)->Tensor
  • Tensor to(const Tensor& self, ScalarType dtype, bool non_blocking, bool copy, c10::optional memory_format); // to(Tensor,ScalarType,bool,bool,c10::optional)->Tensor
  • Tensor to(const Tensor& self, const Tensor& other, bool non_blocking, bool copy, c10::optional memory_format); // to(Tensor,Tensor,bool,bool,c10::optional)->Tensor
  • Tensor triplet_margin_loss(const Tensor& anchor, const Tensor& positive, const Tensor& negative, double margin, double p, double eps, bool swap, int64_t reduction); // triplet_margin_loss(Tensor,Tensor,Tensor,double,double,double,bool,int64_t)->Tensor
  • Tensor view_as(const Tensor& self, const Tensor& other); // view_as(Tensor,Tensor)->Tensor
  • Tensor where(const Tensor& condition, const Tensor& self, const Tensor& other); // where(Tensor,Tensor,Tensor)->Tensor
  • Tensor zeros_like(const Tensor& self); // zeros_like(Tensor)->Tensor

And a few more (non-leaf factory functions)

  • Tensor arange(Scalar end, const TensorOptions& options); // arange(Scalar,TensorOptions)->Tensor
  • Tensor arange(Scalar start, Scalar end, const TensorOptions& options); // arange(Scalar,Scalar,TensorOptions)->Tensor
  • Tensor arange(Scalar start, Scalar end, Scalar step, const TensorOptions& options); // arange(Scalar,Scalar,Scalar,TensorOptions)->Tensor
  • Tensor bartlett_window(int64_t window_length, const TensorOptions& options); // bartlett_window(int64_t,TensorOptions)->Tensor
  • Tensor bartlett_window(int64_t window_length, bool periodic, const TensorOptions& options); // bartlett_window(int64_t,bool,TensorOptions)->Tensor
  • Tensor blackman_window(int64_t window_length, const TensorOptions& options); // blackman_window(int64_t,TensorOptions)->Tensor
  • Tensor blackman_window(int64_t window_length, bool periodic, const TensorOptions& options); // blackman_window(int64_t,bool,TensorOptions)->Tensor
  • Tensor empty_like(const Tensor& self, const TensorOptions& options, c10::optional memory_format); // empty_like(Tensor,TensorOptions,c10::optional)->Tensor
  • Tensor eye(int64_t n, const TensorOptions& options); // eye(int64_t,TensorOptions)->Tensor
  • Tensor eye(int64_t n, int64_t m, const TensorOptions& options); // eye(int64_t,int64_t,TensorOptions)->Tensor
  • Tensor full(IntArrayRef size, Scalar fill_value, const TensorOptions& options); // full(IntArrayRef,Scalar,TensorOptions)->Tensor
  • Tensor full_like(const Tensor& self, Scalar fill_value, const TensorOptions& options, c10::optional memory_format); // full_like(Tensor,Scalar,TensorOptions,c10::optional)->Tensor
  • Tensor hamming_window(int64_t window_length, const TensorOptions& options); // hamming_window(int64_t,TensorOptions)->Tensor
  • Tensor hamming_window(int64_t window_length, bool periodic, const TensorOptions& options); // hamming_window(int64_t,bool,TensorOptions)->Tensor
  • Tensor hamming_window(int64_t window_length, bool periodic, double alpha, const TensorOptions& options); // hamming_window(int64_t,bool,double,TensorOptions)->Tensor
  • Tensor hamming_window(int64_t window_length, bool periodic, double alpha, double beta, const TensorOptions& options); // hamming_window(int64_t,bool,double,double,TensorOptions)->Tensor
  • Tensor hann_window(int64_t window_length, const TensorOptions& options); // hann_window(int64_t,TensorOptions)->Tensor
  • Tensor hann_window(int64_t window_length, bool periodic, const TensorOptions& options); // hann_window(int64_t,bool,TensorOptions)->Tensor
  • Tensor ones(IntArrayRef size, const TensorOptions& options); // ones(IntArrayRef,TensorOptions)->Tensor
  • Tensor ones_like(const Tensor& self, const TensorOptions& options, c10::optional memory_format); // ones_like(Tensor,TensorOptions,c10::optional)->Tensor
  • Tensor randperm(int64_t n, const TensorOptions& options); // randperm(int64_t,TensorOptions)->Tensor
  • Tensor randperm(int64_t n, Generator* generator, const TensorOptions& options); // randperm(int64_t,Generator,TensorOptions)->Tensor
  • Tensor zeros_like(const Tensor& self, c10::optional memory_format); // zeros_like(Tensor,c10::optional)->Tensor
  • Tensor zeros_like(const Tensor& self, const TensorOptions& options, c10::optional memory_format); // zeros_like(Tensor,TensorOptions,c10::optional)->Tensor

Metadata

Metadata

Labels

enhancementNew feature or requesthigh priorityIssues the team would like to fix quickly.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions