nn.AdaptiveAvgPool1d and nn.AdaptiveMaxPool1d does not support input dtype float64.

This commit is contained in:
fujianzhao 2022-05-27 11:34:14 +08:00
parent d7deca2848
commit 59aa342c82
3 changed files with 16 additions and 10 deletions

View File

@ -17,7 +17,7 @@ mindspore.nn.AdaptiveAvgPool1d
**输入:** **输入:**
- **x** (Tensor) - shape为 :math:`(N, C_{in}, L_{in})` 的Tensor数据类型为float16float32或float64 - **x** (Tensor) - shape为 :math:`(N, C_{in}, L_{in})` 的Tensor数据类型为float16或float32
**输出:** **输出:**
@ -26,7 +26,7 @@ mindspore.nn.AdaptiveAvgPool1d
**异常:** **异常:**
- **TypeError** - `output_size` 不是int。 - **TypeError** - `output_size` 不是int。
- **TypeError** - `x` 不是float16或float32或float64 - **TypeError** - `x` 不是float16或float32。
- **ValueError** - `output_size` 小于1。 - **ValueError** - `output_size` 小于1。
- **ValueError** - `x` 的shape长度不等于3。 - **ValueError** - `x` 的shape长度不等于3。
- **ValueError** - `x` 的最后一个维度小于 `output_size` - **ValueError** - `x` 的最后一个维度小于 `output_size`

View File

@ -17,7 +17,7 @@ mindspore.nn.AdaptiveMaxPool1d
**输入:** **输入:**
- **x** (Tensor) - shape为 :math:`(N, C_{in}, L_{in})` 的Tensor数据类型为float16float32或float64 - **x** (Tensor) - shape为 :math:`(N, C_{in}, L_{in})` 的Tensor数据类型为float16或float32
**输出:** **输出:**
@ -25,7 +25,7 @@ mindspore.nn.AdaptiveMaxPool1d
**异常:** **异常:**
- **TypeError** - `x` 不是float16或float32或float64 - **TypeError** - `x` 不是float16或float32。
- **TypeError** - `output_size` 不是int。 - **TypeError** - `output_size` 不是int。
- **ValueError** - `output_size` 小于1。 - **ValueError** - `output_size` 小于1。
- **ValueError** - `x` 的最后一个维度小于 `output_size` - **ValueError** - `x` 的最后一个维度小于 `output_size`

View File

@ -421,8 +421,8 @@ def _adaptive_shape_check(in_shape, output_size, prim_name):
@constexpr @constexpr
def _adaptive_dtype_check(x_dtype, prim_name): def _adaptive_dtype_check(x_dtype, prim_name):
"""Check dtype.""" """Check dtype."""
if x_dtype not in [mstype.float16, mstype.float32, mstype.float64]: if x_dtype not in [mstype.float16, mstype.float32]:
raise TypeError("For {}, the x_dtype must be float16, float32 or float64, " raise TypeError("For {}, the x_dtype must be float16 or float32, "
"but got {}.".format(prim_name, x_dtype)) "but got {}.".format(prim_name, x_dtype))
@ -445,14 +445,14 @@ class AdaptiveAvgPool1d(Cell):
output_size (int): the target output size :math:`L_{out}`. output_size (int): the target output size :math:`L_{out}`.
Inputs: Inputs:
- **x** (Tensor) - Tensor of shape :math:`(N, C_{in}, L_{in})`, with float16, float32 or float64 data type. - **x** (Tensor) - Tensor of shape :math:`(N, C_{in}, L_{in})`, with float16 or float32 data type.
Outputs: Outputs:
Tensor of shape :math:`(N, C_{in}, L_{out})`, has the same type as `x`. Tensor of shape :math:`(N, C_{in}, L_{out})`, has the same type as `x`.
Raises: Raises:
TypeError: If `output_size` is not an int. TypeError: If `output_size` is not an int.
TypeError: If `x` is neither float16 nor float32 nor float64. TypeError: If `x` is neither float16 nor float32.
ValueError: If `output_size` is less than 1. ValueError: If `output_size` is less than 1.
ValueError: If length of shape of `x` is not equal to 3. ValueError: If length of shape of `x` is not equal to 3.
ValueError: If the last dimension of `x` is smaller than `output_size`. ValueError: If the last dimension of `x` is smaller than `output_size`.
@ -463,6 +463,9 @@ class AdaptiveAvgPool1d(Cell):
``Ascend`` ``GPU`` ``CPU`` ``Ascend`` ``GPU`` ``CPU``
Examples: Examples:
>>> import mindspore
>>> from mindspore import Tensor, nn
>>> import numpy as np
>>> pool = nn.AdaptiveAvgPool1d(output_size=2) >>> pool = nn.AdaptiveAvgPool1d(output_size=2)
>>> x = Tensor(np.random.randint(0, 10, [1, 3, 6]), mindspore.float32) >>> x = Tensor(np.random.randint(0, 10, [1, 3, 6]), mindspore.float32)
>>> output = pool(x) >>> output = pool(x)
@ -519,13 +522,13 @@ class AdaptiveMaxPool1d(Cell):
output_size (int): the target output size :math:`L_{out}`. output_size (int): the target output size :math:`L_{out}`.
Inputs: Inputs:
- **x** (Tensor) - Tensor of shape :math:`(N, C_{in}, L_{in})`, with float16, float32 or float64 data type. - **x** (Tensor) - Tensor of shape :math:`(N, C_{in}, L_{in})`, with float16 or float32 data type.
Outputs: Outputs:
Tensor of shape :math:`(N, C_{in}, L_{out})`, has the same type as `x`. Tensor of shape :math:`(N, C_{in}, L_{out})`, has the same type as `x`.
Raises: Raises:
TypeError: If `x` is neither float16 nor float32 nor float64. TypeError: If `x` is neither float16 nor float32.
TypeError: If `output_size` is not an int. TypeError: If `output_size` is not an int.
ValueError: If `output_size` is less than 1. ValueError: If `output_size` is less than 1.
ValueError: If the last dimension of `x` is smaller than `output_size`. ValueError: If the last dimension of `x` is smaller than `output_size`.
@ -537,6 +540,9 @@ class AdaptiveMaxPool1d(Cell):
``Ascend`` ``GPU`` ``CPU`` ``Ascend`` ``GPU`` ``CPU``
Examples: Examples:
>>> import mindspore
>>> from mindspore import Tensor, nn
>>> import numpy as np
>>> pool = nn.AdaptiveMaxPool1d(output_size=3) >>> pool = nn.AdaptiveMaxPool1d(output_size=3)
>>> x = Tensor(np.random.randint(0, 10, [1, 3, 6]), mindspore.float32) >>> x = Tensor(np.random.randint(0, 10, [1, 3, 6]), mindspore.float32)
>>> output = pool(x) >>> output = pool(x)