mindspore/docs/api/api_python/ops/mindspore.ops.func_interpol...

72 lines
5.3 KiB
ReStructuredText
Raw Normal View History

2022-06-26 17:24:43 +08:00
mindspore.ops.interpolate
=========================
2023-02-07 21:39:36 +08:00
.. py:function:: mindspore.ops.interpolate(x, size=None, scale_factor=None, mode="nearest", align_corners=None, recompute_scale_factor=None)
2022-06-26 17:24:43 +08:00
2023-02-07 21:39:36 +08:00
按照给定的 `size``scale_factor` 根据 `mode` 设置的插值方式,对输入 `x` 调整大小。
2022-06-26 17:24:43 +08:00
2022-07-25 17:18:38 +08:00
参数:
2023-02-07 21:39:36 +08:00
- **x** (Tensor) - 被调整大小的Tensor。输入向量必须为3维4维或5维形状为 `(batch, channels, [optional depth], [optional height], width)` 数据类型为float。
- **size** (Union[int, tuple[int], list[int]], 可选) - 目标大小。如果 `size` 为tuple或list那么其长度应该和 `x` 维度相同。 `size``scale_factor` 同时只能指定一个。默认值None。
- **scale_factor** (Union[float, tuple[float], list[float]],可选) - 每个维度的缩放系数。 `scales` 中的数全是正数。 `size``scale_factor` 同时只能指定一个。默认值None。
- **mode** (str) - 采样算法。以下采样方式的一种,'nearest', 'linear' (仅三维)'bilinear' (仅四维)'bicubic' (仅四维)'trilinear' (仅五维)'area''nearest-exact'(三维和四维)。默认值:'nearest'。
- **align_corners** (bool) - 如果为True缩放比例系数使用 `(new\_height - 1) / (height - 1)` 计算此种方式调整的数据与原始数据边角对齐。如果为False缩放系数通过 `new\_height / height` 计算。
2022-06-26 17:24:43 +08:00
2022-07-25 17:18:38 +08:00
.. code-block::
2022-07-09 15:45:57 +08:00
old_i = new_length != 1 ? new_i * (old_length - 1) / (new_length - 1) : 0 # 'align_corners' 为 True
2023-02-07 21:39:36 +08:00
old_i = new_length > 1 ? (new_x + 0.5) * old_length / new_length - 0.5 : 0 # 'align_corners' 为 False
此选项只对'linear'、'bilinear'、'bicubic'和'trilinear'模式有效。默认值False。
- **recompute_scale_factor** (bool, 可选) - 重计算 `scale_factor` 。如果为True会使用参数 `scale_factor` 计算参数 `size`,最终使用 `size` 的值进行缩放。如果为False将使用 `size``scale_factor` 直接进行插值。默认值None。
2022-07-09 15:45:57 +08:00
2023-02-07 21:39:36 +08:00
参数支持列表和支持平台:
2022-07-09 15:45:57 +08:00
2023-02-07 21:39:36 +08:00
+----------------+------+----------------+---------------+------------------+
2023-03-01 16:16:00 +08:00
| mode | x.dim| align_corners | scale_factor | device |
2023-02-07 21:39:36 +08:00
+================+======+================+===============+==================+
| nearest | 3 | \- | × | Ascend,GPU,CPU |
+----------------+------+----------------+---------------+------------------+
| | 4 | \- | × | Ascend,GPU,CPU |
+----------------+------+----------------+---------------+------------------+
| | 5 | \- | √ | GPU,CPU |
+----------------+------+----------------+---------------+------------------+
| linear | 3 | √ | × | GPU,CPU |
+----------------+------+----------------+---------------+------------------+
| bilinear | 4 | √ | × | Ascend,GPU,CPU |
+----------------+------+----------------+---------------+------------------+
| trilinear | 5 | √ | √ | GPU,CPU |
+----------------+------+----------------+---------------+------------------+
| bicubic | 4 | √ | × | GPU,CPU |
+----------------+------+----------------+---------------+------------------+
| area | 3 | \- | √ | Ascend,GPU,CPU |
+----------------+------+----------------+---------------+------------------+
| | 4 | \- | √ | GPU |
+----------------+------+----------------+---------------+------------------+
| | 5 | \- | √ | GPU,CPU |
+----------------+------+----------------+---------------+------------------+
| nearest-exact | 3 | \- | × | Ascend,CPU |
+----------------+------+----------------+---------------+------------------+
| | 4 | \- | × | Ascend,CPU |
+----------------+------+----------------+---------------+------------------+
2022-07-09 15:45:57 +08:00
2023-02-07 21:39:36 +08:00
- `-` 表示无此参数。
- `×` 表示当前不支持此参数。
- `√` 表示当前支持此参数。
2022-07-09 15:45:57 +08:00
2022-07-25 17:18:38 +08:00
返回:
2023-02-07 21:39:36 +08:00
调整大小之后的Tensor维度和数据类型与 `x` 相同。
2022-06-26 17:24:43 +08:00
2022-07-25 17:18:38 +08:00
异常:
- **TypeError** - `x` 不是Tensor。
- **ValueError** - `size``scale_factor` 都不为空。
- **ValueError** - `size``scale_factor` 都为空。
- **ValueError** - `size` 为元组或列表类型时长度不等于 `x.ndim - 2`
- **ValueError** - `scale_factor` 为元组或列表类型时长度不等于 `x.ndim - 2`
- **ValueError** - `mode` 不在模式支持列表中。
- **ValueError** - `x.ndim` 不在模式对应维度的支持列表中。
- **ValueError** - `size` 不为空, `recompute_scale_factor` 不为空。
- **ValueError** - `scale_factor` 不在对应的支持列表中。
- **ValueError** - `align_corners` 不在对应的支持列表中。