mindspore.dataset.audio.MaskAlongAxisIID
- class mindspore.dataset.audio.MaskAlongAxisIID(mask_param, mask_value, axis)[源代码]
对音频波形沿 axis 轴应用掩码。掩码的起始和长度由 [mask_start, mask_start + mask_width) 决定,其中 mask_width 从 uniform[0, mask_param] 中采样, mask_start 从 uniform[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
- 教程样例: