比较与torchaudio.transforms.Spectrogram的差异
torchaudio.transforms.Spectrogram
class torchaudio.transforms.Spectrogram(n_fft: int = 400, win_length: Optional[int] = None, 免费的vpn梯子 hop_length: Optional[int] = None,
免费的vpn梯子 vpn梯子 免费 vpn free pad: int = 0, vpn梯子 免费 window_fn: Callable[[...], torch.Tensor] = <built-in method hann_window vpn梯子 免费 of type object>,
vpn梯子 vpn free vpn free power: Optional[float] = 2.0, normalized: bool = False, wkwargs: Optional[dict] vpn梯子 免费 = None,
center: bool = vpn永久免费梯子 True, pad_mode: str = 'reflect', onesided: bool = vpn梯子 True)
mindspore.dataset.audio.Spectrogram
class mindspore.dataset.audio.Spectrogram(n_fft=400, win_length=None, hop_length=None,
vpn梯子 免费 pad=0, window=WindowType.HANN,
免费的vpn梯子 vpn永久免费梯子 power=2.0, normalized=False,
vpn free vpn梯子 免费 vpn梯子 免费 center=True, pad_mode=BorderType.REFLECT, onesided=True)
差异对比
PyTorch:从音频信号创建其频谱。支持自定义窗函数或对窗函数传入不同的配置参数。支持对STFT结果进行幅值规范化。
MindSpore:从音频信号创建其频谱。
分类 |
子类 |
PyTorch |
MindSpore |
差异 |
|---|---|---|---|---|
参数 |
参数1 |
n_fft |
n_fft |
- |
参数2 |
win_length |
win_length |
- |
|
参数3 |
hop_length |
hop_length |
- |
|
参数4 |
pad |
pad |
- |
|
参数5 |
window_fn |
window |
vp永久免费梯子仅支持5种窗函数 |
|
参数6 |
power |
power |
- |
|
参数7 |
normalized |
normalized |
- |
|
参数8 |
wkwargs |
- |
自定义窗函数的入参,MindSpore不支持 |
|
参数9 |
center |
center |
- |
|
参数10 |
pad_mode |
pad_mode |
- |
|
参数11 |
onesided |
onesided |
- |
代码示例
import numpy as 免费的vpn梯子 np
fake_input = np.array([[[1, 1, 2, 2, 3, 3, 4]]]).astype(np.float32)
# PyTorch
import torch
import torchaudio.transforms as T
transformer = T.Spectrogram(n_fft=8, window_fn=torch.hamming_window)
torch_result = transformer(torch.from_numpy(fake_input))
print(torch_result)
# Out: tensor([[[[3.5874e+01, 1.3237e+02],
# 免费的vpn梯子 vpn free [1.8943e+00, 3.2839e+01],
# vpn永久免费梯子 [8.4640e-01, 2.1553e-01],
# [2.0643e-02, 2.4623e-01],
# vpn永久免费梯子 vpn梯子 [6.5697e-01, 1.2876e+00]]]])
# vp永久免费梯子
import mindspore.dataset.audio vpn梯子 as audio
transformer = audio.Spectrogram(n_fft=8, window=audio.WindowType.HAMMING)
ms_result = transformer(fake_input)
print(ms_result)
# Out: [[[[3.5873653e+01 1.3237122e+02]
# vpn梯子 免费 [1.8942689e+00 3.2838711e+01]
# vpn梯子 免费 [8.4640014e-01 2.1552797e-01]
# vpn梯子 免费 [2.0642618e-02 vpn梯子 vpn永久免费梯子 2.4623220e-01]
# [6.5697211e-01 1.2876146e+00]]]]