RuntimeError: torchaudio.sox

编程入门 行业动态 更新时间:2024-10-10 08:25:01

<a href=https://www.elefans.com/category/jswz/34/1766622.html style=RuntimeError: torchaudio.sox"/>

RuntimeError: torchaudio.sox

最近在训练数据集时,需要提取噪声的特征,代码如下:

 noise_waveform, noise_sr = torchaudio.sox_effects.apply_effects_file(noise_path, effects=[])

直接运行报错

Traceback (most recent call last):File "main.py", line 189, in <module>cli()File "C:\Users\Name\.conda\envs\deeplearning\lib\site-packages\click\core.py", line 1130, in __call__return self.main(*args, **kwargs)File "C:\Users\Name\.conda\envs\deeplearning\lib\site-packages\click\core.py", line 1055, in mainrv = self.invoke(ctx)File "C:\Users\Name\.conda\envs\deeplearning\lib\site-packages\click\core.py", line 1657, in invokereturn _process_result(sub_ctxmand.invoke(sub_ctx))File "C:\Users\Name\.conda\envs\deeplearning\lib\site-packages\click\core.py", line 1404, in invokereturn ctx.invoke(self.callback, **ctx.params)File "C:\Users\Name\.conda\envs\deeplearning\lib\site-packages\click\core.py", line 760, in invokereturn __callback(*args, **kwargs)File "main.py", line 70, in train_commandget_data.SubsetSC(subset="training"),File "D:\Project\Python project\BC-ResNet-main\get_data.py", line 92, in __init__noise_waveform, noise_sr = torchaudio.sox_effects.apply_effects_file(noise_path, effects=[])File "C:\Users\Name\.conda\envs\deeplearning\lib\site-packages\torchaudio\_internal\module_utils.py", line 143, in wrappedraise RuntimeError(f"{func.__module__}.{func.__name__} requires sox")

利用Debug工具发现调用了torch.ops.torchaudio.sox_effects_apply_effects_file这个函数

    if not torch.jit.is_scripting():if hasattr(path, "read"):return torchaudio._torchaudio.apply_effects_fileobj(path, effects, normalize, channels_first, format)path = os.fspath(path)return torch.ops.torchaudio.sox_effects_apply_effects_file(path, effects, normalize, channels_first, format)

实际上torch.ops中并没有torchaudio,所以考虑可能是后面的版本并不支持这样操作,因为实际上我只需要得到噪声的wave以及采样率,所以可以直接调用torchaudio来操作,将代码改成以下这样:

# noise_waveform, noise_sr = torchaudio.sox_effects.apply_effects_file(noise_path, effects=[]) 不使用这个函数提取
noise_waveform, noise_sr= torchaudio.load(noise_path)

至此,问题解决。
总结:
有一些代码是过时或者依赖版本的,只有搞清楚代码在做什么事,善用debug工具才能更快解决问题。

更多推荐

RuntimeError: torchaudio.sox

本文发布于:2024-02-07 08:16:14,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1755026.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:RuntimeError   torchaudio   sox

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!