mindspore.ops.SpaceToDepth

class mindspore.ops.SpaceToDepth(block_size)[源代码]

将空间维度分块,增加Tensor深度。

输出Tensor的高度为 height/block_size

输出Tensor的宽度为 weight/block_size

输出Tensor的深度为 block_sizeblock_sizeinput_depth

输入Tensor的高度和宽度必须可被 block_size 整除。格式为"NCHW"(batch_size,深度,高度,宽度)。

参数:
  • block_size (int) - 用于划分空间维度的子块的大小。必须>=2。

输入:
  • x (Tensor) - 四维Tensor。数据类型为Number。

输出:

四维Tensor,数据类型与 x 相同,shape: (N,(Cinblock_size2),Hin/block_size,Win/block_size)

异常:
  • TypeError - block_size 不是int类型。

  • ValueError - block_size 小于2。

  • ValueError - x 的维度不为4。

支持平台:

Ascend GPU CPU

样例:

>>> import mindspore
>>> import numpy as np
>>> from mindspore import Tensor, ops
>>> x = Tensor(np.random.rand(1,3,2,2), mindspore.float32)
>>> block_size = 2
>>> space_to_depth = ops.SpaceToDepth(block_size)
>>> output = space_to_depth(x)
>>> print(output.shape)
(1, 12, 1, 1)