mindspore.dataset.text.SlidingWindow

class mindspore.dataset.text.SlidingWindow(width, axis=0)[源代码]

在输入数据的某个维度上进行滑窗切分处理,当前仅支持处理1-D的Tensor。

参数:
  • width (int) - 窗口的宽度,它必须是整数并且大于零。

  • axis (int, 可选) - 计算滑动窗口的轴。默认值: 0

异常:
  • TypeError - 参数 width 的类型不为int。

  • ValueError - 参数 width 的值不为正数。

  • TypeError - 参数 axis 的类型不为int。

支持平台:

CPU

样例:

>>> import mindspore.dataset as ds
>>> import mindspore.dataset.text as text
>>>
>>> # Use the transform in dataset pipeline mode
>>> numpy_slices_dataset = ds.NumpySlicesDataset(data=[[1, 2, 3, 4, 5]], column_names=["col1"])
>>> # Data before
>>> # |     col1     |
>>> # +--------------+
>>> # | [[1, 2, 3, 4, 5]] |
>>> # +--------------+
>>> numpy_slices_dataset = numpy_slices_dataset.map(operations=text.SlidingWindow(3, 0))
>>> for item in numpy_slices_dataset.create_dict_iterator(num_epochs=1, output_numpy=True):
...     print(item["col1"])
[[1 2 3] [2 3 4] [3 4 5]]
>>> # Data after
>>> # |     col1     |
>>> # +--------------+
>>> # |  [[1, 2, 3], |
>>> # |   [2, 3, 4], |
>>> # |   [3, 4, 5]] |
>>> # +--------------+
>>>
>>> # Use the transform in eager mode
>>> data = ["happy", "birthday", "to", "you"]
>>> output = text.SlidingWindow(2, 0)(data)
>>> print(output)
[['happy' 'birthday'] ['birthday' 'to'] ['to' 'you']]
教程样例: