mindspore.dataset.audio.MaskAlongAxisIID

查看源文件
class mindspore.dataset.audio.MaskAlongAxisIID(mask_param, mask_value, axis)[源代码]

对音频波形沿 axis 轴应用掩码。掩码的起始和长度由 [mask_start, mask_start + mask_width) 决定,其中 mask_widthuniform[0, mask_param] 中采样, mask_startuniform[0, max_length - mask_width] 中采样, max_length 是光谱图中特定轴的列数。

参数:
  • mask_param (int) - 要屏蔽的列数,将从[0, mask_param]统一采样,必须是非负数。

  • mask_value (float) - 填充到掩码区间的值。

  • axis (int) - 要应用掩码的轴( 1 表示频率, 2 表示时间)。

异常:
  • TypeError - 当 mask_param 的类型不为int。

  • ValueError - 当 mask_param 为负数。

  • TypeError - 当 mask_value 的类型不为float。

  • TypeError - 当 axis 的类型不为int。

  • ValueError - 当 axis 取值不在[1, 2]范围内。

  • RuntimeError - 当输入音频的shape不为<…, freq, time>。

支持平台:

CPU

样例:

>>> import numpy as np
>>> import mindspore.dataset as ds
>>> import mindspore.dataset.audio as audio
>>>
>>> # Use the transform in dataset pipeline mode
>>> waveform= np.random.random([5, 20, 20])  # 5 samples
>>> numpy_slices_dataset = ds.NumpySlicesDataset(data=waveform, column_names=["audio"])
>>> transforms = [audio.MaskAlongAxisIID(5, 0.5, 2)]
>>> numpy_slices_dataset = numpy_slices_dataset.map(operations=transforms, input_columns=["audio"])
>>> for item in numpy_slices_dataset.create_dict_iterator(num_epochs=1, output_numpy=True):
...     print(item["audio"].shape, item["audio"].dtype)
...     break
(20, 20) float64
>>>
>>> # Use the transform in eager mode
>>> waveform = np.random.random([20, 20])  # 1 sample
>>> output = audio.MaskAlongAxisIID(5, 0.5, 2)(waveform)
>>> print(output.shape, output.dtype)
(20, 20) float64
教程样例: