diff --git a/aten/src/ATen/native/TensorShape.cpp b/aten/src/ATen/native/TensorShape.cpp index faf113436fc..c66ff757641 100644 --- a/aten/src/ATen/native/TensorShape.cpp +++ b/aten/src/ATen/native/TensorShape.cpp @@ -3610,11 +3610,11 @@ Tensor& transpose_(Tensor& self, int64_t dim0, int64_t dim1) { return at::_mkldnn_transpose_(self, dim0, dim1); } - DimVector sizes(self.sizes().begin(), self.sizes().end()); - DimVector strides(self.strides().begin(), self.strides().end()); - std::swap(strides[dim0], strides[dim1]); + SymDimVector sizes(self.sym_sizes().begin(), self.sym_sizes().end()); std::swap(sizes[dim0], sizes[dim1]); - self.as_strided_(sizes, strides); + SymDimVector strides(self.sym_strides().begin(), self.sym_strides().end()); + std::swap(strides[dim0], strides[dim1]); + auto result = self.as_strided__symint(std::move(sizes), std::move(strides)); return self; } diff --git a/test/functorch/test_aotdispatch.py b/test/functorch/test_aotdispatch.py index 5f81fa4ba40..bcf99f6a663 100644 --- a/test/functorch/test_aotdispatch.py +++ b/test/functorch/test_aotdispatch.py @@ -6557,7 +6557,6 @@ symbolic_aot_autograd_failures = { "linalg.householder_product", decorator=unittest.skipIf(IS_MACOS and IS_X86, "flaky"), ), - xfail("stft", ""), # Cannot call sizes() on tensor with symbolic sizes/strides }