mindspore.ops.SpaceToDepth

class mindspore.ops.SpaceToDepth(block_size)[source]

Rearrange blocks of spatial data into depth.

The output tensor's height dimension is height/block_size.

The output tensor's weight dimension is weight/block_size.

The depth of output tensor is block_sizeblock_sizeinput_depth.

The input tensor's height and width must be divisible by block_size. The data format is "NCHW".

Parameters

block_size (int) – The block size used to divide spatial data. It must be >= 2.

Inputs:
  • x (Tensor) - The target tensor. The data type is Number. It must be a 4-D tensor.

Outputs:

Tensor, the same data type as x. It must be a 4-D tensor. Tensor of shape (N,(Cinblock_size2),Hin/block_size,Win/block_size).

Raises
  • TypeError – If block_size is not an int.

  • ValueError – If block_size is less than 2.

  • ValueError – If length of shape of x is not equal to 4.

Supported Platforms:

Ascend GPU CPU

Examples

>>> 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)