fix typo in adaptive methods annotation (#20306)

Summary:
fixes #20215
The confusing behavior was caused by typos in type annotation :(
Pull Request resolved: https://github.com/pytorch/pytorch/pull/20306

Differential Revision: D15276216

Pulled By: ailzhang

fbshipit-source-id: 1b0c9635a72a05c9b537f80d85b117b5077fbec7
This commit is contained in:
Ailing Zhang 2019-05-09 09:10:18 -07:00 committed by Facebook Github Bot
parent 83a80d2b31
commit 899bddeeb6
5 changed files with 20 additions and 23 deletions

View File

@ -143,9 +143,8 @@ void adaptive_max_pool2d_out_cpu_template(
AT_CHECK((input.ndimension() == 3 || input.ndimension() == 4),
"non-empty 3D or 4D (batch mode) tensor expected for input");
// Issue #20215: the JIT sometimes passes output_size.size() == 1.
AT_CHECK(output_size.size() == 1 || output_size.size() == 2,
"adaptive_max_pool2d: internal error: output_size.size() must be 1 or 2");
AT_CHECK(output_size.size() == 2,
"adaptive_max_pool2d: internal error: output_size.size() must be 2");
if (input.ndimension() == 4)
{
@ -165,7 +164,7 @@ void adaptive_max_pool2d_out_cpu_template(
istrideW = input.stride(dimW);
int64_t osizeH = output_size[0];
int64_t osizeW = output_size.size() == 1 ? output_size[0] : output_size[1];
int64_t osizeW = output_size[1];
/* resize output */
if (input.ndimension() == 3)
@ -367,6 +366,7 @@ std::tuple<Tensor, Tensor> adaptive_max_pool2d_cpu(
{
Tensor output = at::empty({0}, input.options());
Tensor indices = at::empty({0}, input.options().dtype(kLong));
AT_ASSERT(output_size.size() == 2);
adaptive_max_pool2d_out_cpu_template(
output,
indices,

View File

@ -165,9 +165,8 @@ void adaptive_max_pool3d_out_cpu_template(
AT_CHECK((input.ndimension() == 4 || input.ndimension() == 5),
"non-empty 4D or 5D (batch mode) tensor expected for input");
// Issue #20215: the JIT sometimes passes output_size.size() == 1.
AT_CHECK(output_size.size() == 1 || output_size.size() == 3,
"adaptive_max_pool3d: internal error: output_size.size() must be 1 or 3");
AT_CHECK(output_size.size() == 3,
"adaptive_max_pool3d: internal error: output_size.size() must be 3");
if (input.ndimension() == 5)
{
@ -191,8 +190,8 @@ void adaptive_max_pool3d_out_cpu_template(
istrideW = input.stride(dimW);
int64_t osizeT = output_size[0];
int64_t osizeH = output_size.size() == 1 ? output_size[0] : output_size[1];
int64_t osizeW = output_size.size() == 1 ? output_size[0] : output_size[2];
int64_t osizeH = output_size[1];
int64_t osizeW = output_size[2];
/* resize output */
if (input.ndimension() == 4)

View File

@ -213,12 +213,11 @@ void adaptive_max_pool2d_out_cuda_template(
AT_CHECK((input.ndimension() == 3 || input.ndimension() == 4),
"non-empty 3D or 4D (batch mode) tensor expected for input");
// Issue #20215: the JIT sometimes passes output_size.size() == 1.
AT_CHECK(output_size.size() == 1 || output_size.size() == 2,
"adaptive_max_pool2d: internal error: output_size.size() must be 1 or 2");
AT_CHECK(output_size.size() == 2,
"adaptive_max_pool2d: internal error: output_size.size() must be 2");
int64_t osizeH = output_size[0];
int64_t osizeW = output_size.size() == 1 ? output_size[0] : output_size[1];
int64_t osizeW = output_size[1];
if (input.ndimension() == 3) {
int64_t sizeD = input.size(0);
@ -288,7 +287,7 @@ void adaptive_max_pool2d_out_cuda_template(
indices_data,
isizeH, isizeW, osizeH, osizeW,
istrideD, istrideH, istrideW);
}
}
);
THCudaCheck(cudaGetLastError());

View File

@ -316,13 +316,12 @@ void adaptive_max_pool3d_out_cuda_template(
AT_CHECK((input_.ndimension() == 4 || input_.ndimension() == 5),
"non-empty 4D or 5D (batch mode) tensor expected for input");
// Issue #20215: the JIT sometimes passes output_size.size() == 1.
AT_CHECK(output_size.size() == 1 || output_size.size() == 3,
"adaptive_max_pool3d: internal error: output_size.size() must be 1 or 3");
AT_CHECK(output_size.size() == 3,
"adaptive_max_pool3d: internal error: output_size.size() must be 3");
int64_t osizeT = output_size[0];
int64_t osizeH = output_size.size() == 1 ? output_size[0] : output_size[1];
int64_t osizeW = output_size.size() == 1 ? output_size[0] : output_size[2];
int64_t osizeH = output_size[1];
int64_t osizeW = output_size[2];
int64_t sizeD, isizeT, isizeH, isizeW;
int64_t istrideD, istrideT, istrideH, istrideW;

View File

@ -697,7 +697,7 @@ adaptive_max_pool1d = torch._jit_internal.boolean_dispatch(
@weak_script
def adaptive_max_pool2d_with_indices(input, output_size, return_indices=False):
# type: (Tensor, BroadcastingList1[int], bool) -> Tuple[Tensor, Tensor]
# type: (Tensor, BroadcastingList2[int], bool) -> Tuple[Tensor, Tensor]
r"""Applies a 2D adaptive max pooling over an input signal composed of
several input planes.
@ -714,7 +714,7 @@ def adaptive_max_pool2d_with_indices(input, output_size, return_indices=False):
@weak_script
def _adaptive_max_pool2d(input, output_size, return_indices=False):
# type: (Tensor, BroadcastingList1[int], bool) -> Tensor
# type: (Tensor, BroadcastingList2[int], bool) -> Tensor
return adaptive_max_pool2d_with_indices(input, output_size)[0]
adaptive_max_pool2d = torch._jit_internal.boolean_dispatch(
@ -729,7 +729,7 @@ adaptive_max_pool2d = torch._jit_internal.boolean_dispatch(
@weak_script
def adaptive_max_pool3d_with_indices(input, output_size, return_indices=False):
# type: (Tensor, BroadcastingList1[int], bool) -> Tuple[Tensor, Tensor]
# type: (Tensor, BroadcastingList3[int], bool) -> Tuple[Tensor, Tensor]
r"""Applies a 3D adaptive max pooling over an input signal composed of
several input planes.
@ -746,7 +746,7 @@ def adaptive_max_pool3d_with_indices(input, output_size, return_indices=False):
@weak_script
def _adaptive_max_pool3d(input, output_size, return_indices=False):
# type: (Tensor, BroadcastingList1[int], bool) -> Tensor
# type: (Tensor, BroadcastingList3[int], bool) -> Tensor
return adaptive_max_pool3d_with_indices(input, output_size)[0]
adaptive_max_pool3d = torch._jit_internal.boolean_dispatch(